npm install @dynatrace-sdk/client-platform-management-service
- Visit SDK for Typescript guide in the Dynatrace Developer
- Ask a question in the Dynatrace Community
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
Full API reference for the latest version of the SDK is also available at the Dynatrace Developer.
import { effectivePermissionsClient } from '@dynatrace-sdk/client-platform-management-service';
Get the effective permissions of the calling user in the environment
One of the following scopes is required:
- app-engine:apps:run
- app-engine:functions:run
This endpoint resolves whether the caller (based on the provided OAuth token when calling this endpoint) has the requested permissions (see IAM policy reference for a list of permissions and their conditions). It resolves the permission via IAM and uses the optional context to evaluate conditional results. The provided context consists of key-value pairs where the key
must correspond to the name of a supported condition of the requested permission and the value
is the value that it this condition is evaluated against given a user's policies.
For each requested permission the response indicates whether the user has the requested permission ("granted": "true"
), does not have it ("granted": "false"
) or only has it conditionally ("granted": "condition"
), meaning that the provided values for conditions in the context are not sufficient to decide whether the caller has the permission.
For environment API v2 scopes (i.e. scopes starting with environment-api:) roles on the environment and management zone level will also be considered.
Settings permission requests for scopes settings:schemas:read
, settings:objects:read
, and settings:objects:write
will always result in a result with "granted": "condition"
. Please use the dedicated effective permissions endpoint for settings instead.
Name | Type |
---|---|
config.body*required | ResolutionRequest |
Error Type | Error Message |
---|---|
DefaultErrorResponse | Unexpected error |
Code example
import { effectivePermissionsClient } from "@dynatrace-sdk/client-platform-management-service";
const data =
await effectivePermissionsClient.resolveEffectivePermissions(
{
body: {
permissions: [
{ permission: "state:app-states:write" },
],
},
},
);
import { environmentInformationClient } from '@dynatrace-sdk/client-platform-management-service';
Get basic environment information
One of the following scopes is required:
- app-engine:apps:run
- app-engine:functions:run
Get basic information about the current environment.
Return type | Status code | Description |
---|---|---|
EnvironmentInfo | 200 | Info about the requested environment. |
Error Type | Error Message |
---|---|
BadRequest | Bad request |
Unauthorized | Authentication failed |
NotFound | Resource not found |
ServiceUnavailable | There is a temporary problem in the backend. |
DefaultErrorResponse | Unexpected error |
Code example
import { environmentInformationClient } from "@dynatrace-sdk/client-platform-management-service";
const data =
await environmentInformationClient.getEnvironmentInformation();
import { environmentSettingsClient } from '@dynatrace-sdk/client-platform-management-service';
Get settings for the environment
One of the following scopes is required:
- app-engine:apps:run
- app-engine:functions:run
Gets settings for environment.
Return type | Status code | Description |
---|---|---|
SettingsResponse | 200 | The settings for the requested environment |
Error Type | Error Message |
---|---|
BadRequest | Bad request |
Unauthorized | Authentication failed |
NotFound | Resource not found |
ServiceUnavailable | There is a temporary problem in the backend. |
DefaultErrorResponse | Unexpected error |
Code example
import { environmentSettingsClient } from "@dynatrace-sdk/client-platform-management-service";
const data =
await environmentSettingsClient.getEnvironmentSettings();
import { licenseInformationClient } from '@dynatrace-sdk/client-platform-management-service';
Get basic license information
One of the following scopes is required:
- app-engine:apps:run
- app-engine:functions:run
Get basic license information about the current environment.
Return type | Status code | Description |
---|---|---|
License | 200 | The license info of the requested environment. |
Error Type | Error Message |
---|---|
BadRequest | Bad request |
Unauthorized | Authentication failed |
NotFound | Resource not found |
ServiceUnavailable | There is a temporary problem in the backend. |
DefaultErrorResponse | Unexpected error |
Code example
import { licenseInformationClient } from "@dynatrace-sdk/client-platform-management-service";
const data = await licenseInformationClient.getLicense();
Get basic license settings information
One of the following scopes is required:
- app-engine:apps:run
- app-engine:functions:run
Get basic license settings information about the current environment
Name | Type |
---|---|
config.keys | Array<string> |
Return type | Status code | Description |
---|---|---|
LicenseSettingsResponse | 200 | The license settings info of the requested environment. |
Error Type | Error Message |
---|---|
BadRequest | Bad request |
Unauthorized | Authentication failed |
NotFound | Resource not found |
ServiceUnavailable | There is a temporary problem in the backend. |
DefaultErrorResponse | Unexpected error |
Code example
import { licenseInformationClient } from "@dynatrace-sdk/client-platform-management-service";
const data =
await licenseInformationClient.getLicenseSettings();
Name | Type | Description |
---|---|---|
granted*required | "true" | "false" | "condition" | true: The caller has the permission false: The caller does not have the permission condition: The caller conditionally has the permission or in case of scopes starting with 'environment-api:' the caller only has the permission for specific management zones. |
permission*required | string |
type: Array<EffectivePermission>
Name | Type |
---|---|
blockTime | Date |
createTime*required | Date |
environmentId*required | string |
state*required | "BEING_CREATED" | "CREATED_NOT_INITIALIZED" | "ACTIVE" | "DEACTIVATED" | "BEING_DELETED" | "BLOCKED" | "DELETION_FAILED" | "PRE_ALLOCATED" |
type*required | "INTERNAL" | "CUSTOMER" | "SELF_MONITORING" |
Standard error response
Name | Type |
---|---|
code*required | number |
message*required | string |
Name | Type |
---|---|
platformSubscription*required | boolean |
trial*required | boolean |
Name | Type |
---|---|
key*required | string |
value*required | string |
Name | Type |
---|---|
settings*required | Array<LicenseSetting> |
Name | Type |
---|---|
key*required | string |
value*required | string |
Name | Type |
---|---|
permissions*required | Array<SinglePermissionRequest> |
Name | Type | Description |
---|---|---|
chatEnabled*required | boolean | |
countryCode | string | ISO3166-1 alpha-2 two letter country code. See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 |
Optional generic set of context data
Name | Type |
---|---|
context | Array<PermissionContext> |
permission*required | string |
true: The caller has the permission false: The caller does not have the permission condition: The caller conditionally has the permission or in case of scopes starting with 'environment-api:' the caller only has the permission for specific management zones.
Condition
| False
| True