| 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. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
{- "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
}
]
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
required | object (v2Application) Applications are logical groupings of services that are related to each other, typically within a trusted group. A common example are three tier applications composed of a frontend, a backend and a datastore service. Applications are often consumed through APIs, and a single Application can expose one or more of those APIs. These APIs will define the hostnames that are exposed and the methods exposed in each hostname.
|
| name required | string The short name for the resource to be created. |
{- "application": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
]
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| 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. |
{- "description": "string",
- "displayName": "string",
- "etag": "string",
- "gatewayGroup": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "services": [
- "string"
], - "workspace": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| forceDeleteProtectedGroups | boolean Force the deletion of internal groups even if they are protected against deletion. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
{- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- null
], - "tokenBucket": {
- "maxTokens": null,
- "tokensPerFill": null,
- "fillInterval": null
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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": [ ]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- null
], - "tokenBucket": {
- "maxTokens": null,
- "tokensPerFill": null,
- "fillInterval": null
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": null
}, - "pluginSource": {
- "configMap": null
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": null,
- "configMap": null
}, - "pluginSource": {
- "configMap": null
}
}
]
}
}
}
]
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
required | object (tsbapplicationv2API) API objects define a set of servers and endpoints that expose the business logic for an Application. APIs are attached to existing Applications to configure how the features exposed by the different services that are part of the Application can be accessed. The format used to define APIs is based on the OpenAPI v3 spec. Users can attach OpenAPI documents to the applications, and Service Bridge will generate all the configuration that is needed to make the APIs available. Service Bridge also provides a set of custom extensions to the OpenAPI spec that can be used to further customize the APIs in those cases where the standard OpenAPI properties are not sufficient. The following example shows how an API can be attached to an existing application:
|
| name required | string The short name for the resource to be created. |
{- "api": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "openapi": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| api required | string Api name. |
{- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
]
}| name required | string The name of the dashboard to download. |
{- "contentType": "string",
- "data": "string",
- "extensions": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
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. |
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
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. |
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| 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. |
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "output": "string",
- "outputFormat": "JSON"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| 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. |
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string",
- "property1": null,
- "property2": null
}
]
}, - "result": {
- "output": "string"
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| 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 |
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}| organization required | string Organization name. |
{- "extensions": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "allowedIn": [
- "string"
], - "image": "string",
- "source": "string",
- "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "config": { },
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}, - "url": "string",
- "match": {
- "mode": "UNDEFINED"
}
}
]
}| organization required | string Organization name. |
| name required | string The short name for the resource to be created. |
required | object (v2WasmExtension) The WASM extension resource allows defining custom WASM extensions that are packaged in OCI images. The resource allows specifying extension metadata that helps understand how extensions work and how they can be used. Once defined, extensions can be referenced in Ingress and Egress Gateways and Security Groups so that traffic is captured and processed by the extension accordingly. By default, extensions are globally available, but they can be assigned to specific Tenants as well to further control and constraint where in the Organization the extensions are allowed to be used.
WASM extensions can also reference HTTP endpoints:
|
{- "name": "string",
- "wasmExtension": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "allowedIn": [
- "string"
], - "image": "string",
- "source": "string",
- "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "config": { },
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}, - "url": "string",
- "match": {
- "mode": "UNDEFINED"
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "allowedIn": [
- "string"
], - "image": "string",
- "source": "string",
- "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "config": { },
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}, - "url": "string",
- "match": {
- "mode": "UNDEFINED"
}
}| organization required | string Organization name. |
| extension required | string Extension name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "allowedIn": [
- "string"
], - "image": "string",
- "source": "string",
- "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "config": { },
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}, - "url": "string",
- "match": {
- "mode": "UNDEFINED"
}
}| organization required | string Organization name. |
| extension required | string Extension name. |
| allowedIn | Array of strings List of fqns where this extension is allowed to run. If it is empty, the extension can be used across the entire organization. Currently only Tenant resources are considered. |
| config | object Configuration parameters sent to the WASM plugin execution The configuration can be overwritten when instantiating the extensions in IngressGateways or Security groups. The config is serialized using proto3 JSON marshaling and passed to proxy_on_configure when the host environment starts the plugin. |
| description | string (A description of the extension.
$hide_from_yaml) |
| displayName | string (User friendly name for the extension.
$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) |
| image | string Deprecated. Use the |
| imagePullPolicy | string (WasmExtensionPullPolicy) Default: "UNSPECIFIED_POLICY" Enum: "UNSPECIFIED_POLICY" "IfNotPresent" "Always" The pull behaviour to be applied when fetching a WASM module, mirroring K8s behaviour.
|
| imagePullSecret | string Credentials to use for OCI image pulling.
Name of a K8s Secret that contains a docker pull secret which is to be used
to authenticate against the registry when pulling the image.
If TSB is configured to use the WASM download proxy, this secret must exist in
the |
object (v2GlobalTrafficSelector) GlobalTrafficSelector provides a mechanism to select a specific traffic flow for which this Wasm Extension will be enabled. This setting applies to all WASM Extension attachments. These selectors can be overridden at attachments. When all the sub conditions in the TrafficSelector are satisfied, the traffic will be selected. | |
| phase | string (Plugin phases following Istio definition: https://istio.io/latest/docs/reference/config/proxy_extensions/wasm-plugin/#PluginPhase) Default: "UNSPECIFIED_PHASE" Enum: "UNSPECIFIED_PHASE" "AUTHN" "AUTHZ" "STATS"
|
| priority | integer <int32> Determines the ordering of WasmExtensions in the same phase. When multiple WasmExtensions are applied to the same workload in the same phase, they will be applied by priority, in descending order. If no priority is assigned it will use the default 0 value. In case of several extensions having the same priority in the same phase, the fqn will be used to sort them. |
| source | string (Source to find the code for the WASM extension) |
| url required | string URL of a Wasm module or OCI container. If no scheme is present, defaults to oci://, referencing an OCI image. Other valid schemes are file:// for referencing .wasm module files present locally within the proxy container, and http[s]:// for .wasm module files hosted remotely. |
object (v2VmConfig) Configuration for a Wasm VM. more details can be found here. |
{- "allowedIn": [
- "string"
], - "config": { },
- "description": "string",
- "displayName": "string",
- "etag": "string",
- "image": "string",
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "match": {
- "mode": "UNDEFINED"
}, - "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "source": "string",
- "url": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "allowedIn": [
- "string"
], - "image": "string",
- "source": "string",
- "phase": "UNSPECIFIED_PHASE",
- "priority": 0,
- "config": { },
- "imagePullPolicy": "UNSPECIFIED_POLICY",
- "imagePullSecret": "string",
- "vmConfig": {
- "env": [
- {
- "name": "string",
- "valueFrom": "INLINE",
- "value": "string"
}
]
}, - "url": "string",
- "match": {
- "mode": "UNDEFINED"
}
}| organization required | string Organization name. |
| extension required | string Extension name. |
{ }| organization required | string Organization name. |
{- "templates": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "deletionProtectionEnabled": true,
- "priority": 0,
- "environmentSelector": {
- "provider": "string"
}, - "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "allClustersSelector": true,
- "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": null,
- "fieldPath": null
}, - "resourceFieldRef": {
- "containerName": null,
- "resource": null,
- "divisor": null
}, - "configMapKeyRef": {
- "localObjectReference": null,
- "key": null,
- "optional": null
}, - "secretKeyRef": {
- "localObjectReference": null,
- "key": null,
- "optional": null
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- null
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": null,
- "preference": null
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": null,
- "podAffinityTerm": null
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": null,
- "podAffinityTerm": null
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": null,
- "metricName": null,
- "targetValue": null,
- "selector": null,
- "averageValue": null
}, - "pods": {
- "metricName": null,
- "targetAverageValue": null,
- "selector": null
}, - "resource": {
- "name": null,
- "targetAverageUtilization": null,
- "targetAverageValue": null,
- "target": null
}, - "external": {
- "metricName": null,
- "metricSelector": null,
- "targetValue": null,
- "targetAverageValue": null
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
}
]
}| organization required | string Organization name. |
| name required | string The short name for the resource to be created. |
required | object (:::warning Alpha early access
The install gateway template feature is in an early access alpha state. Before trying this in a
non production environment, please reach out to Tetrate first.
:::) An InstallGatewayTemplate defines a configuration template for installing gateways in TSB.
It allows specifying gateway configurations that will be applied to gateways created in a defined part
of the infrastructure determined by selectors that match attributes such as provider, labels, or cluster names.
The following example creates an InstallGatewayTemplate named
Another example creates an InstallGatewayTemplate named
|
{- "name": "string",
- "template": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "deletionProtectionEnabled": true,
- "priority": 0,
- "environmentSelector": {
- "provider": "string"
}, - "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "allClustersSelector": true,
- "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": null
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": null
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [ ],
- "matchFields": [ ]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [ ],
- "matchFields": [ ]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": null,
- "name": null,
- "apiVersion": null
}, - "metricName": "string",
- "targetValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "selector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "selector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "target": {
- "type": null,
- "averageUtilization": null,
- "averageValue": null,
- "value": null
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "targetValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "deletionProtectionEnabled": true,
- "priority": 0,
- "environmentSelector": {
- "provider": "string"
}, - "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "allClustersSelector": true,
- "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "value": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
}| organization required | string Organization name. |
| installgatewaytemplate required | string Installgatewaytemplate name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "deletionProtectionEnabled": true,
- "priority": 0,
- "environmentSelector": {
- "provider": "string"
}, - "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "allClustersSelector": true,
- "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "value": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
}| organization required | string Organization name. |
| installgatewaytemplate required | string Installgatewaytemplate name. |
| allClustersSelector | boolean Selects all the onboarded clusters on TSB. |
object (v2ClusterSelector) A template selector based on Cluster details. | |
| deletionProtectionEnabled | boolean When set, prevents the resource from being deleted. In order to delete the resource this
property needs to be set to |
| description | string (A description of the resource.
$hide_from_yaml) |
| displayName | string (User friendly name for the resource.
$hide_from_yaml) |
object (A template selector based on environment details, such as the cloud provider (e.g GKE, EKS, AKS...)) | |
| 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) |
required | object (gatewayv2GatewaySpec) GatewaySpec contains the desired state of the Gateway. |
object (tsbgatewayv2WorkloadSelector) A template selector for Gateway workloads. | |
| priority | integer <int32> (Indicates when a template must be chosen in case of multiple
selectors of the same type matching a single gateway configuration.
Defaults to 0, the highest priority. When two templates have the same
priority, they are sorted alphabetically by their names.
Templates with different selector types will be resolved in the
following order, regardless of the priority value:
1. environment selectors
2. cluster selectors with no namespace selectors
3. cluster selectors with namespace selector matching labels
4. cluster selectors with namespace selector matching name
5. specific InstallGateway TSB resources) |
{- "allClustersSelector": true,
- "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "deletionProtectionEnabled": true,
- "description": "string",
- "displayName": "string",
- "environmentSelector": {
- "provider": "string"
}, - "etag": "string",
- "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "value": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}, - "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "priority": 0
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "deletionProtectionEnabled": true,
- "priority": 0,
- "environmentSelector": {
- "provider": "string"
}, - "clusterSelector": {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaceSelector": [
- {
- "name": "string",
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}, - "allClustersSelector": true,
- "gatewayWorkloadSelector": {
- "labelsSelector": {
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "gatewaySpec": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "value": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
}| organization required | string Organization name. |
| installgatewaytemplate required | string Installgatewaytemplate name. |
| force | boolean Force the deletion of the object even if deletion protection is enabled. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
{- "groups": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "profiles": [
- "string"
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}Groups will by default configure all the namespaces owned by their workspace, unless explicitly configured. If a specific set of namespaces is set for the group, it must be a subset of the namespaces defined by its workspace.
| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
required | object (tsbgatewayv2Group) Gateway Groups allow grouping the gateways in a set of namespaces
owned by its parent workspace. Gateway related configurations can
then be applied on the group to control the behavior of these
gateways. The group can be in one of two modes: The following example creates a gateway group for the gateways in
It is possible to create a gateway group for namespaces in a specific cluster as long as the parent workspace owns those namespaces in that cluster. For example,
In the The following example declares a
and the associated
The namespace where the Istio APIs are applied will need to be part of the parent gateway group. In addition, each API object will need to have annotations to indicate the organization, tenant, workspace and the gateway group to which it belongs to. |
| name required | string The short name for the resource to be created. |
{- "group": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "profiles": [
- "string"
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "profiles": [
- "string"
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "profiles": [
- "string"
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
object (v2ConfigGenerationMetadata)
| |
| configMode | string (v2ConfigMode) Default: "BRIDGED" Enum: "BRIDGED" "DIRECT" The configuration mode used by a traffic, security or a gateway group.
|
| deletionProtectionEnabled | boolean When set, prevents the resource from being deleted. In order to delete the resource this
property needs to be set to |
| 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) |
required | 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-`) |
| profiles | Array of strings List of profiles attached to the gateway group to be used to propagate default and mandatory configurations down to the children. |
{- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "description": "string",
- "displayName": "string",
- "etag": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "profiles": [
- "string"
]
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "configMode": "BRIDGED",
- "deletionProtectionEnabled": true,
- "profiles": [
- "string"
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| force | boolean Force the deletion of the object even if deletion protection is enabled. If this is set, then the object and all its children will be deleted even if any of them has the deletion protection enabled. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "egressGateways": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": null,
- "privateKey": null,
- "caCertificates": null
}, - "secretName": "string",
- "subjectAltNames": [
- null
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": null,
- "from": [ ],
- "to": [ ]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": null
}, - "to": {
- "fqn": null
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": null
}, - "to": {
- "fqn": null
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
required | object (:::warning Deprecation
The functionality provided by the `EgressGateway` is now provided in `Gateway` object, and
using it is the recommended approach. The `EgressGateway` resource will be removed in future releases.
:::)
The following example declares an egress gateway running on pods in istio-system
with the label app=istio-egressgateway. This gateway is setup to allow traffic
from anywhere in the cluster to access www.httpbin.org and from the bookinfo details app
specifically, you can access any external host.
The following example customizes the
--> |
| name required | string The short name for the resource to be created. |
{- "egressGateway": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- null
]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| egressgateway required | string Egressgateway name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| egressgateway required | string Egressgateway name. |
Array of objects (EgressAuthorization is used to dictate which service accounts can access a set of external hosts) The description of which service accounts can access which hosts. If the list of authorization rules is empty, this egress gateway will deny all traffic. | |
object (v2ConfigGenerationMetadata)
| |
| 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) |
Array of objects (v2WasmExtensionAttachment) Extensions specifies all the WasmExtensions assigned to this EgressGateway with the specific configuration for each extension. This custom configuration will override the one configured globally to the extension. Each extension has a global configuration including enablement and priority that will condition the execution of the assigned extensions. | |
required | object (tsbtypesv2WorkloadSelector)
|
{- "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "description": "string",
- "displayName": "string",
- "etag": "string",
- "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "authorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "http": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "rules": {
- "allow": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
], - "denyAll": true,
- "deny": [
- {
- "from": {
- "fqn": "string"
}, - "to": {
- "fqn": "string"
}
}
]
}, - "identityMatch": "UNKNOWN"
}, - "to": [
- "string"
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| egressgateway required | string Egressgateway name. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "ingressGateways": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- null
], - "tokenBucket": {
- "maxTokens": null,
- "tokensPerFill": null,
- "fillInterval": null
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
required | object (:::warning Deprecation
The functionality provided by the `IngressGateway` is now provided in `Gateway` object, and
using it is the recommended approach. The `IngressGateway` resource will be removed in future releases.
:::)
The following example declares an ingress gateway running on pods
with
In the following example, the clients are authenticated using an external OIDC provider using
AUTHORIZATION_CODE grant type.
Once the client request is authenticated, it gets forwarded to the
If the The following example illustrates defining non-HTTP servers (based
on TCP) with TLS termination. Here, kafka.myorg.internal uses non-HTTP
protocol and listens on port 9000. The clients have to connect with TLS
with the SNI If subsets are defined in the
The following example customizes the
|
| name required | string The short name for the resource to be created. |
{- "ingressGateway": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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": null,
- "claim": null
}
], - "fromHeaders": [
- {
- "name": null,
- "prefix": null
}
], - "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": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "headers": {
- "property1": null,
- "property2": null
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": { },
- "add": { },
- "remove": [ ]
}, - "response": {
- "set": { },
- "add": { },
- "remove": [ ]
}
}
}, - "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": null,
- "header": null
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": null,
- "destinationCluster": null,
- "remoteAddress": null,
- "requestHeaders": null,
- "headerValueMatch": null
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": null,
- "header": null
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| ingressgateway required | string Ingressgateway name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| ingressgateway required | string Ingressgateway name. |
object (v2ConfigGenerationMetadata)
| |
| 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) |
Array of objects (v2WasmExtensionAttachment) Extensions specifies all the WasmExtensions assigned to this IngressGateway with the specific configuration for each extension. This custom configuration will override the one configured globally to the extension. Each extension has a global configuration including enablement and priority that will condition the execution of the assigned extensions. | |
Array of objects (v2HttpServer) One or more HTTP or HTTPS servers exposed by the gateway. The server exposes configuration for TLS termination, request authentication/authorization, HTTP routing, etc. | |
Array of objects (One or more non-HTTP and non-passthrough servers which use TCP
based protocols. This server also exposes configuration for terminating TLS) | |
Array of objects (v2TLSPassthroughServer) One or more TLS servers exposed by the gateway. The server does not terminate TLS and exposes config for SNI based routing. | |
object (WAFSettings configure WAF based on seclang
See https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v3.x%29#Configuration_Directives) The following example creates a security group for the sidecars in
In the following examples, the security rule for blocking XSS requests is
enabled on
| |
required | object (tsbtypesv2WorkloadSelector)
|
{- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "description": "string",
- "displayName": "string",
- "etag": "string",
- "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "waf": {
- "rules": [
- "string"
]
}, - "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "tlsPassthrough": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "host": "string",
- "port": 0
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "host": "string",
- "port": 0
}
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| ingressgateway required | string Ingressgateway name. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "installGateways": [
- {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "targetNamespace": "string",
- "targetCluster": "string",
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": null
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": null
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [ ],
- "matchFields": [ ]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [ ],
- "matchFields": [ ]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": null,
- "namespaces": [ ],
- "topologyKey": null
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": null,
- "name": null,
- "apiVersion": null
}, - "metricName": "string",
- "targetValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "selector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "selector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "target": {
- "type": null,
- "averageUtilization": null,
- "averageValue": null,
- "value": null
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "targetValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "targetAverageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
required | object (installdataplanev1alpha1GatewaySpec) GatewaySpec defines the desired installed state of a single gateway for a given namespace in Service Bridge. Specifying a minimal GatewaySpec with a hub will create a default gateway with sensible values. |
| name required | string The short name for the resource to be created. |
{- "gateway": {
- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "targetNamespace": "string",
- "targetCluster": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- null
], - "matchFields": [
- null
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": { },
- "matchExpressions": [ ]
}, - "namespaces": [
- null
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": null,
- "intVal": null,
- "strVal": null
}, - "value": {
- "type": null,
- "intVal": null,
- "strVal": null
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}, - "name": "string"
}{- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "targetNamespace": "string",
- "targetCluster": "string",
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "value": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| installgateway required | string Installgateway name. |
{- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "targetNamespace": "string",
- "targetCluster": "string",
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "value": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| installgateway required | string Installgateway name. |
| concurrency | integer <int32> Number of Envoy worker threads to run. By default it will be set automatically based on the gateway's CPU resource limits. Set to |
| connectionDrainDuration | string The amount of time the gateway will wait on shutdown for connections to complete before terminating the gateway. During this drain period, no new connections can be created but existing ones are allowed complete. |
| 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) |
object (kubernetesKubernetesComponentSpec) KubernetesComponentSpec is a common set of Kubernetes resource configuration for components. | |
| revision | string (Specifies the istio revision to reconcile with.
If specified, TSB control plane operator will reconcile this gateway only
if operator's revision matches with it. TSB data plane operator, which
would be running only when TSB control plane operator is not configured a
revision, will ignore revision field and will reconcile gateway as usual.
Internally, this revision will guide to pick matching istio control plane
for the gateway deployment
https://istio.io/latest/docs/setup/upgrade/canary/) |
| targetCluster | string Cluster where the gateway will be deployed. Required when using TSB MP and TSB GitOps to deploy the gateway. Ignored when using as a pure kubernetes resource. |
| targetNamespace | string Namespace where the gateway will be deployed. Required when using TSB MP and TSB GitOps to deploy the gateway. Ignored when using as a pure kubernetes resource. |
| type | string (dataplanev1alpha1GatewaySpecType) Default: "UNIFIED" Enum: "UNIFIED" "INGRESS" "EGRESS" "EASTWEST" Type defines the different type of use cases and functionalities supported by gateway install. Each type configures the gateway workloads specific to a particular use case represented by the type. If not set, UNIFIED is set as default.
|
{- "concurrency": 0,
- "connectionDrainDuration": "string",
- "description": "string",
- "displayName": "string",
- "etag": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "value": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}, - "revision": "string",
- "targetCluster": "string",
- "targetNamespace": "string",
- "type": "UNIFIED"
}{- "connectionDrainDuration": "string",
- "revision": "string",
- "type": "UNIFIED",
- "concurrency": 0,
- "targetNamespace": "string",
- "targetCluster": "string",
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "kubeSpec": {
- "deployment": {
- "podAnnotations": {
- "property1": "string",
- "property2": "string"
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "resource": "string",
- "divisor": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "configMapKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}, - "secretKeyRef": {
- "localObjectReference": {
- "name": "string"
}, - "key": "string",
- "optional": true
}
}
}
], - "affinity": {
- "nodeAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
]
}, - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "preference": {
- "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
], - "matchFields": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}
]
}, - "podAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}, - "podAntiAffinity": {
- "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
], - "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "weight": 0,
- "podAffinityTerm": {
- "labelSelector": {
- "matchLabels": {
- "property1": null,
- "property2": null
}, - "matchExpressions": [
- null
]
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
}
]
}
}, - "replicaCount": 0,
- "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "strategy": {
- "type": "string",
- "rollingUpdate": {
- "maxUnavailable": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "maxSurge": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "tolerations": [
- {
- "key": "string",
- "operator": "string",
- "value": "string",
- "effect": "string",
- "tolerationSeconds": "string"
}
], - "hpaSpec": {
- "minReplicas": 0,
- "maxReplicas": 0,
- "metrics": [
- {
- "type": "string",
- "object": {
- "target": {
- "kind": "string",
- "name": "string",
- "apiVersion": "string"
}, - "metricName": "string",
- "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}, - "pods": {
- "metricName": "string",
- "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "selector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}
}, - "resource": {
- "name": "string",
- "targetAverageUtilization": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "target": {
- "type": "string",
- "averageUtilization": 0,
- "averageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "value": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}, - "external": {
- "metricName": "string",
- "metricSelector": {
- "matchLabels": {
- "property1": "string",
- "property2": "string"
}, - "matchExpressions": [
- {
- "key": null,
- "operator": null,
- "values": [ ]
}
]
}, - "targetValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "targetAverageValue": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}
}
}
]
}, - "podSecurityContext": {
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "runAsUser": 0,
- "runAsNonRoot": true,
- "supplementalGroups": [
- 0
], - "fsGroup": 0,
- "runAsGroup": 0,
- "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "fsGroupChangePolicy": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "containerSecurityContext": {
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "seLinuxOptions": {
- "user": "string",
- "role": "string",
- "type": "string",
- "level": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpecName": "string",
- "gmsaCredentialSpec": "string",
- "runAsUserName": "string"
}, - "runAsUser": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "readOnlyRootFilesystem": true,
- "allowPrivilegeEscalation": true,
- "procMount": "string",
- "seccompProfile": {
- "type": "string",
- "localhostProfile": "string"
}
}, - "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "service": {
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "ports": [
- {
- "name": "string",
- "protocol": "string",
- "port": 0,
- "targetPort": {
- "type": "string",
- "intVal": 0,
- "strVal": "string"
}, - "nodePort": 0
}
], - "type": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "serviceAccount": {
- "imagePullSecrets": [
- {
- "name": "string"
}
]
}, - "overlays": [
- {
- "apiVersion": "string",
- "kind": "string",
- "name": "string",
- "patches": [
- {
- "path": "string",
- "value": null
}
]
}
]
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| installgateway required | string Installgateway name. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "tier1Gateways": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- 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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- null
], - "tokenBucket": {
- "maxTokens": null,
- "tokensPerFill": null,
- "fillInterval": null
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- null
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| name required | string The short name for the resource to be created. |
required | object (:::warning Deprecation
The functionality provided by the `Tier1Gateway` is now provided in `Gateway` object, and
using it is the recommended approach. The `Tier1Gateway` resource will be removed in future releases.
:::)
NOTE: Tier1 gateways cannot be used to route traffic to the same cluster. A cluster with tier1 gateway cannot have any other gateways or workloads. The following example declares a tier1 gateway running on pods with
In the following example, the clients are authenticated using an external OIDC provider using
AUTHORIZATION_CODE grant type.
Once the client request is authenticated, it gets forwarded to the c3 or c4.
The access_token generated after client authentication is set as
Tier1 gateways can also be used to forward mesh internal traffic
for Gateway hosts from one cluster to another. This form of
forwarding will work only if the two clusters cannot reach each
other directly (e.g., they are on different VPCs that are not
peered). The following example declares a tier1 gateway running on
pods with
** NOTE:** If two clusters have direct connectivity, declaring a tier1 internal server will have no effect. Tier1 gateways can also be configured to expose hostnames in the TLS passthrough mode. Tier1 gateway will forward the pasthrough server traffic to any tier2 pass through servers exposing the same hostname. In other words, To be able to leverage passthrough at tier1, it is a MUST that passthrough is configured at t2 IngressGateway as well. ** NOTE:** A hostname like
The Tier1Gateway above will require the corresponding, at least one or more, IngressGateway(s), e.g.:
The following example customizes the
Whenever traffic is to be sent from one cluster to another, one or more of the following would have to be true for it to succeed:
|
{- "name": "string",
- "tier1Gateway": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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": null,
- "claim": null
}
], - "fromHeaders": [
- {
- "name": null,
- "prefix": null
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": null,
- "header": null
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": null,
- "destinationCluster": null,
- "remoteAddress": null,
- "requestHeaders": null,
- "headerValueMatch": null
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": null,
- "header": null
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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": null,
- "claim": null
}
], - "fromHeaders": [
- {
- "name": null,
- "prefix": null
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- 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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| tier1gateway required | string Tier1gateway name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- 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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| tier1gateway required | string Tier1gateway name. |
object (v2ConfigGenerationMetadata)
| |
| 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) |
Array of objects (v2WasmExtensionAttachment) Extensions specifies all the WasmExtensions assigned to this Tier1Gateway with the specific configuration for each extension. This custom configuration will override the one configured globally to the extension. Each extension has a global configuration including enablement and priority that will condition the execution of the assigned extensions. | |
Array of objects (v2Tier1ExternalServer) One or more servers exposed by the gateway externally. | |
Array of objects (v2Tier1InternalServer) One or more servers exposed by the gateway internally for cross cluster forwarding. | |
Array of objects (v2Tier1PassthroughServer) One or more tls passthrough servers exposed by the gateway externally. | |
Array of objects (v2Tier1TCPExternalServer) One or more tcp servers exposed by the gateway externally. | |
Array of objects (v2Tier1TCPInternalServer) One or more tcp servers exposed by the gateway for mesh internal traffic. | |
object (WAFSettings configure WAF based on seclang
See https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v3.x%29#Configuration_Directives) The following example creates a security group for the sidecars in
In the following examples, the security rule for blocking XSS requests is
enabled on
| |
required | object (tsbtypesv2WorkloadSelector)
|
{- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "description": "string",
- "displayName": "string",
- "etag": "string",
- "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- 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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "externalServers": [
- {
- "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"
]
}, - "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- 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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}
}
], - "internalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}
}
], - "passthroughServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "tcpExternalServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
], - "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}
}
], - "tcpInternalServers": [
- {
- "name": "string",
- "hostname": "string",
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}
], - "extension": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| tier1gateway required | string Tier1gateway name. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
{- "gateways": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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": [ ]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- null
], - "tokenBucket": {
- "maxTokens": null,
- "tokensPerFill": null,
- "fillInterval": null
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": null
}, - "pluginSource": {
- "configMap": null
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": null,
- "configMap": null
}, - "pluginSource": {
- "configMap": null
}
}
]
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": null,
- "property2": null
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": null,
- "property2": null
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
required | object (gatewayv2Gateway) The The following example declares a gateway running on pods
with
In the following example, the clients are authenticated using an external OIDC provider using
AUTHORIZATION_CODE grant type.
Once the client request is authenticated, it gets forwarded to the
If the The following example declares a gateway running on pods with
This example used to forward mesh internal traffic
for Gateway hosts from one cluster to another. This form of
forwarding will work only if the two clusters cannot reach each
other directly (e.g., they are on different VPCs that are not
peered). The following example declares a gateway running on
pods with
The following example illustrates defining non-HTTP server (based
on TCP) with TLS termination. Here, kafka.myorg.internal uses non-HTTP
protocol and listens on port 9000. The clients have to connect with TLS
with the SNI If subsets are defined in the
This is an example of configuring a gateway for TLS.
The gateway will forward the passthrough server traffic to clusters
This configuration defines a Gateway named By default, egress access is denied for all three hosts. Users must explicitly define allow rules for traffic to pass through. Clients in the
TSB provides ways to extend the bundled functionality that comes in with envoy
using the The following example shows a Gateway configuration in which the kong's
|
| name required | string The short name for the resource to be created. |
{- "gateway": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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": null,
- "claim": null
}
], - "fromHeaders": [
- {
- "name": null,
- "prefix": null
}
], - "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": null
}
], - "to": [
- {
- "paths": [ ],
- "methods": [ ]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "headers": {
- "property1": null,
- "property2": null
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": { },
- "add": { },
- "remove": [ ]
}, - "response": {
- "set": { },
- "add": { },
- "remove": [ ]
}
}
}, - "route": {
- "clusterDestination": {
- "clusters": [
- null
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": null,
- "files": null,
- "secretName": null,
- "subjectAltNames": [ ]
}
}
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": "string",
- "bytes": "string"
}
}, - "disableExternalAuthorization": true,
- "extensions": {
- "kong": {
- "plugins": [
- null
]
}, - "composer": {
- "plugins": [
- null
]
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": null,
- "header": null
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": null,
- "destinationCluster": null,
- "remoteAddress": null,
- "requestHeaders": null,
- "headerValueMatch": null
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": null,
- "header": null
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| unifiedgateway required | string Unifiedgateway name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| unifiedgateway required | string Unifiedgateway name. |
object (v2ConfigGenerationMetadata)
| |
| description | string (A description of the resource.
$hide_from_yaml) |
| displayName | string (User friendly name for the resource.
$hide_from_yaml) |
Array of objects (v2EgressAuthorizationSettings) External services are onboarded into the mesh via service entry, and these services are exposed on the Gateway for egress access. By default, access is denied for these hosts. Users can configure EgressAuthorizationSettings to specify which service accounts are allowed. | |
| 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) |
Array of objects (gatewayv2HTTP) One or more HTTP or HTTPS servers exposed by the gateway. The server exposes configuration for TLS termination, request authentication/authorization, HTTP routing, rate limiting, etc. | |
Array of objects (gatewayv2TCP) One or more non-HTTP and non-passthrough servers which use TCP based protocols. This server also exposes configuration for terminating TLS. | |
Array of objects (v2TLS) One or more TLS servers exposed by the gateway. The server does not terminate TLS and exposes config for SNI based routing. | |
object (WAFSettings configure WAF based on seclang
See https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v3.x%29#Configuration_Directives) The following example creates a security group for the sidecars in
In the following examples, the security rule for blocking XSS requests is
enabled on
| |
Array of objects (v2WasmExtensionAttachment) WasmPlugins specifies all the WasmExtensionAttachment assigned to this Gateway with the specific configuration for each plugin. This custom configuration will override the one configured globally to the plugin. Each plugin has a global configuration including priority that will condition the execution of the assigned plugins. | |
required | object (tsbtypesv2WorkloadSelector)
|
{- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "description": "string",
- "displayName": "string",
- "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "etag": "string",
- "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "waf": {
- "rules": [
- "string"
]
}, - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "http": [
- {
- "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"
]
}, - "pathPrefix": "string",
- "allowedUpstreamHeaders": [
- "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
}
]
}, - "composer": {
- "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"
]
}
}, - "local": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "tokenBucket": {
- "maxTokens": 0,
- "tokensPerFill": 0,
- "fillInterval": "string"
}
}
], - "maxWildcardDimensions": 0
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}, - "composer": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string",
- "configMap": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
], - "tls": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "tcp": [
- {
- "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"
]
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "network": "string",
- "weight": 0
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "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"
}
], - "automaticLoadBalancing": {
- "enabled": true
}
}
}
], - "wasmPlugins": [
- {
- "fqn": "string",
- "config": { },
- "match": [
- {
- "mode": "UNDEFINED",
- "ports": [
- {
- "number": 0
}
]
}
]
}
], - "waf": {
- "rules": [
- "string"
]
}, - "egressAuthorization": [
- {
- "from": {
- "mode": "UNSET",
- "serviceAccounts": [
- "string"
], - "resources": [
- "string"
]
}, - "to": [
- {
- "host": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "paths": [
- "string"
], - "methods": [
- "string"
]
}
], - "identityMatch": "UNKNOWN"
}
], - "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| unifiedgateway required | string Unifiedgateway name. |
{ }| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
{- "groups": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "deletionProtectionEnabled": true,
- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}Groups will by default configure all the namespaces owned by their workspace, unless explicitly configured. If a specific set of namespaces is set for the group, it must be a subset of the namespaces defined by its workspace.
| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
required | object (tsbistiointernalv2Group) Istio internal groups only allow grouping The following example creates an istio internal group for resources in
It is possible to directly attach Istio APIs such as The following ServiceEntry example declares a few external APIs accessed by internal applications over HTTPS. The sidecar inspects the SNI value in the ClientHello message to route to the appropriate external service.
The namespace where the Istio APIs are applied will need to be part of the parent istio internal group. In addition, each API object will need to have annotations to indicate the organization, tenant, workspace and the istio internal group to which it belongs to. |
| name required | string The short name for the resource to be created. |
{- "group": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "deletionProtectionEnabled": true,
- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "deletionProtectionEnabled": true,
- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "deletionProtectionEnabled": true,
- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
object (v2ConfigGenerationMetadata)
| |
| deletionProtectionEnabled | boolean When set, prevents the resource from being deleted. In order to delete the resource this
property needs to be set to |
| 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) |
required | 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-`) |
{- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}, - "deletionProtectionEnabled": true,
- "description": "string",
- "displayName": "string",
- "etag": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}
}{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "deletionProtectionEnabled": true,
- "configGenerationMetadata": {
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}
}
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| force | boolean Force the deletion of the object even if deletion protection is enabled. If this is set, then the object and all its children will be deleted even if any of them has the deletion protection enabled. |
{ }| organization required | string Organization name. |
| cluster required | string Cluster name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| extension required | string Extension name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| extension required | string Extension name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| serviceaccount required | string Serviceaccount name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| serviceaccount required | string Serviceaccount name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| service required | string Service name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| service required | string Service name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| team required | string Team name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| team required | string Team name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| api required | string Api name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| api required | string Api name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| application required | string Application name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| egressgateway required | string Egressgateway name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| egressgateway required | string Egressgateway name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| ingressgateway required | string Ingressgateway name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| ingressgateway required | string Ingressgateway name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| tier1gateway required | string Tier1gateway name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| gatewaygroup required | string Gatewaygroup name. |
| tier1gateway required | string Tier1gateway name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| istiointernalgroup required | string Istiointernalgroup name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| securitygroup required | string Securitygroup name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| serviceroute required | string Serviceroute name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| serviceroute required | string Serviceroute name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| setting required | string Setting name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| tenant required | string Tenant name. |
| workspace required | string Workspace name. |
| trafficgroup required | string Trafficgroup name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| user required | string User name. |
| source required | string Source name. |
{- "metrics": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}
]
}| organization required | string Organization name. |
| user required | string User name. |
| source required | string Source name. |
| metric required | string Metric name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "observedResource": "string",
- "measure": {
- "name": "string",
- "unit": "string"
}, - "type": {
- "name": "INVALID_METRIC_TYPE",
- "labels": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "origin": "INVALID_METRIC_ORIGIN",
- "detectionPoint": "INVALID_METRIC_DETECTION_POINT"
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| scopeTypes | Array of strings Items Enum: "INVALID" "SERVICE" "INGRESS" "RELATION" The scope type that a telemetry source needs to match. Telemetry sources that matches any requested scope type will be returned.
|
| belongTos | Array of strings Which resources the telemetry sources must belong to. Telemetry sources that belongs to any requested resource will be returned. |
| existed.since | string <date-time> Moment in time since we retrieve Telemetry Sources. |
| existed.until | string <date-time> Moment in time until we retrieve Telemetry Sources. |
{- "sources": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "belongsTo": "string",
- "metricSourceKey": "string",
- "type": "INVALID",
- "scope": {
- "serviceScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "instance": "string",
- "subset": "string",
- "service": "string",
- "namespace": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "ingressScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "hostname": "string",
- "ingressService": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "relationScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "serviceRelation": {
- "source": "string",
- "target": "string"
}
}
}
]
}
}
}
]
}| organization required | string Organization name. |
| cluster required | string Cluster name. |
| source required | string Source name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "belongsTo": "string",
- "metricSourceKey": "string",
- "type": "INVALID",
- "scope": {
- "serviceScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "instance": "string",
- "subset": "string",
- "service": "string",
- "namespace": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "ingressScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "hostname": "string",
- "ingressService": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "relationScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "serviceRelation": {
- "source": "string",
- "target": "string"
}
}
}
]
}
}
}| organization required | string Organization name. |
| extension required | string Extension name. |
| scopeTypes | Array of strings Items Enum: "INVALID" "SERVICE" "INGRESS" "RELATION" The scope type that a telemetry source needs to match. Telemetry sources that matches any requested scope type will be returned.
|
| belongTos | Array of strings Which resources the telemetry sources must belong to. Telemetry sources that belongs to any requested resource will be returned. |
| existed.since | string <date-time> Moment in time since we retrieve Telemetry Sources. |
| existed.until | string <date-time> Moment in time until we retrieve Telemetry Sources. |
{- "sources": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "belongsTo": "string",
- "metricSourceKey": "string",
- "type": "INVALID",
- "scope": {
- "serviceScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "instance": "string",
- "subset": "string",
- "service": "string",
- "namespace": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "ingressScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "hostname": "string",
- "ingressService": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "relationScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "serviceRelation": {
- "source": "string",
- "target": "string"
}
}
}
]
}
}
}
]
}| organization required | string Organization name. |
| extension required | string Extension name. |
| source required | string Source name. |
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "belongsTo": "string",
- "metricSourceKey": "string",
- "type": "INVALID",
- "scope": {
- "serviceScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "instance": "string",
- "subset": "string",
- "service": "string",
- "namespace": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "ingressScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "hostname": "string",
- "ingressService": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "relationScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "serviceRelation": {
- "source": "string",
- "target": "string"
}
}
}
]
}
}
}| organization required | string Organization name. |
| serviceaccount required | string Serviceaccount name. |
| scopeTypes | Array of strings Items Enum: "INVALID" "SERVICE" "INGRESS" "RELATION" The scope type that a telemetry source needs to match. Telemetry sources that matches any requested scope type will be returned.
|
| belongTos | Array of strings Which resources the telemetry sources must belong to. Telemetry sources that belongs to any requested resource will be returned. |
| existed.since | string <date-time> Moment in time since we retrieve Telemetry Sources. |
| existed.until | string <date-time> Moment in time until we retrieve Telemetry Sources. |
{- "sources": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "belongsTo": "string",
- "metricSourceKey": "string",
- "type": "INVALID",
- "scope": {
- "serviceScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "instance": "string",
- "subset": "string",
- "service": "string",
- "namespace": "string",
- "cluster": "string"
}, - "deployment": "string"
}
]
}, - "ingressScopes": {
- "scopes": [
- {
- "type": "INVALID",
- "scope": {
- "hostname": "string",
- "ingressService": "string",
- "cluster": "string"
}, - "deployment": "string"
}