CloudWatch Omni 2025-01-01
- Client: Aws\CloudWatchOmni\CloudWatchOmniClient
- Service ID: cloudwatchomni
- Version: 2025-01-01
This page describes the parameters and results for the operations of the CloudWatch Omni (2025-01-01), and shows how to use the Aws\CloudWatchOmni\CloudWatchOmniClient object to call the described operations. This documentation is specific to the 2025-01-01 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName'), where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */).
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */).
- CreateAccessGrant ( array $params = [] )
- Creates an AccessGrant that authorizes a principal to perform a set of actions on resources in a space.
- CreateAccessProfile ( array $params = [] )
- Creates an access profile in a space.
- CreateAlert ( array $params = [] )
- Creates a new alert within a space.
- CreateDomain ( array $params = [] )
- Creates a domain with identity provider configuration.
- CreateDomainAccessGrantForOrganization ( array $params = [] )
- Creates an AccessGrant that authorizes a principal to administer an organization domain.
- CreateDomainForOrganization ( array $params = [] )
- Creates an organization-scoped domain for the caller's AWS Organization.
- CreateIntegration ( array $params = [] )
- Creates an integration with a third-party provider.
- CreateOmniDashboard ( array $params = [] )
- Creates a new dashboard within a space.
- CreateOneTimeDeepLinkCode ( array $params = [] )
- Generates a one-time code for deep-link authentication.
- CreateSpace ( array $params = [] )
- Creates a space in a domain.
- CreateView ( array $params = [] )
- Creates a new SQL view.
- DeleteAccessGrant ( array $params = [] )
- Removes an existing AccessGrant, revoking the access it granted.
- DeleteAccessProfile ( array $params = [] )
- Removes an access profile.
- DeleteAlert ( array $params = [] )
- Deletes an alert by its identifier.
- DeleteDomain ( array $params = [] )
- Removes a domain and all of its resources.
- DeleteDomainAccessGrantForOrganization ( array $params = [] )
- Removes an existing organization access grant, revoking the access it granted.
- DeleteDomainForOrganization ( array $params = [] )
- Removes an organization domain and all of its resources.
- DeleteIntegration ( array $params = [] )
- Deletes an integration.
- DeleteOmniDashboard ( array $params = [] )
- Removes a dashboard from a space.
- DeleteSpace ( array $params = [] )
- Removes a space and all of its resources.
- DeleteView ( array $params = [] )
- Deletes the specified view.
- GetAccessGrant ( array $params = [] )
- Retrieves the full detail of a single AccessGrant by ID.
- GetAccessProfile ( array $params = [] )
- Retrieves an access profile by ID.
- GetAlert ( array $params = [] )
- Retrieves a single alert by its identifier.
- GetContextGraph ( array $params = [] )
- Queries the context graph with filtering, traversal, and pagination support.
- GetDomain ( array $params = [] )
- Retrieves the details of a domain by ID.
- GetDomainAccessGrantForOrganization ( array $params = [] )
- Retrieves the full detail of a single organization access grant by ID.
- GetDomainForOrganization ( array $params = [] )
- Retrieves the details of an organization domain by ID.
- GetIntegration ( array $params = [] )
- Returns the details of a single integration, identified by its identifier, Amazon Resource Name, or name.
- GetIntelligenceConfiguration ( array $params = [] )
- Retrieves the intelligence configuration for the calling account.
- GetOmniDashboard ( array $params = [] )
- Retrieves a dashboard by ID within a space.
- GetSpace ( array $params = [] )
- Retrieves the details of a space by ID.
- GetSpaceCredentialsForOrganization ( array $params = [] )
- Returns temporary credentials for a space in an organization member account.
- GetTelemetryQueryResults ( array $params = [] )
- Returns the results for the specified query.
- GetView ( array $params = [] )
- Returns the definition and metadata of the specified view.
- ListAccessGrants ( array $params = [] )
- Returns AccessGrants, with optional filtering by domain, space, principal, or permission.
- ListAccessProfiles ( array $params = [] )
- Returns the access profiles in a space.
- ListAlerts ( array $params = [] )
- Lists alerts within a space, optionally filtered by exact name(s), a single name prefix, or exact alertId(s), with pagination.
- ListDomainAccessGrantsForOrganization ( array $params = [] )
- Returns organization-level domain access grants, with optional filtering by domain, principal, or permission.
- ListDomains ( array $params = [] )
- Returns the caller's domains: the account-scoped domain and the organization-scoped domain, if either exists.
- ListIntegrations ( array $params = [] )
- Lists the integrations in the account, optionally filtered by type, status, or name.
- ListOmniDashboards ( array $params = [] )
- Returns the dashboards in a space, optionally filtered by name prefix.
- ListSpaces ( array $params = [] )
- Returns the spaces in the account, optionally filtered by domain.
- ListSpacesForOrganization ( array $params = [] )
- Returns the spaces across all member accounts in the organization.
- ListTelemetryFields ( array $params = [] )
- Lists fields available for telemetry queries.
- ListTelemetryQuerySessions ( array $params = [] )
- Lists telemetry query sessions.
- ListViews ( array $params = [] )
- Lists the views in the caller's account and region.
- PutIntelligenceConfiguration ( array $params = [] )
- Creates or updates the intelligence configuration for the calling account.
- SearchPrincipals ( array $params = [] )
- Searches Identity Center for users and groups in a domain.
- StartTelemetryQuery ( array $params = [] )
- Starts a telemetry query within a session.
- StartTelemetryQuerySession ( array $params = [] )
- Starts a new telemetry query session.
- StopTelemetryQuery ( array $params = [] )
- Stops a running telemetry query.
- StopTelemetryQuerySession ( array $params = [] )
- Stops a telemetry query session.
- UpdateAccessProfile ( array $params = [] )
- Updates the name or description of an access profile.
- UpdateAlert ( array $params = [] )
- Updates an existing alert.
- UpdateDomain ( array $params = [] )
- Updates a domain's name or identity provider configuration.
- UpdateDomainForOrganization ( array $params = [] )
- Updates an organization domain's name or identity provider configuration.
- UpdateIntegration ( array $params = [] )
- Updates an existing integration, identified by its id, ARN, or name.
- UpdateOmniDashboard ( array $params = [] )
- Updates an existing dashboard within a space.
- UpdateSpace ( array $params = [] )
- Updates a space.
- UpdateView ( array $params = [] )
- Updates an existing view's definition and/or description.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
- GetContextGraph
- GetTelemetryQueryResults
- ListAccessGrants
- ListAccessProfiles
- ListAlerts
- ListDomainAccessGrantsForOrganization
- ListDomains
- ListIntegrations
- ListOmniDashboards
- ListSpaces
- ListSpacesForOrganization
- ListTelemetryFields
- ListTelemetryQuerySessions
- ListViews
- SearchPrincipals
Operations
CreateAccessGrant
$result = $client->createAccessGrant([/* ... */]); $promise = $client->createAccessGrantAsync([/* ... */]);
Creates an AccessGrant that authorizes a principal to perform a set of actions on resources in a space.
Optionally narrow the grant with scoped actions that limit it to specific resources and fields. Use ListAccessGrants and GetAccessGrant to retrieve grants, and DeleteAccessGrant to remove them.
Parameter Syntax
$result = $client->createAccessGrant([
'clientToken' => '<string>',
'domainId' => '<string>', // REQUIRED
'name' => '<string>', // REQUIRED
'permission' => 'SPACE_ADMIN|READ|READ_WRITE_DELETE|CUSTOM', // REQUIRED
'principal' => [ // REQUIRED
'principalAttributes' => [
[
'key' => '<string>', // REQUIRED
'value' => '<string>', // REQUIRED
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT|ACCESS_PROFILE|ALERT|AGENT', // REQUIRED
],
'scopedActions' => [
[
'actions' => ['<string>', ...], // REQUIRED
'contextConditions' => [
'<String>' => ['<string>', ...],
// ...
],
'resources' => [
[
'resourceArns' => ['<string>', ...],
'resourceType' => '<string>', // REQUIRED
'rowScopeGroups' => [
[
[
'field' => '<string>', // REQUIRED
'operator' => 'IN', // REQUIRED
'values' => ['<string>', ...], // REQUIRED
],
// ...
],
// ...
],
'signalTypes' => ['<string>', ...],
'tags' => ['<string>', ...],
],
// ...
],
],
// ...
],
'spaceId' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- domainId
-
- Required: Yes
- Type: string
The ID of the domain that contains the space.
- name
-
- Required: Yes
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission to grant. Exactly one permission is granted per request.
- principal
-
- Required: Yes
- Type: AccessGrantPrincipal structure
The principal receiving the grant.
- scopedActions
-
- Type: Array of ScopedActions structures
Groups of actions to allow, each with the resource scopes and conditions that limit those actions.
- spaceId
-
- Required: Yes
- Type: string
The ID of the space to scope the grant to.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the access grant.
Result Syntax
[
'accessGrant' => [
'accountId' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'SPACE_ADMIN|READ|READ_WRITE_DELETE|CUSTOM',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT|ACCESS_PROFILE|ALERT|AGENT',
],
'scopedActions' => [
[
'actions' => ['<string>', ...],
'contextConditions' => [
'<String>' => ['<string>', ...],
// ...
],
'resources' => [
[
'resourceArns' => ['<string>', ...],
'resourceType' => '<string>',
'rowScopeGroups' => [
[
[
'field' => '<string>',
'operator' => 'IN',
'values' => ['<string>', ...],
],
// ...
],
// ...
],
'signalTypes' => ['<string>', ...],
'tags' => ['<string>', ...],
],
// ...
],
],
// ...
],
'spaceId' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessGrant
-
- Required: Yes
- Type: AccessGrant structure
The details of the created access grant.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create an access grant
The following example creates a custom access grant that authorizes an Identity Center user to read and update a specific dashboard in a space. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createAccessGrant([
'name' => 'analyst-read-access',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'domainId' => 'd-1a2b3c4d5e',
'permission' => 'CUSTOM',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'scopedActions' => [
[
'actions' => [
'cloudwatch:GetOmniDashboard',
'cloudwatch:UpdateOmniDashboard',
],
'resources' => [
[
'resourceArns' => [
'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
],
'resourceType' => 'OmniDashboard',
],
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'accessGrant' => [
'name' => 'analyst-read-access',
'accountId' => '123456789012',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'CUSTOM',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'scopedActions' => [
[
'actions' => [
'cloudwatch:GetOmniDashboard',
'cloudwatch:UpdateOmniDashboard',
],
'resources' => [
[
'resourceArns' => [
'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
],
'resourceType' => 'OmniDashboard',
],
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
CreateAccessProfile
$result = $client->createAccessProfile([/* ... */]); $promise = $client->createAccessProfileAsync([/* ... */]);
Creates an access profile in a space.
Use GetAccessProfile and ListAccessProfiles to retrieve profiles, and UpdateAccessProfile to modify one.
Parameter Syntax
$result = $client->createAccessProfile([
'clientToken' => '<string>',
'description' => '<string>',
'name' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- description
-
- Type: string
An optional description of the access profile.
- name
-
- Required: Yes
- Type: string
A name that identifies the access profile.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space to create the profile in.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the access profile.
Result Syntax
[
'accessProfile' => [
'arn' => '<string>',
'assumeStatus' => 'ALLOWED|DENIED',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'profileId' => '<string>',
'profileType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'spaceId' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessProfile
-
- Required: Yes
- Type: AccessProfile structure
The access profile.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create an access profile
The following example creates a customer-managed access profile in a space. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createAccessProfile([
'name' => 'Analyst read-only profile',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'description' => 'Read-only access for analysts.',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'accessProfile' => [
'name' => 'Analyst read-only profile',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-profile/analyst-readonly',
'assumeStatus' => 'ALLOWED',
'createdAt' => ,
'description' => 'Read-only access for analysts.',
'profileId' => 'analyst-readonly',
'profileType' => 'CUSTOMER_MANAGED',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
CreateAlert
$result = $client->createAlert([/* ... */]); $promise = $client->createAlertAsync([/* ... */]);
Creates a new alert within a space.
Use GetAlert and ListAlerts to retrieve alerts, UpdateAlert to modify one, and DeleteAlert to remove it.
Parameter Syntax
$result = $client->createAlert([
'clientToken' => '<string>',
'description' => '<string>',
'name' => '<string>', // REQUIRED
'notificationRules' => [
[
'target' => [ // REQUIRED
'arn' => '<string>', // REQUIRED
'metadata' => ['<string>', ...],
'type' => 'sns|slack|pagerduty', // REQUIRED
],
'trigger' => [ // REQUIRED
'stateValues' => ['<string>', ...],
],
],
// ...
],
'notificationsEnabled' => true || false,
'profileId' => '<string>', // REQUIRED
'rule' => [ // REQUIRED
'telemetryRule' => [
'condition' => [
'comparator' => 'GT|LT|GTE|LTE',
'criticalThreshold' => <float>,
'thresholdField' => '<string>',
'thresholdMode' => 'COUNT_OF_RESULTS|FIELD_VALUE',
'warningThreshold' => <float>,
],
'evaluation' => [
'intervalSeconds' => <integer>, // REQUIRED
'pendingDurationSeconds' => <integer>,
'recoveryDurationSeconds' => <integer>,
],
'noData' => [
'treatAs' => 'OK|WARNING|CRITICAL|NODATA', // REQUIRED
],
'query' => [
'expression' => '<string>', // REQUIRED
'language' => 'SQL|PROMQL', // REQUIRED
],
],
],
'spaceId' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Retrying with the same token within the idempotency window returns the original alert instead of creating a duplicate.
- description
-
- Type: string
An optional description of the alert.
- name
-
- Required: Yes
- Type: string
Alert name, for display. Max 256 (the AlarmName budget). Not the alert's identity: the backend mints a separate uuid as the {@link AlertId}, so the name need not be unique within a space and addressing an alert never depends on it. UpdateAlert accepts a new name to rename the alert.
- notificationRules
-
- Type: Array of NotificationRule structures
The notification rules that determine when and where notifications are sent.
- notificationsEnabled
-
- Type: boolean
Whether actions (notifications) are enabled for this alert. Defaults to true when omitted.
- profileId
-
- Required: Yes
- Type: string
The ID of the access profile the alert uses to evaluate its query and execute notifications. The caller supplies it: there is no managed alert profile, and the service does not pick one on the caller's behalf.
- rule
-
- Required: Yes
- Type: Rule structure
The rule that defines how the alert is evaluated.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space to create the alert in.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the alert.
Result Syntax
[
'alert' => [
'accountId' => '<string>',
'alertArn' => '<string>',
'alertId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'notificationRules' => [
[
'target' => [
'arn' => '<string>',
'metadata' => ['<string>', ...],
'type' => 'sns|slack|pagerduty',
],
'trigger' => [
'stateValues' => ['<string>', ...],
],
],
// ...
],
'notificationStatus' => 'ENABLED|DISABLED',
'profileId' => '<string>',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT|LT|GTE|LTE',
'criticalThreshold' => <float>,
'thresholdField' => '<string>',
'thresholdMode' => 'COUNT_OF_RESULTS|FIELD_VALUE',
'warningThreshold' => <float>,
],
'evaluation' => [
'intervalSeconds' => <integer>,
'pendingDurationSeconds' => <integer>,
'recoveryDurationSeconds' => <integer>,
],
'noData' => [
'treatAs' => 'OK|WARNING|CRITICAL|NODATA',
],
'query' => [
'expression' => '<string>',
'language' => 'SQL|PROMQL',
],
],
],
'spaceId' => '<string>',
'state' => [
'contributorSummary' => [
'criticalCount' => <integer>,
'warningCount' => <integer>,
],
'data' => [
'thresholdBreached' => <float>,
],
'transitionedAt' => <DateTime>,
'value' => 'OK|WARNING|CRITICAL|NODATA',
],
'updatedAt' => <DateTime>,
],
'alertArn' => '<string>',
]
Result Details
Members
- alert
-
- Required: Yes
- Type: Alert structure
The alert that was created. The same
Alertshape GetAlert returns, so a caller need not read the alert back to learn its timestamps or its minted alert id.{@code alert.state} is absent here — see the
statemember ofAlert. Every other member is populated exactly as GetAlert populates it. - alertArn
-
- Type: string
Deprecated. Use
alert.alertArn, which carries the same value. Kept so an existing caller keeps working while it moves toalert.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create an alert on a field value
The following example creates an alert whose threshold is compared against a named field of each result row, so every service the query groups by is tracked as its own contributor. FIELD_VALUE requires thresholdField. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createAlert([
'name' => 'service-error-count-elevated',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'description' => 'Alerts when a service logs more errors than its accepted rate.',
'notificationRules' => [
[
'target' => [
'metadata' => [
'channel' => 'oncall-alerts',
],
'type' => 'slack',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'trigger' => [
'stateValues' => [
'CRITICAL',
],
],
],
],
'notificationsEnabled' => 1,
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 200,
'thresholdField' => 'error_count',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 50,
],
'evaluation' => [
'intervalSeconds' => 300,
'pendingDurationSeconds' => 600,
'recoveryDurationSeconds' => 300,
],
'noData' => [
'treatAs' => 'NODATA',
],
'query' => [
'expression' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'language' => 'SQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'alert' => [
'name' => 'service-error-count-elevated',
'accountId' => '123456789012',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'createdAt' => ,
'description' => 'Alerts when a service logs more errors than its accepted rate.',
'notificationRules' => [
[
'target' => [
'metadata' => [
'channel' => 'oncall-alerts',
],
'type' => 'slack',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'trigger' => [
'stateValues' => [
'CRITICAL',
],
],
],
],
'notificationStatus' => 'ENABLED',
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 200,
'thresholdField' => 'error_count',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 50,
],
'evaluation' => [
'intervalSeconds' => 300,
'pendingDurationSeconds' => 600,
'recoveryDurationSeconds' => 300,
],
'noData' => [
'treatAs' => 'NODATA',
],
'query' => [
'expression' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'language' => 'SQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
Example 2: Create an alert on the number of matching rows
The following example creates an alert whose threshold is compared against how many rows the query returns, rather than a value within them. COUNT_OF_RESULTS takes no thresholdField. Notifications are created disabled, so the alert evaluates and records state without sending anything, and an empty result set is treated as OK rather than as missing data. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createAlert([
'name' => 'service-checkout-5xx-responses',
'description' => 'Counts checkout responses that returned a server error.',
'notificationsEnabled' => ,
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 50,
'thresholdMode' => 'COUNT_OF_RESULTS',
'warningThreshold' => 10,
],
'evaluation' => [
'intervalSeconds' => 60,
'pendingDurationSeconds' => 120,
],
'noData' => [
'treatAs' => 'OK',
],
'query' => [
'expression' => 'SELECT * FROM "logs.default" WHERE resource['attributes']['service.name'] = 'checkout' AND attributes['http.response.status_code'] >= 500',
'language' => 'SQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'alert' => [
'name' => 'service-checkout-5xx-responses',
'accountId' => '123456789012',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/d4e5f6a78b9c4d0e9f1a2b3c4d5e6f70',
'alertId' => 'd4e5f6a78b9c4d0e9f1a2b3c4d5e6f70',
'createdAt' => ,
'description' => 'Counts checkout responses that returned a server error.',
'notificationStatus' => 'DISABLED',
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 50,
'thresholdMode' => 'COUNT_OF_RESULTS',
'warningThreshold' => 10,
],
'evaluation' => [
'intervalSeconds' => 60,
'pendingDurationSeconds' => 120,
],
'noData' => [
'treatAs' => 'OK',
],
'query' => [
'expression' => 'SELECT * FROM "logs.default" WHERE resource['attributes']['service.name'] = 'checkout' AND attributes['http.response.status_code'] >= 500',
'language' => 'SQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
Example 3: Create an alert from a PromQL query
The following example creates an alert from a PromQL expression instead of SQL. A PromQL rule compares against the series value, which is carried as the `value` field, so the condition is FIELD_VALUE with thresholdField set to `value`. Notifications go to an Amazon SNS topic, whose ARN is the topic itself rather than an integration. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createAlert([
'name' => 'checkout-error-rate-promql',
'description' => 'Alerts on the checkout server error rate over a five-minute window.',
'notificationRules' => [
[
'target' => [
'type' => 'sns',
'arn' => 'arn:aws:sns:us-east-1:123456789012:checkout-oncall',
],
'trigger' => [
'stateValues' => [
'WARNING',
'CRITICAL',
],
],
],
],
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 0.1,
'thresholdField' => 'value',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 0.05,
],
'evaluation' => [
'intervalSeconds' => 300,
'pendingDurationSeconds' => 300,
],
'noData' => [
'treatAs' => 'NODATA',
],
'query' => [
'expression' => 'sum by (service_name) (rate(http_server_errors_total{service_name="checkout"}[5m]))',
'language' => 'PROMQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'alert' => [
'name' => 'checkout-error-rate-promql',
'accountId' => '123456789012',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/e5f6a78b9c0d4e1f8a2b3c4d5e6f7081',
'alertId' => 'e5f6a78b9c0d4e1f8a2b3c4d5e6f7081',
'createdAt' => ,
'description' => 'Alerts on the checkout server error rate over a five-minute window.',
'notificationRules' => [
[
'target' => [
'type' => 'sns',
'arn' => 'arn:aws:sns:us-east-1:123456789012:checkout-oncall',
],
'trigger' => [
'stateValues' => [
'WARNING',
'CRITICAL',
],
],
],
],
'notificationStatus' => 'ENABLED',
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 0.1,
'thresholdField' => 'value',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 0.05,
],
'evaluation' => [
'intervalSeconds' => 300,
'pendingDurationSeconds' => 300,
],
'noData' => [
'treatAs' => 'NODATA',
],
'query' => [
'expression' => 'sum by (service_name) (rate(http_server_errors_total{service_name="checkout"}[5m]))',
'language' => 'PROMQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
CreateDomain
$result = $client->createDomain([/* ... */]); $promise = $client->createDomainAsync([/* ... */]);
Creates a domain with identity provider configuration.
Use GetDomain to retrieve the domain, UpdateDomain to change its configuration, and CreateSpace to add spaces within it.
Parameter Syntax
$result = $client->createDomain([
'clientToken' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...], // REQUIRED
'name' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the domain.
- identityProviders
-
- Required: Yes
- Type: Array of strings
The identity providers to configure for the domain.
- name
-
- Required: Yes
- Type: string
A name that identifies the domain. Must be 3-63 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the domain.
Result Syntax
[
'domain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- domain
-
- Required: Yes
- Type: Domain structure
The details of the created domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create a domain
The following example creates an Identity Center domain and configures it with an Identity Center instance. The name must be 3-63 characters of lowercase letters, numbers, and hyphens, and the endpoint URLs are derived from it. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createDomain([
'name' => 'prod-observability',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'domain' => [
'name' => 'prod-observability',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability.cloudwatch-omni.global.app.aws',
],
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'domainEndpointUrl' => 'https://d-1a2b3c4d5e.cloudwatch-omni.global.app.aws',
'domainId' => 'd-1a2b3c4d5e',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
CreateDomainAccessGrantForOrganization
$result = $client->createDomainAccessGrantForOrganization([/* ... */]); $promise = $client->createDomainAccessGrantForOrganizationAsync([/* ... */]);
Creates an AccessGrant that authorizes a principal to administer an organization domain.
Parameter Syntax
$result = $client->createDomainAccessGrantForOrganization([
'clientToken' => '<string>',
'domainId' => '<string>', // REQUIRED
'name' => '<string>', // REQUIRED
'permission' => 'ADMIN', // REQUIRED
'principal' => [ // REQUIRED
'principalAttributes' => [
[
'key' => '<string>', // REQUIRED
'value' => '<string>', // REQUIRED
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT', // REQUIRED
],
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain to create the grant on.
- name
-
- Required: Yes
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission to grant.
- principal
-
- Required: Yes
- Type: OrganizationAccessGrantPrincipal structure
The principal receiving the grant.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the access grant.
Result Syntax
[
'accessGrant' => [
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'ADMIN',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT',
],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessGrant
-
- Required: Yes
- Type: OrganizationAccessGrant structure
The details of the created organization access grant.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create an organization domain access grant
The following example grants an Identity Center user administrative access to an organization domain. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createDomainAccessGrantForOrganization([
'name' => 'org-domain-admin',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'domainId' => 'd-1a2b3c4d5e',
'permission' => 'ADMIN',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'accessGrant' => [
'name' => 'org-domain-admin',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'ADMIN',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'updatedAt' => ,
],
]
CreateDomainForOrganization
$result = $client->createDomainForOrganization([/* ... */]); $promise = $client->createDomainForOrganizationAsync([/* ... */]);
Creates an organization-scoped domain for the caller's AWS Organization. Only the organization's management account can call this operation.
Parameter Syntax
$result = $client->createDomainForOrganization([
'clientToken' => '<string>',
'domainAccessRoleArn' => '<string>', // REQUIRED
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...], // REQUIRED
'name' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- domainAccessRoleArn
-
- Required: Yes
- Type: string
The ARN of an IAM role in the management account used for domain access. You must create this role, and its trust policy must allow the service principal to assume it.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the domain.
- identityProviders
-
- Required: Yes
- Type: Array of strings
The identity providers to configure for the domain.
- name
-
- Required: Yes
- Type: string
A name that identifies the organization domain. Must be 3-63 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the domain.
Result Syntax
[
'organizationDomain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'organizationId' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- organizationDomain
-
- Required: Yes
- Type: OrganizationDomain structure
The details of the created organization domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Create an organization domain
The following example creates an organization-scoped domain from the organization's management account, configures it with an Identity Center instance, and supplies an IAM role in the management account for domain access. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createDomainForOrganization([
'name' => 'prod-observability-org',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'domainAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchOrganizationDomainAccessRole',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'organizationDomain' => [
'name' => 'prod-observability-org',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability-org.cloudwatch-omni.global.app.aws',
],
'domainAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchOrganizationDomainAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-domain/d-9z8y7x6w5v',
'domainEndpointUrl' => 'https://d-9z8y7x6w5v.cloudwatch-omni.global.app.aws',
'domainId' => 'd-9z8y7x6w5v',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'organizationId' => 'o-a1b2c3d4e5',
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
CreateIntegration
$result = $client->createIntegration([/* ... */]); $promise = $client->createIntegrationAsync([/* ... */]);
Creates an integration with a third-party provider. Returns the integration identifier and its initial status; when the provider requires interactive consent, an authorization URL is returned for the user to complete setup.
Parameter Syntax
$result = $client->createIntegration([
'clientToken' => '<string>',
'credential' => [
'apiKeyCredential' => [
'apiKeyValue' => '<string>', // REQUIRED
],
'oauthClientCredential' => [
'clientId' => '<string>', // REQUIRED
'clientSecret' => '<string>', // REQUIRED
'providerId' => '<string>',
],
'oauthCodeCredential' => [
'authCode' => '<string>', // REQUIRED
],
],
'integrationAttributes' => ['<string>', ...],
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION', // REQUIRED
'name' => '<string>', // REQUIRED
'roleArn' => '<string>',
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Retrying with the same token returns the original integration instead of creating a duplicate.
- credential
-
- Type: IntegrationCredential structure
The credential used to authenticate with the third-party provider.
- integrationAttributes
-
- Type: Associative array of custom strings keys (CreateIntegrationInputIntegrationAttributesMapKeyString) to strings
Provider-specific attributes to associate with the integration.
- integrationType
-
- Required: Yes
- Type: string
The type of third-party provider to integrate with.
- name
-
- Required: Yes
- Type: string
The name for the new integration; unique within the account.
- roleArn
-
- Type: string
The Amazon Resource Name of the IAM role assumed to access the integration.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
Tags to apply to the integration at creation time (Tagris tag-on-create).
Result Syntax
[
'integration' => [
'authType' => 'NONE|OAUTH2|API_KEY',
'authorizationUrl' => '<string>',
'createdAt' => <DateTime>,
'credentialArn' => '<string>',
'errorMessage' => '<string>',
'integrationArn' => '<string>',
'integrationAttributes' => ['<string>', ...],
'integrationId' => '<string>',
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION',
'name' => '<string>',
'roleArn' => '<string>',
'scope' => 'ACCOUNT|ORGANIZATION',
'status' => 'ACTIVE|DELETED|PENDING|PENDING_OAUTH|ERROR|FAILED',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- integration
-
- Required: Yes
- Type: Integration structure
The details of the created integration. This is the same object returned by GetIntegration and UpdateIntegration.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Create an AWS integration
The following example creates an AWS_INTEGRATION named my-aws-integration, authorized by an IAM role. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createIntegration([
'name' => 'my-aws-integration',
'clientToken' => 'b3f8c7d6-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
'integrationType' => 'AWS_INTEGRATION',
'roleArn' => 'arn:aws:iam::123456789012:role/service-role/CloudWatchIntegrationRole',
]);
Result syntax:
[
'integration' => [
'name' => 'my-aws-integration',
'createdAt' => ,
'integrationArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationType' => 'AWS_INTEGRATION',
'roleArn' => 'arn:aws:iam::123456789012:role/service-role/CloudWatchIntegrationRole',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
CreateOmniDashboard
$result = $client->createOmniDashboard([/* ... */]); $promise = $client->createOmniDashboardAsync([/* ... */]);
Creates a new dashboard within a space.
Use GetOmniDashboard and ListOmniDashboards to retrieve dashboards, UpdateOmniDashboard to modify one, and DeleteOmniDashboard to remove it.
Parameter Syntax
$result = $client->createOmniDashboard([
'body' => '<string>', // REQUIRED
'clientToken' => '<string>',
'description' => '<string>',
'name' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- body
-
- Required: Yes
- Type: string
The dashboard definition, as a JSON document. Maximum 1 MiB.
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- description
-
- Type: string
An optional description of the dashboard.
- name
-
- Required: Yes
- Type: string
A name that identifies the dashboard.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space to create the dashboard in.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the dashboard.
Result Syntax
[
'omniDashboard' => [
'arn' => '<string>',
'body' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'dashboardId' => '<string>',
'description' => '<string>',
'name' => '<string>',
'tags' => ['<string>', ...],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- omniDashboard
-
- Required: Yes
- Type: OmniDashboard structure
The dashboard.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create a dashboard
The following example creates a dashboard in a space from a JSON dashboard definition. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createOmniDashboard([
'name' => 'service-health-overview',
'body' => '{"widgets":[{"type":"metric","x":0,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/Lambda","Errors","FunctionName","OrderProcessor"]],"region":"us-east-1","title":"Lambda Errors"}}]}',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'description' => 'Overview of service health metrics.',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'omniDashboard' => [
'name' => 'service-health-overview',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'body' => '{"widgets":[{"type":"metric","x":0,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/Lambda","Errors","FunctionName","OrderProcessor"]],"region":"us-east-1","title":"Lambda Errors"}}]}',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'description' => 'Overview of service health metrics.',
'tags' => [
'Team' => 'observability',
],
'updatedAt' => ,
],
]
CreateOneTimeDeepLinkCode
$result = $client->createOneTimeDeepLinkCode([/* ... */]); $promise = $client->createOneTimeDeepLinkCodeAsync([/* ... */]);
Generates a one-time code for deep-link authentication.
Direct the user's browser to the returned deepLinkUrl before it expires. The code is exchanged for an authenticated, domain-scoped session and can be used only once.
Parameter Syntax
$result = $client->createOneTimeDeepLinkCode([
'domainId' => '<string>', // REQUIRED
'redirectUrl' => '<string>',
'ttlSeconds' => <integer>,
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the domain to generate the code for.
- redirectUrl
-
- Type: string
The URL to redirect to after the deep-link code is used. Must be an HTTPS URL in the domain with a path of /auth/callback, and cannot include a query string or fragment. If omitted, no redirect is applied.
- ttlSeconds
-
- Type: int
How long the code remains valid, in seconds. Defaults to 300.
Result Syntax
[
'code' => '<string>',
'deepLinkUrl' => '<string>',
'expiresAt' => <DateTime>,
]
Result Details
Members
- code
-
- Required: Yes
- Type: string
The one-time deep-link code.
- deepLinkUrl
-
- Required: Yes
- Type: string
The deep-link URL containing the one-time code.
- expiresAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the code expires.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Create a one-time deep-link code
The following example creates a one-time deep-link code for a domain that remains valid for 300 seconds and, once used, redirects the browser to the domain's /auth/callback path. Direct the user's browser to the returned deepLinkUrl before it expires; the code can be used only once. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createOneTimeDeepLinkCode([
'domainId' => 'd-1a2b3c4d5e',
'redirectUrl' => 'https://d-1a2b3c4d5e.cloudwatch-omni.global.app.aws/auth/callback',
'ttlSeconds' => 300,
]);
Result syntax:
[
'code' => 'dlc-EXAMPLE1234567890',
'deepLinkUrl' => 'https://d-1a2b3c4d5e.cloudwatch-omni.global.app.aws/deeplink?code=EXAMPLE1234567890',
'expiresAt' => ,
]
CreateSpace
$result = $client->createSpace([/* ... */]); $promise = $client->createSpaceAsync([/* ... */]);
Creates a space in a domain.
Use GetSpace to retrieve the space, ListSpaces to enumerate spaces, UpdateSpace to modify it, and DeleteSpace to remove it.
Parameter Syntax
$result = $client->createSpace([
'agentCoreEvaluationRoleArn' => '<string>',
'clientToken' => '<string>',
'dataAccessRoleArn' => '<string>', // REQUIRED
'domainId' => '<string>', // REQUIRED
'encryptionConfiguration' => [
'encryptionStrategy' => 'AWS_OWNED|CUSTOMER_MANAGED', // REQUIRED
'kmsKeyArn' => '<string>',
],
'name' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- agentCoreEvaluationRoleArn
-
- Type: string
The ARN of the IAM role used by AgentCore online evaluation. Must be in the caller's account. Omit if the space does not use AgentCore online evaluation.
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.
- dataAccessRoleArn
-
- Required: Yes
- Type: string
The ARN of the IAM role used for data access. The role must be in the caller's account.
- domainId
-
- Required: Yes
- Type: string
The ID of the domain to create the space in.
- encryptionConfiguration
-
- Type: EncryptionConfiguration structure
How to encrypt the space's data at rest. Omit for service owned encryption, which is equivalent to passing
encryptionStrategyAWS_OWNED. - name
-
- Required: Yes
- Type: string
A name that identifies the space. Must be 3-64 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to associate with the space.
Result Syntax
[
'space' => [
'agentCoreEvaluationRoleArn' => '<string>',
'createdAt' => <DateTime>,
'dataAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'encryptionConfiguration' => [
'encryptionStrategy' => 'AWS_OWNED|CUSTOMER_MANAGED',
'kmsKeyArn' => '<string>',
],
'name' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'spaceArn' => '<string>',
'spaceId' => '<string>',
'status' => 'ACTIVE|SUSPENDED|MOVING',
'statusReason' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- space
-
- Required: Yes
- Type: Space structure
The details of the created space.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Create a space
The following example creates a space in a domain and encrypts its data at rest with a customer managed KMS key. The name must be 3-64 characters of lowercase letters, numbers, and hyphens. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createSpace([
'name' => 'prod-observability',
'agentCoreEvaluationRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchAgentCoreEvaluationRole',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'dataAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchSpaceDataAccessRole',
'domainId' => 'd-1a2b3c4d5e',
'encryptionConfiguration' => [
'encryptionStrategy' => 'CUSTOMER_MANAGED',
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'space' => [
'name' => 'prod-observability',
'agentCoreEvaluationRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchAgentCoreEvaluationRole',
'createdAt' => ,
'dataAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchSpaceDataAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'encryptionConfiguration' => [
'encryptionStrategy' => 'CUSTOMER_MANAGED',
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:space/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
CreateView
$result = $client->createView([/* ... */]); $promise = $client->createViewAsync([/* ... */]);
Creates a new SQL view.
A view is a named, reusable SQL query that can be referenced from telemetry queries. View names must be unique within the account and region. Only USER views can be created — MANAGED views are provisioned by AWS.
Parameter Syntax
$result = $client->createView([
'clientToken' => '<string>',
'definition' => '<string>', // REQUIRED
'description' => '<string>',
'name' => '<string>', // REQUIRED
'tags' => ['<string>', ...],
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Retrying with the same token returns the original view instead of creating a duplicate.
- definition
-
- Required: Yes
- Type: string
The SQL query that defines the view.
- description
-
- Type: string
A description of the view.
- name
-
- Required: Yes
- Type: string
The name of the view. Must begin with the "view." prefix. View names must be unique within the account and region.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
Resource tags.
Result Syntax
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'definition' => '<string>',
'description' => '<string>',
'name' => '<string>',
'type' => 'USER|MANAGED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the view.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was created.
- definition
-
- Required: Yes
- Type: string
The SQL query that defines the view.
- description
-
- Type: string
The description of the view.
- name
-
- Required: Yes
- Type: string
The name of the view.
- type
-
- Required: Yes
- Type: string
The ownership category of the view.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was last updated.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Create a view
The following example creates a user view that saves an error-count-by-service query. View names must begin with the view. prefix and be unique within the account and Region. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->createView([
'name' => 'view.service_errors',
'clientToken' => '3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73',
'definition' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'description' => 'Error counts by service',
'tags' => [
'Team' => 'observability',
],
]);
Result syntax:
[
'name' => 'view.service_errors',
'type' => 'USER',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:view/view.service_errors',
'createdAt' => ,
'definition' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'description' => 'Error counts by service',
'updatedAt' => ,
]
DeleteAccessGrant
$result = $client->deleteAccessGrant([/* ... */]); $promise = $client->deleteAccessGrantAsync([/* ... */]);
Removes an existing AccessGrant, revoking the access it granted.
A service-managed grant cannot be deleted.
Parameter Syntax
$result = $client->deleteAccessGrant([
'grantId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- grantId
-
- Required: Yes
- Type: string
The ID of the access grant to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Delete an access grant
The following example deletes an access grant by ID, revoking the access it granted. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteAccessGrant([
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
]);
Result syntax:
[ ]
DeleteAccessProfile
$result = $client->deleteAccessProfile([/* ... */]); $promise = $client->deleteAccessProfileAsync([/* ... */]);
Removes an access profile.
An access profile cannot be deleted while access grants reference it.
Parameter Syntax
$result = $client->deleteAccessProfile([
'profileId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- profileId
-
- Required: Yes
- Type: string
The unique ID of the access profile to delete.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Delete an access profile
The following example deletes an access profile from a space. An access profile cannot be deleted while access grants reference it. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteAccessProfile([
'profileId' => 'analyst-readonly',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
DeleteAlert
$result = $client->deleteAlert([/* ... */]); $promise = $client->deleteAlertAsync([/* ... */]);
Deletes an alert by its identifier.
Idempotent: deleting an alert that has already been removed succeeds without error.
Parameter Syntax
$result = $client->deleteAlert([
'alertId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- alertId
-
- Required: Yes
- Type: string
The alert to delete.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Delete an alert
The following example removes an alert from a space. Deleting an alert that has already been removed succeeds without error. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteAlert([
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
DeleteDomain
$result = $client->deleteDomain([/* ... */]); $promise = $client->deleteDomainAsync([/* ... */]);
Removes a domain and all of its resources. Call this operation in the Region where the domain was created.
A domain cannot be deleted while it contains spaces.
Parameter Syntax
$result = $client->deleteDomain([
'domainId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The unique ID of the domain to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Delete a domain
The following example deletes a domain in the Region where it was created. The domain must not contain any spaces. A successful response returns an empty body. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteDomain([
'domainId' => 'd-1a2b3c4d5e',
]);
Result syntax:
[ ]
DeleteDomainAccessGrantForOrganization
$result = $client->deleteDomainAccessGrantForOrganization([/* ... */]); $promise = $client->deleteDomainAccessGrantForOrganizationAsync([/* ... */]);
Removes an existing organization access grant, revoking the access it granted.
A service-managed grant cannot be deleted.
Parameter Syntax
$result = $client->deleteDomainAccessGrantForOrganization([
'grantId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- grantId
-
- Required: Yes
- Type: string
The ID of the access grant to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Delete an organization domain access grant
The following example deletes an organization domain access grant by ID, revoking the access it granted. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteDomainAccessGrantForOrganization([
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
]);
Result syntax:
[ ]
DeleteDomainForOrganization
$result = $client->deleteDomainForOrganization([/* ... */]); $promise = $client->deleteDomainForOrganizationAsync([/* ... */]);
Removes an organization domain and all of its resources. Call this operation in the Region where the domain was created.
A domain cannot be deleted while it contains spaces.
Parameter Syntax
$result = $client->deleteDomainForOrganization([
'domainId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Delete an organization domain
The following example deletes an organization domain in the Region where it was created. The domain must not contain any spaces. A successful response returns an empty body. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteDomainForOrganization([
'domainId' => 'd-9z8y7x6w5v',
]);
Result syntax:
[ ]
DeleteIntegration
$result = $client->deleteIntegration([/* ... */]); $promise = $client->deleteIntegrationAsync([/* ... */]);
Deletes an integration. Returns the resulting status.
Parameter Syntax
$result = $client->deleteIntegration([
'identifier' => [ // REQUIRED
'integrationArn' => '<string>',
'integrationId' => '<string>',
'integrationName' => '<string>',
],
]);
Parameter Details
Members
- identifier
-
- Required: Yes
- Type: IntegrationIdentifier structure
Identifies the integration to delete — exactly one of integrationId, integrationArn, or integrationName.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Delete an integration by id
The following example deletes the integration identified by its id. DeleteIntegration is idempotent and returns an empty response. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteIntegration([
'identifier' => [
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
]);
Result syntax:
[ ]
DeleteOmniDashboard
$result = $client->deleteOmniDashboard([/* ... */]); $promise = $client->deleteOmniDashboardAsync([/* ... */]);
Removes a dashboard from a space.
Parameter Syntax
$result = $client->deleteOmniDashboard([
'dashboardId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- dashboardId
-
- Required: Yes
- Type: string
The unique ID of the dashboard.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Delete a dashboard
The following example removes a dashboard from a space. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteOmniDashboard([
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
DeleteSpace
$result = $client->deleteSpace([/* ... */]); $promise = $client->deleteSpaceAsync([/* ... */]);
Removes a space and all of its resources.
Parameter Syntax
$result = $client->deleteSpace([
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Delete a space
The following example removes a space and all of its resources. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteSpace([
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
DeleteView
$result = $client->deleteView([/* ... */]); $promise = $client->deleteViewAsync([/* ... */]);
Deletes the specified view.
Queries that reference the view fail after it is deleted. Managed views cannot be deleted.
Parameter Syntax
$result = $client->deleteView([
'name' => '<string>', // REQUIRED
]);
Parameter Details
Members
- name
-
- Required: Yes
- Type: string
The name of the view to delete.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Delete a view
The following example deletes a view. The response body is empty. Queries that reference the view fail after it is deleted. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->deleteView([
'name' => 'view.service_errors',
]);
Result syntax:
[ ]
GetAccessGrant
$result = $client->getAccessGrant([/* ... */]); $promise = $client->getAccessGrantAsync([/* ... */]);
Retrieves the full detail of a single AccessGrant by ID.
Parameter Syntax
$result = $client->getAccessGrant([
'grantId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- grantId
-
- Required: Yes
- Type: string
The ID of the access grant to retrieve.
Result Syntax
[
'accessGrant' => [
'accountId' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'SPACE_ADMIN|READ|READ_WRITE_DELETE|CUSTOM',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT|ACCESS_PROFILE|ALERT|AGENT',
],
'scopedActions' => [
[
'actions' => ['<string>', ...],
'contextConditions' => [
'<String>' => ['<string>', ...],
// ...
],
'resources' => [
[
'resourceArns' => ['<string>', ...],
'resourceType' => '<string>',
'rowScopeGroups' => [
[
[
'field' => '<string>',
'operator' => 'IN',
'values' => ['<string>', ...],
],
// ...
],
// ...
],
'signalTypes' => ['<string>', ...],
'tags' => ['<string>', ...],
],
// ...
],
],
// ...
],
'spaceId' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessGrant
-
- Required: Yes
- Type: AccessGrant structure
The full details of the access grant.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get an access grant
The following example retrieves the full detail of a single access grant by ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getAccessGrant([
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
]);
Result syntax:
[
'accessGrant' => [
'name' => 'analyst-read-access',
'accountId' => '123456789012',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'CUSTOM',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'scopedActions' => [
[
'actions' => [
'cloudwatch:GetOmniDashboard',
'cloudwatch:UpdateOmniDashboard',
],
'resources' => [
[
'resourceArns' => [
'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
],
'resourceType' => 'OmniDashboard',
],
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
GetAccessProfile
$result = $client->getAccessProfile([/* ... */]); $promise = $client->getAccessProfileAsync([/* ... */]);
Retrieves an access profile by ID.
The response indicates whether the calling principal is currently allowed to assume the profile.
Parameter Syntax
$result = $client->getAccessProfile([
'profileId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- profileId
-
- Required: Yes
- Type: string
The unique ID of the access profile.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'accessProfile' => [
'arn' => '<string>',
'assumeStatus' => 'ALLOWED|DENIED',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'profileId' => '<string>',
'profileType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'spaceId' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessProfile
-
- Required: Yes
- Type: AccessProfile structure
The access profile.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get an access profile
The following example retrieves an access profile by ID, including whether the calling principal is currently allowed to assume it. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getAccessProfile([
'profileId' => 'analyst-readonly',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'accessProfile' => [
'name' => 'Analyst read-only profile',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-profile/analyst-readonly',
'assumeStatus' => 'ALLOWED',
'createdAt' => ,
'description' => 'Read-only access for analysts.',
'profileId' => 'analyst-readonly',
'profileType' => 'CUSTOMER_MANAGED',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
GetAlert
$result = $client->getAlert([/* ... */]); $promise = $client->getAlertAsync([/* ... */]);
Retrieves a single alert by its identifier.
Use ListAlerts to enumerate alerts in the space.
Parameter Syntax
$result = $client->getAlert([
'alertId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- alertId
-
- Required: Yes
- Type: string
The alert to retrieve.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'alert' => [
'accountId' => '<string>',
'alertArn' => '<string>',
'alertId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'notificationRules' => [
[
'target' => [
'arn' => '<string>',
'metadata' => ['<string>', ...],
'type' => 'sns|slack|pagerduty',
],
'trigger' => [
'stateValues' => ['<string>', ...],
],
],
// ...
],
'notificationStatus' => 'ENABLED|DISABLED',
'profileId' => '<string>',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT|LT|GTE|LTE',
'criticalThreshold' => <float>,
'thresholdField' => '<string>',
'thresholdMode' => 'COUNT_OF_RESULTS|FIELD_VALUE',
'warningThreshold' => <float>,
],
'evaluation' => [
'intervalSeconds' => <integer>,
'pendingDurationSeconds' => <integer>,
'recoveryDurationSeconds' => <integer>,
],
'noData' => [
'treatAs' => 'OK|WARNING|CRITICAL|NODATA',
],
'query' => [
'expression' => '<string>',
'language' => 'SQL|PROMQL',
],
],
],
'spaceId' => '<string>',
'state' => [
'contributorSummary' => [
'criticalCount' => <integer>,
'warningCount' => <integer>,
],
'data' => [
'thresholdBreached' => <float>,
],
'transitionedAt' => <DateTime>,
'value' => 'OK|WARNING|CRITICAL|NODATA',
],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- alert
-
- Required: Yes
- Type: Alert structure
The full alert entity.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Retrieve an alert
The following example retrieves an alert by its identifier, including the live evaluation state that CreateAlert does not report. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getAlert([
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'alert' => [
'name' => 'service-error-count-elevated',
'accountId' => '123456789012',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'createdAt' => ,
'description' => 'Alerts when a service logs more errors than its accepted rate.',
'notificationRules' => [
[
'target' => [
'metadata' => [
'channel' => 'oncall-alerts',
],
'type' => 'slack',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'trigger' => [
'stateValues' => [
'CRITICAL',
],
],
],
],
'notificationStatus' => 'ENABLED',
'profileId' => 'analyst-readonly',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 200,
'thresholdField' => 'error_count',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 50,
],
'evaluation' => [
'intervalSeconds' => 300,
'pendingDurationSeconds' => 600,
'recoveryDurationSeconds' => 300,
],
'noData' => [
'treatAs' => 'NODATA',
],
'query' => [
'expression' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'language' => 'SQL',
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'state' => [
'value' => 'CRITICAL',
'contributorSummary' => [
'criticalCount' => 1,
'warningCount' => 3,
],
'transitionedAt' => ,
],
'updatedAt' => ,
],
]
GetContextGraph
$result = $client->getContextGraph([/* ... */]); $promise = $client->getContextGraphAsync([/* ... */]);
Queries the context graph with filtering, traversal, and pagination support.
Pagination note: nodes and edges are returned together as a coherent subgraph. Pagination cursors advance over nodes (the primary collection); each page includes all edges connecting nodes within that page. Callers should treat nodes as the paginated collection and edges as supplementary relationship data attached to those nodes.
Parameter Syntax
$result = $client->getContextGraph([
'depth' => <integer>,
'edgeFilters' => [
'edgeId' => '<string>',
'edgeType' => 'CALLS|ACCESSES|RUNS_ON',
'from' => '<string>',
'operations' => ['<string>', ...],
'sources' => ['<string>', ...],
'telemetryAttributes' => [
[
'key' => '<string>', // REQUIRED
'values' => ['<string>', ...],
],
// ...
],
'to' => '<string>',
],
'endTime' => <integer || string || DateTime>, // REQUIRED
'includeMetadata' => true || false,
'maxEdgesPerNode' => <integer>,
'maxResults' => <integer>,
'nextToken' => '<string>',
'nodeFilters' => [
'category' => ['<string>', ...],
'cloudProvider' => ['<string>', ...],
'name' => '<string>',
'namespace' => ['<string>', ...],
'nodeId' => '<string>',
'nodeType' => 'SERVICE|RESOURCE|REMOTE_SERVICE',
'region' => ['<string>', ...],
'sourceAccountId' => ['<string>', ...],
'sources' => ['<string>', ...],
'stage' => ['<string>', ...],
'tags' => [
[
'key' => '<string>', // REQUIRED
'values' => ['<string>', ...],
],
// ...
],
'telemetryAttributes' => [
[
'key' => '<string>', // REQUIRED
'values' => ['<string>', ...],
],
// ...
],
],
'startTime' => <integer || string || DateTime>, // REQUIRED
]);
Parameter Details
Members
- depth
-
- Type: int
How many hops to traverse out from the nodes matched by nodeFilters. 0 returns only the matched nodes themselves.
- edgeFilters
-
- Type: EdgeFilters structure
Criteria restricting which edges are returned.
- endTime
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
End of the time range (UTC), inclusive.
- includeMetadata
-
- Type: boolean
Whether to return the metadata block, semantics included, on each node and edge. Off by default because it costs an extra lookup per returned node.
- maxEdgesPerNode
-
- Type: int
The maximum number of edges to return per node, bounding the fan-out of a densely connected node.
- maxResults
-
- Type: int
The maximum number of nodes to return in a single page.
- nextToken
-
- Type: string
Pagination token from a previous response, to retrieve the next page.
- nodeFilters
-
- Type: NodeFilters structure
Criteria restricting which nodes are returned.
- startTime
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Start of the time range (UTC), inclusive.
Result Syntax
[
'nextToken' => '<string>',
'nodes' => [
[
'alternateNames' => ['<string>', ...],
'edges' => [
[
'edgeId' => '<string>',
'edgeProperties' => [
'blocked' => true || false,
'destinationPort' => '<string>',
'errorCode' => '<string>',
'httpMethod' => '<string>',
'httpStatusCode' => '<string>',
'protocol' => '<string>',
'serviceInitiated' => true || false,
'sourcePort' => '<string>',
'trafficStats' => [
'bytes' => <integer>,
'flows' => <integer>,
'packets' => <integer>,
'receivedBytes' => <integer>,
'sentBytes' => <integer>,
],
],
'edgeType' => 'CALLS|ACCESSES|RUNS_ON',
'firstObservedAt' => <DateTime>,
'from' => '<string>',
'lastObservedAt' => <DateTime>,
'metadata' => [
'logs' => [
[
'attributes' => ['<string>', ...],
],
// ...
],
'metrics' => [
[
'attributes' => ['<string>', ...],
'metricType' => '<string>',
'name' => '<string>',
'namespace' => '<string>',
'preferredStat' => '<string>',
'semantics' => [
'description' => '<string>',
'unit' => '<string>',
],
],
// ...
],
'semantics' => [
'framework' => '<string>',
'kind' => '<string>',
'language' => '<string>',
'purpose' => '<string>',
'repository' => '<string>',
],
'traces' => [
[
'attributes' => ['<string>', ...],
],
// ...
],
],
'operations' => ['<string>', ...],
'signalTypes' => ['<string>', ...],
'sources' => ['<string>', ...],
'telemetryAttributes' => ['<string>', ...],
'to' => '<string>',
],
// ...
],
'firstObservedAt' => <DateTime>,
'lastObservedAt' => <DateTime>,
'metadata' => [
'logs' => [
[
'attributes' => ['<string>', ...],
],
// ...
],
'metrics' => [
[
'attributes' => ['<string>', ...],
'metricType' => '<string>',
'name' => '<string>',
'namespace' => '<string>',
'preferredStat' => '<string>',
'semantics' => [
'description' => '<string>',
'unit' => '<string>',
],
],
// ...
],
'semantics' => [
'framework' => '<string>',
'kind' => '<string>',
'language' => '<string>',
'purpose' => '<string>',
'repository' => '<string>',
],
'traces' => [
[
'attributes' => ['<string>', ...],
],
// ...
],
],
'name' => '<string>',
'nodeId' => '<string>',
'nodeProperties' => [
'category' => 'GEN_AI_AGENT|GEN_AI_MODEL|DATABASE|MESSAGING_QUEUE|COMPUTE|STORAGE|NETWORK',
'cloudProvider' => '<string>',
'namespace' => '<string>',
'region' => '<string>',
'sourceAccountId' => '<string>',
'stage' => '<string>',
],
'nodeType' => 'SERVICE|RESOURCE|REMOTE_SERVICE',
'operationDetails' => [
'<OperationName>' => [
['<string>', ...],
// ...
],
// ...
],
'signalTypes' => ['<string>', ...],
'sources' => ['<string>', ...],
'tags' => ['<string>', ...],
'telemetryAttributes' => ['<string>', ...],
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
Pagination token for the next page; absent when there are no more results.
- nodes
-
- Required: Yes
- Type: Array of Node structures
The page of nodes matching the request. This is the paginated collection.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Query a service and its immediate dependencies
The following example returns context graph nodes matching the filter and traverses one hop out to their direct dependencies, over a one-hour window. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getContextGraph([
'depth' => 1,
'endTime' => ,
'includeMetadata' => ,
'maxResults' => 100,
'nodeFilters' => [
'namespace' => [
'ecommerce',
],
'nodeType' => 'SERVICE',
],
'startTime' => ,
]);
Result syntax:
[
'nextToken' => 'eyJvZmZzZXQiOjEwMH0=',
'nodes' => [
[
'name' => 'checkout-service',
'edges' => [
[
'operations' => [
'POST /charges',
],
'edgeId' => 'edge:checkout-service->payments-service',
'edgeType' => 'CALLS',
'firstObservedAt' => ,
'from' => 'svc:checkout-service',
'lastObservedAt' => ,
'signalTypes' => [
'TRACES',
],
'sources' => [
'TELEMETRY',
],
'to' => 'svc:payments-service',
],
],
'firstObservedAt' => ,
'lastObservedAt' => ,
'nodeId' => 'svc:checkout-service',
'nodeProperties' => [
'cloudProvider' => 'aws',
'namespace' => 'ecommerce',
'region' => 'us-east-1',
'sourceAccountId' => '123456789012',
],
'nodeType' => 'SERVICE',
'signalTypes' => [
'TRACES',
],
'sources' => [
'TELEMETRY',
],
],
[
'name' => 'payments-service',
'firstObservedAt' => ,
'lastObservedAt' => ,
'nodeId' => 'svc:payments-service',
'nodeProperties' => [
'cloudProvider' => 'aws',
'namespace' => 'ecommerce',
'region' => 'us-east-1',
'sourceAccountId' => '123456789012',
],
'nodeType' => 'SERVICE',
'signalTypes' => [
'TRACES',
],
'sources' => [
'TELEMETRY',
],
],
],
]
GetDomain
$result = $client->getDomain([/* ... */]); $promise = $client->getDomainAsync([/* ... */]);
Retrieves the details of a domain by ID.
Parameter Syntax
$result = $client->getDomain([
'domainId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The unique ID of the domain.
Result Syntax
[
'domain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- domain
-
- Required: Yes
- Type: Domain structure
The details of the domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get a domain
The following example retrieves the configuration and status of an Identity Center domain by its ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getDomain([
'domainId' => 'd-1a2b3c4d5e',
]);
Result syntax:
[
'domain' => [
'name' => 'prod-observability',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability.cloudwatch-omni.global.app.aws',
],
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'domainEndpointUrl' => 'https://d-1a2b3c4d5e.cloudwatch-omni.global.app.aws',
'domainId' => 'd-1a2b3c4d5e',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
GetDomainAccessGrantForOrganization
$result = $client->getDomainAccessGrantForOrganization([/* ... */]); $promise = $client->getDomainAccessGrantForOrganizationAsync([/* ... */]);
Retrieves the full detail of a single organization access grant by ID.
Parameter Syntax
$result = $client->getDomainAccessGrantForOrganization([
'grantId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- grantId
-
- Required: Yes
- Type: string
The ID of the access grant to retrieve.
Result Syntax
[
'accessGrant' => [
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'ADMIN',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT',
],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessGrant
-
- Required: Yes
- Type: OrganizationAccessGrant structure
The retrieved organization access grant.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get an organization domain access grant
The following example retrieves the full detail of a single organization domain access grant by ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getDomainAccessGrantForOrganization([
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
]);
Result syntax:
[
'accessGrant' => [
'name' => 'org-domain-admin',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'ADMIN',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'updatedAt' => ,
],
]
GetDomainForOrganization
$result = $client->getDomainForOrganization([/* ... */]); $promise = $client->getDomainForOrganizationAsync([/* ... */]);
Retrieves the details of an organization domain by ID.
Parameter Syntax
$result = $client->getDomainForOrganization([
'domainId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain.
Result Syntax
[
'organizationDomain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'organizationId' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- organizationDomain
-
- Required: Yes
- Type: OrganizationDomain structure
The details of the organization domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get an organization domain
The following example retrieves the configuration and status of an organization-scoped domain by its ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getDomainForOrganization([
'domainId' => 'd-9z8y7x6w5v',
]);
Result syntax:
[
'organizationDomain' => [
'name' => 'prod-observability-org',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability-org.cloudwatch-omni.global.app.aws',
],
'domainAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchOrganizationDomainAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-domain/d-9z8y7x6w5v',
'domainEndpointUrl' => 'https://d-9z8y7x6w5v.cloudwatch-omni.global.app.aws',
'domainId' => 'd-9z8y7x6w5v',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'organizationId' => 'o-a1b2c3d4e5',
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
GetIntegration
$result = $client->getIntegration([/* ... */]); $promise = $client->getIntegrationAsync([/* ... */]);
Returns the details of a single integration, identified by its identifier, Amazon Resource Name, or name.
Parameter Syntax
$result = $client->getIntegration([
'identifier' => [ // REQUIRED
'integrationArn' => '<string>',
'integrationId' => '<string>',
'integrationName' => '<string>',
],
]);
Parameter Details
Members
- identifier
-
- Required: Yes
- Type: IntegrationIdentifier structure
Identifies the integration to return — exactly one of integrationId, integrationArn, or integrationName.
Result Syntax
[
'integration' => [
'authType' => 'NONE|OAUTH2|API_KEY',
'authorizationUrl' => '<string>',
'createdAt' => <DateTime>,
'credentialArn' => '<string>',
'errorMessage' => '<string>',
'integrationArn' => '<string>',
'integrationAttributes' => ['<string>', ...],
'integrationId' => '<string>',
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION',
'name' => '<string>',
'roleArn' => '<string>',
'scope' => 'ACCOUNT|ORGANIZATION',
'status' => 'ACTIVE|DELETED|PENDING|PENDING_OAUTH|ERROR|FAILED',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- integration
-
- Required: Yes
- Type: Integration structure
The details of the requested integration.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get an integration by id
The following example returns the integration with the given id. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getIntegration([
'identifier' => [
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
]);
Result syntax:
[
'integration' => [
'name' => 'my-aws-integration',
'createdAt' => ,
'integrationArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationType' => 'AWS_INTEGRATION',
'roleArn' => 'arn:aws:iam::123456789012:role/service-role/CloudWatchIntegrationRole',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
GetIntelligenceConfiguration
$result = $client->getIntelligenceConfiguration([/* ... */]); $promise = $client->getIntelligenceConfigurationAsync([/* ... */]);
Retrieves the intelligence configuration for the calling account. Account is identified via FAS (caller identity). Returns the default configuration if none exists yet.
Parameter Syntax
$result = $client->getIntelligenceConfiguration([ ]);
Parameter Details
Members
Result Syntax
[
'accountId' => '<string>',
'createdAt' => <DateTime>,
'kmsKeyArn' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- accountId
-
- Required: Yes
- Type: string
The AWS account ID this configuration applies to.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
ISO-8601 timestamp of initial creation.
- kmsKeyArn
-
- Type: string
The currently active KMS key ARN for customer-managed encryption, if configured.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
ISO-8601 timestamp of the last update.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Retrieve the intelligence configuration
The following example retrieves the intelligence configuration for the calling account. The request carries no parameters; the account is taken from the caller identity. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getIntelligenceConfiguration([ ]);
Result syntax:
[
'accountId' => '123456789012',
'createdAt' => ,
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
]
GetOmniDashboard
$result = $client->getOmniDashboard([/* ... */]); $promise = $client->getOmniDashboardAsync([/* ... */]);
Retrieves a dashboard by ID within a space.
Parameter Syntax
$result = $client->getOmniDashboard([
'dashboardId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- dashboardId
-
- Required: Yes
- Type: string
The unique ID of the dashboard.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'omniDashboard' => [
'arn' => '<string>',
'body' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'dashboardId' => '<string>',
'description' => '<string>',
'name' => '<string>',
'tags' => ['<string>', ...],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- omniDashboard
-
- Required: Yes
- Type: OmniDashboard structure
The dashboard.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get a dashboard
The following example retrieves a dashboard by ID within a space, including its full body. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getOmniDashboard([
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'omniDashboard' => [
'name' => 'service-health-overview',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'body' => '{"widgets":[{"type":"metric","x":0,"y":0,"width":12,"height":6,"properties":{"metrics":[["AWS/Lambda","Errors","FunctionName","OrderProcessor"]],"region":"us-east-1","title":"Lambda Errors"}}]}',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'description' => 'Overview of service health metrics.',
'tags' => [
'Team' => 'observability',
],
'updatedAt' => ,
],
]
GetSpace
$result = $client->getSpace([/* ... */]); $promise = $client->getSpaceAsync([/* ... */]);
Retrieves the details of a space by ID.
Parameter Syntax
$result = $client->getSpace([
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'space' => [
'agentCoreEvaluationRoleArn' => '<string>',
'createdAt' => <DateTime>,
'dataAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'encryptionConfiguration' => [
'encryptionStrategy' => 'AWS_OWNED|CUSTOMER_MANAGED',
'kmsKeyArn' => '<string>',
],
'name' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'spaceArn' => '<string>',
'spaceId' => '<string>',
'status' => 'ACTIVE|SUSPENDED|MOVING',
'statusReason' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- space
-
- Required: Yes
- Type: Space structure
The details of the space.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get a space
The following example retrieves the details of a space by ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getSpace([
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'space' => [
'name' => 'prod-observability',
'agentCoreEvaluationRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchAgentCoreEvaluationRole',
'createdAt' => ,
'dataAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchSpaceDataAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'encryptionConfiguration' => [
'encryptionStrategy' => 'CUSTOMER_MANAGED',
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:space/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
GetSpaceCredentialsForOrganization
$result = $client->getSpaceCredentialsForOrganization([/* ... */]); $promise = $client->getSpaceCredentialsForOrganizationAsync([/* ... */]);
Returns temporary credentials for a space in an organization member account. The credentials are valid for one hour.
The caller must be the organization's management account or a delegated administrator with access to the target space. The target account must be an active member of the same organization as the domain, and the space must already exist.
Parameter Syntax
$result = $client->getSpaceCredentialsForOrganization([
'context' => [ // REQUIRED
'domainId' => '<string>',
'spaceId' => '<string>',
'targetAccountId' => '<string>',
],
'credentialType' => 'SPACE_OPERATION', // REQUIRED
]);
Parameter Details
Members
- context
-
- Required: Yes
- Type: SpaceCredentialRequestContext structure
Context for credential resolution.
- credentialType
-
- Required: Yes
- Type: string
Selects which member-account credential to return. Set this to SPACE_OPERATION.
Result Syntax
[
'credentials' => [
'accessKeyId' => '<string>',
'expiration' => <DateTime>,
'secretAccessKey' => '<string>',
'sessionToken' => '<string>',
],
]
Result Details
Members
- credentials
-
- Required: Yes
- Type: AwsCredentials structure
The temporary AWS credentials for the space.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get space credentials for an organization member account
The following example returns temporary, space-scoped AWS credentials for an existing space in an organization member account, selected by spaceId. The credentials are valid for one hour, as reflected by the expiration timestamp. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getSpaceCredentialsForOrganization([
'context' => [
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'credentialType' => 'SPACE_OPERATION',
]);
Result syntax:
[
'credentials' => [
'accessKeyId' => 'ASIAIOSFODNN7EXAMPLE',
'expiration' => ,
'secretAccessKey' => 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
'sessionToken' => 'IQoJb3JpZ2luX2VjEXAMPLESESSIONTOKEN1234567890',
],
]
GetTelemetryQueryResults
$result = $client->getTelemetryQueryResults([/* ... */]); $promise = $client->getTelemetryQueryResultsAsync([/* ... */]);
Returns the results for the specified query.
Parameter Syntax
$result = $client->getTelemetryQueryResults([
'maxResults' => <integer>,
'nextToken' => '<string>',
'queryId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of result rows to return per page.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
- queryId
-
- Required: Yes
- Type: string
The unique ID of the query.
Result Syntax
[
'nextToken' => '<string>',
'rows' => [
['<string>', ...],
// ...
],
'statistics' => [
'bytesScanned' => <float>,
'partialResults' => [
'partialResultsDetected' => true || false,
],
'percentComplete' => <integer>,
'recordsMatched' => <integer>,
'recordsScanned' => <integer>,
],
'status' => 'Running|Failed|Complete|Cancelled',
]
Result Details
Members
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
- rows
-
- Type: Array of stringss
The result rows returned by the query.
- statistics
-
- Type: QueryStatistics structure
Statistics about the query execution.
- status
-
- Required: Yes
- Type: string
The current execution status of the query.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get telemetry query results
The following example retrieves a page of results for a completed query, along with execution statistics. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getTelemetryQueryResults([
'maxResults' => 100,
'queryId' => '3b2a1c0d-7e6f-4a5b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'rows' => [
[
'error_count' => '42',
'service.name' => 'checkout-service',
],
[
'error_count' => '7',
'service.name' => 'payments-service',
],
],
'statistics' => [
'bytesScanned' => 1048576,
'partialResults' => [
'partialResultsDetected' => ,
],
'percentComplete' => 100,
'recordsMatched' => 49,
'recordsScanned' => 20000,
],
'status' => 'Complete',
]
GetView
$result = $client->getView([/* ... */]); $promise = $client->getViewAsync([/* ... */]);
Returns the definition and metadata of the specified view.
Parameter Syntax
$result = $client->getView([
'name' => '<string>', // REQUIRED
]);
Parameter Details
Members
- name
-
- Required: Yes
- Type: string
The name of the view.
Result Syntax
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'definition' => '<string>',
'description' => '<string>',
'name' => '<string>',
'type' => 'USER|MANAGED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the view.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was created.
- definition
-
- Required: Yes
- Type: string
The SQL query that defines the view.
- description
-
- Type: string
The description of the view.
- name
-
- Required: Yes
- Type: string
The name of the view.
- type
-
- Required: Yes
- Type: string
The ownership category of the view.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was last updated.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Get a view
The following example returns the definition and metadata of a view. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->getView([
'name' => 'view.service_errors',
]);
Result syntax:
[
'name' => 'view.service_errors',
'type' => 'USER',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:view/view.service_errors',
'createdAt' => ,
'definition' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service',
'description' => 'Error counts by service',
'updatedAt' => ,
]
ListAccessGrants
$result = $client->listAccessGrants([/* ... */]); $promise = $client->listAccessGrantsAsync([/* ... */]);
Returns AccessGrants, with optional filtering by domain, space, principal, or permission. A grant is returned only when it matches every filter supplied. With no filters, returns the grants for the current account and Region.
Parameter Syntax
$result = $client->listAccessGrants([
'domainId' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'permission' => 'SPACE_ADMIN|READ|READ_WRITE_DELETE|CUSTOM',
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT|ACCESS_PROFILE|ALERT|AGENT',
'spaceId' => '<string>',
]);
Parameter Details
Members
- domainId
-
- Type: string
Filter by domain ID.
- maxResults
-
- Type: int
The maximum number of access grants to return per page. Defaults to 100. A page can contain fewer results than this value even when more results remain; continue while nextToken is present.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Supply the same filters used on the request that returned it. Tokens expire after 24 hours.
- permission
-
- Type: string
Filter by permission level.
- principalId
-
- Type: string
Filter by principal ID.
- principalType
-
- Type: string
Filter by principal type.
- spaceId
-
- Type: string
Filter by space ID.
Result Syntax
[
'items' => [
[
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'SPACE_ADMIN|READ|READ_WRITE_DELETE|CUSTOM',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT|ACCESS_PROFILE|ALERT|AGENT',
],
'spaceId' => '<string>',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of AccessGrantSummary structures
The list of access grant summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List access grants in a space
The following example lists the first page of access grants in a space and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listAccessGrants([
'domainId' => 'd-1a2b3c4d5e',
'maxResults' => 50,
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'items' => [
[
'name' => 'analyst-read-access',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'CUSTOM',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
[
'name' => 'oncall-read-write',
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-grant/8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d',
'grantId' => '8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'READ_WRITE_DELETE',
'principal' => [
'principalId' => '2f5a8c1b-6d3e-4f7a-8b9c-0d1e2f3a4b5c',
'principalType' => 'IDC_GROUP',
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListAccessProfiles
$result = $client->listAccessProfiles([/* ... */]); $promise = $client->listAccessProfilesAsync([/* ... */]);
Returns the access profiles in a space.
Parameter Syntax
$result = $client->listAccessProfiles([
'maxResults' => <integer>,
'nextToken' => '<string>',
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of access profiles to return per page. Defaults to 100.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'items' => [
[
'arn' => '<string>',
'description' => '<string>',
'name' => '<string>',
'profileId' => '<string>',
'profileType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of AccessProfileSummary structures
The list of access profile summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List access profiles in a space
The following example lists the first page of access profiles in a space and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listAccessProfiles([
'maxResults' => 50,
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'items' => [
[
'name' => 'Analyst read-only profile',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-profile/analyst-readonly',
'description' => 'Read-only access for analysts.',
'profileId' => 'analyst-readonly',
'profileType' => 'CUSTOMER_MANAGED',
],
[
'name' => 'On-call admin profile',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-profile/oncall-admin',
'description' => 'Full access for on-call responders.',
'profileId' => 'oncall-admin',
'profileType' => 'CUSTOMER_MANAGED',
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListAlerts
$result = $client->listAlerts([/* ... */]); $promise = $client->listAlertsAsync([/* ... */]);
Lists alerts within a space, optionally filtered by exact name(s), a single name prefix, or exact alertId(s), with pagination.
Use GetAlert to retrieve a single alert's full detail.
Parameter Syntax
$result = $client->listAlerts([
'filterCriteria' => [
'ids' => ['<string>', ...],
'namePrefix' => '<string>',
'names' => ['<string>', ...],
'notificationsEnabled' => true || false,
'stateValue' => ['<string>', ...],
],
'maxResults' => <integer>,
'nextToken' => '<string>',
'sortBy' => 'NAME|STATE',
'sortOrder' => 'ASC|DESC',
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- filterCriteria
-
- Type: AlertFilterCriteria structure
Filter criteria narrowing which alerts are returned. All members are optional; the three name/id filters are mutually exclusive.
- maxResults
-
- Type: int
The maximum number of alerts to return per page.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
- sortBy
-
- Type: string
The field to sort results by.
- sortOrder
-
- Type: string
The order in which to sort results.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'items' => [
[
'alertArn' => '<string>',
'alertId' => '<string>',
'createdAt' => <DateTime>,
'name' => '<string>',
'notificationStatus' => 'ENABLED|DISABLED',
'profileId' => '<string>',
'spaceId' => '<string>',
'state' => [
'contributorSummary' => [
'criticalCount' => <integer>,
'warningCount' => <integer>,
],
'data' => [
'thresholdBreached' => <float>,
],
'transitionedAt' => <DateTime>,
'value' => 'OK|WARNING|CRITICAL|NODATA',
],
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of AlertSummary structures
The list of alert summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List alerts in a space
The following example lists the first page of alerts in a space, sorted by state, and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listAlerts([
'filterCriteria' => [
'namePrefix' => 'service-',
'stateValue' => [
'WARNING',
'CRITICAL',
],
],
'maxResults' => 50,
'sortBy' => 'STATE',
'sortOrder' => 'DESC',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'items' => [
[
'name' => 'service-error-count-elevated',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'createdAt' => ,
'notificationStatus' => 'ENABLED',
'profileId' => 'analyst-readonly',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'state' => [
'value' => 'CRITICAL',
'contributorSummary' => [
'criticalCount' => 1,
'warningCount' => 3,
],
'transitionedAt' => ,
],
'updatedAt' => ,
],
[
'name' => 'service-checkout-5xx-responses',
'alertArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:alert/d4e5f6a78b9c4d0e9f1a2b3c4d5e6f70',
'alertId' => 'd4e5f6a78b9c4d0e9f1a2b3c4d5e6f70',
'createdAt' => ,
'notificationStatus' => 'DISABLED',
'profileId' => 'analyst-readonly',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'state' => [
'value' => 'WARNING',
'data' => [
'thresholdBreached' => 14,
],
'transitionedAt' => ,
],
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListDomainAccessGrantsForOrganization
$result = $client->listDomainAccessGrantsForOrganization([/* ... */]); $promise = $client->listDomainAccessGrantsForOrganizationAsync([/* ... */]);
Returns organization-level domain access grants, with optional filtering by domain, principal, or permission. A grant is returned only when it matches every filter supplied. With no filters, returns the grants for the caller's organization.
Parameter Syntax
$result = $client->listDomainAccessGrantsForOrganization([
'domainId' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'permission' => 'ADMIN',
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT',
]);
Parameter Details
Members
- domainId
-
- Type: string
Filter by domain ID.
- maxResults
-
- Type: int
The maximum number of access grants to return per page. Defaults to 100. A page can contain fewer results than this value even when more results remain; continue while nextToken is present.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Supply the same filters used on the request that returned it. Tokens expire after 24 hours.
- permission
-
- Type: string
Filter by permission level.
- principalId
-
- Type: string
Filter by principal ID.
- principalType
-
- Type: string
Filter by principal type.
Result Syntax
[
'items' => [
[
'createdAt' => <DateTime>,
'domainId' => '<string>',
'grantArn' => '<string>',
'grantId' => '<string>',
'grantType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'name' => '<string>',
'permission' => 'ADMIN',
'principal' => [
'principalAttributes' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
'principalId' => '<string>',
'principalType' => 'IDC_USER|IDC_GROUP|IAM_USER|IAM_ROLE|IAM_ROOT',
],
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of OrganizationAccessGrantSummary structures
The list of organization access grant summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List organization domain access grants
The following example lists the first page of organization domain access grants and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listDomainAccessGrantsForOrganization([
'domainId' => 'd-1a2b3c4d5e',
'maxResults' => 50,
]);
Result syntax:
[
'items' => [
[
'name' => 'org-domain-admin',
'createdAt' => ,
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-access-grant/7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantId' => '7f3e9d21-4c8b-4f6a-b1d2-3e4f5a6b7c8d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'ADMIN',
'principal' => [
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'IDC_USER',
],
'updatedAt' => ,
],
[
'name' => 'org-domain-admin-group',
'createdAt' => ,
'domainId' => 'd-1a2b3c4d5e',
'grantArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-access-grant/8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d',
'grantId' => '8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d',
'grantType' => 'CUSTOMER_MANAGED',
'permission' => 'ADMIN',
'principal' => [
'principalId' => '2f5a8c1b-6d3e-4f7a-8b9c-0d1e2f3a4b5c',
'principalType' => 'IDC_GROUP',
],
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListDomains
$result = $client->listDomains([/* ... */]); $promise = $client->listDomainsAsync([/* ... */]);
Returns the caller's domains: the account-scoped domain and the organization-scoped domain, if either exists. At most two domains are returned.
Parameter Syntax
$result = $client->listDomains([
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of domains to return per page. Defaults to 100.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Tokens expire after 24 hours.
Result Syntax
[
'items' => [
[
'createdAt' => <DateTime>,
'domainArn' => '<string>',
'domainId' => '<string>',
'identityCenterInstanceArn' => '<string>',
'name' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of DomainSummary structures
The list of domain summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List domains
The following example lists the caller's domains. At most two are returned — the account-scoped domain and the organization-scoped domain — so there is no nextToken. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listDomains([ ]);
Result syntax:
[
'items' => [
[
'name' => 'prod-observability',
'createdAt' => ,
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'domainId' => 'd-1a2b3c4d5e',
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
[
'name' => 'prod-observability-org',
'createdAt' => ,
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-domain/d-9z8y7x6w5v',
'domainId' => 'd-9z8y7x6w5v',
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
],
]
ListIntegrations
$result = $client->listIntegrations([/* ... */]); $promise = $client->listIntegrationsAsync([/* ... */]);
Lists the integrations in the account, optionally filtered by type, status, or name. Results are paginated.
Parameter Syntax
$result = $client->listIntegrations([
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION',
'maxResults' => <integer>,
'name' => '<string>',
'nextToken' => '<string>',
'status' => 'ACTIVE|DELETED|PENDING|PENDING_OAUTH|ERROR|FAILED',
]);
Parameter Details
Members
- integrationType
-
- Type: string
Returns only integrations of this provider type.
- maxResults
-
- Type: int
Maximum number of integrations to return in one page.
- name
-
- Type: string
Returns only the integration with this exact name.
- nextToken
-
- Type: string
Pagination token from a previous response; omit for the first page.
- status
-
- Type: string
Returns only integrations in this status.
Result Syntax
[
'items' => [
[
'authType' => 'NONE|OAUTH2|API_KEY',
'authorizationUrl' => '<string>',
'createdAt' => <DateTime>,
'credentialArn' => '<string>',
'errorMessage' => '<string>',
'integrationArn' => '<string>',
'integrationAttributes' => ['<string>', ...],
'integrationId' => '<string>',
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION',
'name' => '<string>',
'roleArn' => '<string>',
'scope' => 'ACCOUNT|ORGANIZATION',
'status' => 'ACTIVE|DELETED|PENDING|PENDING_OAUTH|ERROR|FAILED',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of Integration structures
The page of integrations.
- nextToken
-
- Type: string
Pagination token for the next page; absent when there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List integrations of a type
The following example lists up to 20 AWS_INTEGRATION integrations in the account. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listIntegrations([
'integrationType' => 'AWS_INTEGRATION',
'maxResults' => 20,
]);
Result syntax:
[
'items' => [
[
'name' => 'my-aws-integration',
'createdAt' => ,
'integrationArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationType' => 'AWS_INTEGRATION',
'status' => 'ACTIVE',
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListOmniDashboards
$result = $client->listOmniDashboards([/* ... */]); $promise = $client->listOmniDashboardsAsync([/* ... */]);
Returns the dashboards in a space, optionally filtered by name prefix.
Parameter Syntax
$result = $client->listOmniDashboards([
'maxResults' => <integer>,
'namePrefix' => '<string>',
'nextToken' => '<string>',
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of dashboards to return per page. Defaults to 100. A page can contain fewer results than this value even when more results remain; continue while nextToken is present.
- namePrefix
-
- Type: string
Filter to dashboards whose name starts with this prefix.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'items' => [
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'dashboardId' => '<string>',
'description' => '<string>',
'name' => '<string>',
'tags' => ['<string>', ...],
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of OmniDashboardSummary structures
The list of dashboard summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List dashboards in a space
The following example lists the first page of dashboards in a space and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listOmniDashboards([
'maxResults' => 50,
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'items' => [
[
'name' => 'service-health-overview',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'description' => 'Overview of service health metrics.',
'updatedAt' => ,
],
[
'name' => 'cost-explorer-dashboard',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/d4e5f6a7-8b9c-4d0e-9f1a-2b3c4d5e6f70',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'dashboardId' => 'd4e5f6a7-8b9c-4d0e-9f1a-2b3c4d5e6f70',
'description' => 'Monthly cost breakdown by service.',
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListSpaces
$result = $client->listSpaces([/* ... */]); $promise = $client->listSpacesAsync([/* ... */]);
Returns the spaces in the account, optionally filtered by domain.
Parameter Syntax
$result = $client->listSpaces([
'domainId' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- domainId
-
- Type: string
Filter by domain ID.
- maxResults
-
- Type: int
The maximum number of spaces to return per page. Defaults to 100. A page can contain fewer results than this value even when more results remain; continue while nextToken is present.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Supply the same filters used on the request that returned it. Tokens expire after 24 hours.
Result Syntax
[
'items' => [
[
'createdAt' => <DateTime>,
'domainArn' => '<string>',
'name' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'spaceArn' => '<string>',
'spaceId' => '<string>',
'status' => 'ACTIVE|SUSPENDED|MOVING',
'statusReason' => '<string>',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of SpaceSummary structures
The list of space summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List spaces in a domain
The following example lists the first page of spaces in a domain and returns a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listSpaces([
'domainId' => 'd-1a2b3c4d5e',
'maxResults' => 50,
]);
Result syntax:
[
'items' => [
[
'name' => 'prod-observability',
'createdAt' => ,
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:space/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'status' => 'ACTIVE',
'updatedAt' => ,
],
[
'name' => 'staging-observability',
'createdAt' => ,
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:space/b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e',
'spaceId' => 'b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e',
'status' => 'ACTIVE',
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListSpacesForOrganization
$result = $client->listSpacesForOrganization([/* ... */]); $promise = $client->listSpacesForOrganizationAsync([/* ... */]);
Returns the spaces across all member accounts in the organization.
Parameter Syntax
$result = $client->listSpacesForOrganization([
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of spaces to return per page. Defaults to 100.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Tokens expire after 24 hours.
Result Syntax
[
'items' => [
[
'createdAt' => <DateTime>,
'domainArn' => '<string>',
'name' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'spaceArn' => '<string>',
'spaceId' => '<string>',
'status' => 'ACTIVE|SUSPENDED|MOVING',
'statusReason' => '<string>',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of SpaceSummary structures
The list of space summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List spaces across the organization
The following example lists the first page of spaces across all member accounts in the organization. The results include spaces owned by different accounts, along with a nextToken to retrieve the next page. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listSpacesForOrganization([
'maxResults' => 50,
]);
Result syntax:
[
'items' => [
[
'name' => 'prod-observability',
'createdAt' => ,
'ownerAccountId' => '111122223333',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:111122223333:space/c1d2e3f4-5a6b-4c7d-8e9f-0a1b2c3d4e5f',
'spaceId' => 'c1d2e3f4-5a6b-4c7d-8e9f-0a1b2c3d4e5f',
'status' => 'ACTIVE',
'updatedAt' => ,
],
[
'name' => 'prod-observability',
'createdAt' => ,
'ownerAccountId' => '444455556666',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:444455556666:space/d4e5f6a7-8b9c-4d0e-8f1a-2b3c4d5e6f7a',
'spaceId' => 'd4e5f6a7-8b9c-4d0e-8f1a-2b3c4d5e6f7a',
'status' => 'ACTIVE',
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjIwfQ==',
]
ListTelemetryFields
$result = $client->listTelemetryFields([/* ... */]); $promise = $client->listTelemetryFieldsAsync([/* ... */]);
Lists fields available for telemetry queries.
Returns a list of fields included in the specified dataset, granular to telemetry type. Returned field names reflect the exact stored casing and are case-sensitive when referenced in query expressions; the query engine does not normalize identifier case.
Parameter Syntax
$result = $client->listTelemetryFields([
'dataSetName' => '<string>', // REQUIRED
'endTime' => <integer || string || DateTime>,
'nextToken' => '<string>',
'startTime' => <integer || string || DateTime>,
'telemetryType' => 'LOGS|TRACES',
]);
Parameter Details
Members
- dataSetName
-
- Required: Yes
- Type: string
The name of the dataset to list fields for.
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Inclusive end of the lookback window. When omitted, the service defaults to the current time.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Reserved for future pagination; the service does not paginate at this time and returns null.
- startTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Inclusive start of the lookback window. When omitted, the service defaults to the configured lookback before endTime.
- telemetryType
-
- Type: string
The type of telemetry to filter fields by.
Result Syntax
[
'fields' => [
[
'children' => [
[...], // RECURSIVE
// ...
],
'name' => '<string>',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- fields
-
- Required: Yes
- Type: Array of Field structures
The list of fields available for queries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List fields for a dataset
The following example lists the log fields available in the specified dataset. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listTelemetryFields([
'dataSetName' => 'default',
'telemetryType' => 'LOGS',
]);
Result syntax:
[
'fields' => [
[
'name' => '@timestamp',
],
[
'name' => '@message',
],
[
'name' => 'attributes',
'children' => [
[
'name' => 'http.method',
],
[
'name' => 'http.status_code',
],
],
],
],
]
ListTelemetryQuerySessions
$result = $client->listTelemetryQuerySessions([/* ... */]); $promise = $client->listTelemetryQuerySessionsAsync([/* ... */]);
Lists telemetry query sessions.
Returns a list of telemetry query sessions owned by the caller.
Parameter Syntax
$result = $client->listTelemetryQuerySessions([
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of sessions to return per page.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
Result Syntax
[
'nextToken' => '<string>',
'sessions' => [
[
'createdAt' => <DateTime>,
'lastActivityAt' => <DateTime>,
'sessionId' => '<string>',
'sessionName' => '<string>',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
- sessions
-
- Required: Yes
- Type: Array of SessionSummary structures
The list of session summaries.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List telemetry query sessions
The following example lists the query sessions owned by the caller. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listTelemetryQuerySessions([
'maxResults' => 10,
]);
Result syntax:
[
'nextToken' => 'eyJvZmZzZXQiOjEwfQ==',
'sessions' => [
[
'createdAt' => ,
'lastActivityAt' => ,
'sessionId' => '9f8c7d6e-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
'sessionName' => 'prod-latency-investigation',
],
],
]
ListViews
$result = $client->listViews([/* ... */]); $promise = $client->listViewsAsync([/* ... */]);
Lists the views in the caller's account and region.
Returns a summary for each view, optionally filtered by view type. View definitions are not included — use GetView to retrieve them.
Parameter Syntax
$result = $client->listViews([
'maxResults' => <integer>,
'nextToken' => '<string>',
'type' => 'USER|MANAGED',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of views to return per page.
- nextToken
-
- Type: string
A token to retrieve the next page of results.
- type
-
- Type: string
Return only views of this ownership category.
Result Syntax
[
'items' => [
[
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'type' => 'USER|MANAGED',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of ViewSummary structures
The list of view summaries.
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: List the views in an account and Region
The following example returns a page of view summaries, filtered to user-created views. Definitions are not included — call GetView to retrieve them. A nextToken is returned when more results are available. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->listViews([
'type' => 'USER',
'maxResults' => 10,
]);
Result syntax:
[
'items' => [
[
'name' => 'view.service_errors',
'type' => 'USER',
'createdAt' => ,
'description' => 'Error counts by service',
'updatedAt' => ,
],
],
'nextToken' => 'eyJvZmZzZXQiOjEwfQ==',
]
PutIntelligenceConfiguration
$result = $client->putIntelligenceConfiguration([/* ... */]); $promise = $client->putIntelligenceConfigurationAsync([/* ... */]);
Creates or updates the intelligence configuration for the calling account. Account is identified via FAS (caller identity).
Parameter Syntax
$result = $client->putIntelligenceConfiguration([
'clientToken' => '<string>',
'kmsKeyArn' => '<string>',
'removeKmsKey' => true || false,
]);
Parameter Details
Members
- clientToken
-
- Type: string
Idempotency token for safe retries. Repeating a request with the same token applies the update at most once instead of reprocessing it.
- kmsKeyArn
-
- Type: string
Optional KMS key ARN to configure customer-managed encryption for anomaly data.
- removeKmsKey
-
- Type: boolean
Set to true to disassociate the configured KMS key. Mutually exclusive with kmsKeyArn; the service returns ValidationException if both are provided.
Result Syntax
[
'accountId' => '<string>',
'createdAt' => <DateTime>,
'kmsKeyArn' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- accountId
-
- Required: Yes
- Type: string
The AWS account ID this configuration applies to.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
ISO-8601 timestamp of initial creation.
- kmsKeyArn
-
- Type: string
The currently active KMS key ARN for customer-managed encryption, if configured.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
ISO-8601 timestamp of the last update.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Configure a customer-managed KMS key
The following example sets the customer-managed KMS key used to encrypt the account's intelligence data. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->putIntelligenceConfiguration([
'clientToken' => 'b3f8c7d6-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'accountId' => '123456789012',
'createdAt' => ,
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
]
SearchPrincipals
$result = $client->searchPrincipals([/* ... */]); $promise = $client->searchPrincipalsAsync([/* ... */]);
Searches Identity Center for users and groups in a domain. The domain must be configured with Identity Center.
To grant access to a result, pass its principalId to CreateAccessGrant with a principalType of IDC_USER for a user or IDC_GROUP for a group.
Parameter Syntax
$result = $client->searchPrincipals([
'domainId' => '<string>', // REQUIRED
'maxResults' => <integer>,
'nextToken' => '<string>',
'searchQuery' => '<string>', // REQUIRED
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the domain to search within.
- maxResults
-
- Type: int
The maximum number of results to return. Defaults to 10. Valid only when searchQuery is *; other searches reject this parameter and return at most 10 results.
- nextToken
-
- Type: string
A token to retrieve the next page of results. Valid only when searchQuery is *; other searches do not paginate and reject this parameter. Tokens expire after 24 hours.
- searchQuery
-
- Required: Yes
- Type: string
A search term to match against user names, display names, and IDs. Pass * to list all principals. Maximum 128 characters.
Result Syntax
[
'nextToken' => '<string>',
'results' => [
[
'description' => '<string>',
'displayName' => '<string>',
'principalId' => '<string>',
'principalType' => 'USER|GROUP',
'userName' => '<string>',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
A token to retrieve the next page of results, or null if there are no more results.
- results
-
- Required: Yes
- Type: Array of PrincipalSearchResult structures
The list of matching principals.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Search principals by name
The following example searches a domain for principals whose name matches a text query. A text search (any searchQuery other than *) returns at most 10 results and does not paginate, so maxResults and nextToken are not supplied and no nextToken is returned. To grant access to a result, pass its principalId to CreateAccessGrant with a principalType of IDC_USER for a user or IDC_GROUP for a group. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->searchPrincipals([
'domainId' => 'd-1a2b3c4d5e',
'searchQuery' => 'jane',
]);
Result syntax:
[
'results' => [
[
'displayName' => 'Jane Doe',
'principalId' => '94b6c7d8-1a2b-4c3d-9e4f-5a6b7c8d9e0f',
'principalType' => 'USER',
'userName' => 'jane.doe',
],
[
'displayName' => 'Jane's Analysts',
'principalId' => '2f5a8c1b-6d3e-4f7a-8b9c-0d1e2f3a4b5c',
'principalType' => 'GROUP',
],
],
]
StartTelemetryQuery
$result = $client->startTelemetryQuery([/* ... */]); $promise = $client->startTelemetryQueryAsync([/* ... */]);
Starts a telemetry query within a session.
Submits the provided query string for execution in the specified session. Use GetTelemetryQueryResults to poll for results and check query status.
Parameter Syntax
$result = $client->startTelemetryQuery([
'queryString' => '<string>', // REQUIRED
'sessionId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- queryString
-
- Required: Yes
- Type: string
The query string to execute.
- sessionId
-
- Required: Yes
- Type: string
The unique ID of the session.
Result Syntax
[
'queryId' => '<string>',
'sessionId' => '<string>',
]
Result Details
Members
- queryId
-
- Required: Yes
- Type: string
The unique ID of the query.
- sessionId
-
- Required: Yes
- Type: string
The unique ID of the session.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Start a telemetry query
The following example submits a SQL query within a session and returns the query ID used to poll for results. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->startTelemetryQuery([
'queryString' => 'SELECT `@timestamp`, `@message` FROM "logs.default" WHERE `@timestamp` BETWEEN NOW() - INTERVAL '1 HOUR' AND NOW() ORDER BY `@timestamp` DESC LIMIT 100',
'sessionId' => '9f8c7d6e-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
]);
Result syntax:
[
'queryId' => '3b2a1c0d-7e6f-4a5b-8c9d-0e1f2a3b4c5d',
'sessionId' => '9f8c7d6e-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
]
StartTelemetryQuerySession
$result = $client->startTelemetryQuerySession([/* ... */]); $promise = $client->startTelemetryQuerySessionAsync([/* ... */]);
Starts a new telemetry query session.
A session provides a logical grouping for one or more telemetry queries. The returned session ID is required when starting queries via StartTelemetryQuery.
Parameter Syntax
$result = $client->startTelemetryQuerySession([
'sessionName' => '<string>',
]);
Parameter Details
Members
- sessionName
-
- Type: string
A human-readable name for the session. Names under
/aws/are reserved for service integrations.
Result Syntax
[
'sessionId' => '<string>',
]
Result Details
Members
- sessionId
-
- Required: Yes
- Type: string
The unique ID of the session.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Start a telemetry query session
The following example starts a session for grouping telemetry queries and returns its session ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->startTelemetryQuerySession([
'sessionName' => 'prod-latency-investigation',
]);
Result syntax:
[
'sessionId' => '9f8c7d6e-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
]
StopTelemetryQuery
$result = $client->stopTelemetryQuery([/* ... */]); $promise = $client->stopTelemetryQueryAsync([/* ... */]);
Stops a running telemetry query.
Parameter Syntax
$result = $client->stopTelemetryQuery([
'queryId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- queryId
-
- Required: Yes
- Type: string
The unique ID of the query.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Stop a running telemetry query
The following example stops a running query by its ID. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->stopTelemetryQuery([
'queryId' => '3b2a1c0d-7e6f-4a5b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
StopTelemetryQuerySession
$result = $client->stopTelemetryQuerySession([/* ... */]); $promise = $client->stopTelemetryQuerySessionAsync([/* ... */]);
Stops a telemetry query session.
Terminates the specified session. After a session is stopped it cannot be reused.
Parameter Syntax
$result = $client->stopTelemetryQuerySession([
'sessionId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- sessionId
-
- Required: Yes
- Type: string
The unique ID of the session.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Stop a telemetry query session
The following example terminates the specified session. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->stopTelemetryQuerySession([
'sessionId' => '9f8c7d6e-5b4a-4c3d-9e2f-1a0b2c3d4e5f',
]);
Result syntax:
[ ]
UpdateAccessProfile
$result = $client->updateAccessProfile([/* ... */]); $promise = $client->updateAccessProfileAsync([/* ... */]);
Updates the name or description of an access profile.
Only the provided fields are changed; omitted fields are left unchanged.
Parameter Syntax
$result = $client->updateAccessProfile([
'description' => '<string>',
'name' => '<string>',
'profileId' => '<string>', // REQUIRED
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- description
-
- Type: string
A new description of the access profile. Omit to leave unchanged.
- name
-
- Type: string
A new name for the access profile. Omit to leave unchanged.
- profileId
-
- Required: Yes
- Type: string
The unique ID of the access profile to update.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'accessProfile' => [
'arn' => '<string>',
'assumeStatus' => 'ALLOWED|DENIED',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'profileId' => '<string>',
'profileType' => 'SERVICE_MANAGED|CUSTOMER_MANAGED',
'spaceId' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- accessProfile
-
- Required: Yes
- Type: AccessProfile structure
The access profile.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Update an access profile description
The following example updates only the description of an access profile; the name is left unchanged. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateAccessProfile([
'description' => 'Read-only access for analysts and on-call responders.',
'profileId' => 'analyst-readonly',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'accessProfile' => [
'name' => 'Analyst read-only profile',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:access-profile/analyst-readonly',
'createdAt' => ,
'description' => 'Read-only access for analysts and on-call responders.',
'profileId' => 'analyst-readonly',
'profileType' => 'CUSTOMER_MANAGED',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'updatedAt' => ,
],
]
UpdateAlert
$result = $client->updateAlert([/* ... */]); $promise = $client->updateAlertAsync([/* ... */]);
Updates an existing alert.
Only non-null fields overwrite existing values.
Parameter Syntax
$result = $client->updateAlert([
'alertId' => '<string>', // REQUIRED
'description' => '<string>',
'name' => '<string>',
'notificationRules' => [
[
'target' => [ // REQUIRED
'arn' => '<string>', // REQUIRED
'metadata' => ['<string>', ...],
'type' => 'sns|slack|pagerduty', // REQUIRED
],
'trigger' => [ // REQUIRED
'stateValues' => ['<string>', ...],
],
],
// ...
],
'notificationsEnabled' => true || false,
'profileId' => '<string>',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT|LT|GTE|LTE',
'criticalThreshold' => <float>,
'thresholdField' => '<string>',
'thresholdMode' => 'COUNT_OF_RESULTS|FIELD_VALUE',
'warningThreshold' => <float>,
],
'evaluation' => [
'intervalSeconds' => <integer>, // REQUIRED
'pendingDurationSeconds' => <integer>,
'recoveryDurationSeconds' => <integer>,
],
'noData' => [
'treatAs' => 'OK|WARNING|CRITICAL|NODATA', // REQUIRED
],
'query' => [
'expression' => '<string>', // REQUIRED
'language' => 'SQL|PROMQL', // REQUIRED
],
],
],
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- alertId
-
- Required: Yes
- Type: string
The alert to update.
- description
-
- Type: string
A new description of the alert. Omit to leave unchanged.
- name
-
- Type: string
A new display name for the alert. Omit to leave the name unchanged (apply-if-present / PATCH). Same constraints as CreateAlert.name; the name is not the alert's identity, so a rename never changes the alertId.
- notificationRules
-
- Type: Array of NotificationRule structures
Replaces the entire notification rule list when present; full-replace, not merge. Omitted = leave existing rules unchanged. An empty list clears all rules (the alert keeps evaluating; only notifications stop).
- notificationsEnabled
-
- Type: boolean
Whether actions (notifications) are enabled for this alert. Omitted = leave existing value unchanged.
- profileId
-
- Type: string
The ID of the access profile associated with the alert.
- rule
-
- Type: Rule structure
The rule that defines how the alert is evaluated. Omit to leave unchanged. Each sub-block is replaced whole when present: {@code query}, {@code condition}, {@code evaluation} and {@code noData} are applied only when supplied, and within a supplied block an omitted optional member is cleared to unset (null/absent) rather than preserved from the stored alert or defaulted. See {@link AlertCondition} and {@link AlertEvaluation}.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Raise an alert's thresholds
The following example replaces only the condition of an alert's rule; the query, the evaluation cadence and the notification rules are left unchanged. A supplied condition is replaced whole rather than merged, so every threshold to keep is sent again. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateAlert([
'alertId' => 'c3d4e5f67a8b4c9d8e0f1a2b3c4d5e6f',
'rule' => [
'telemetryRule' => [
'condition' => [
'comparator' => 'GT',
'criticalThreshold' => 400,
'thresholdField' => 'error_count',
'thresholdMode' => 'FIELD_VALUE',
'warningThreshold' => 100,
],
],
],
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[ ]
UpdateDomain
$result = $client->updateDomain([/* ... */]); $promise = $client->updateDomainAsync([/* ... */]);
Updates a domain's name or identity provider configuration.
Only the provided fields are changed; omitted fields are left unchanged. Renaming a domain also changes the endpoint URLs derived from its name.
Parameter Syntax
$result = $client->updateDomain([
'domainId' => '<string>', // REQUIRED
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The unique ID of the domain to update.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the domain.
- identityProviders
-
- Type: Array of strings
The identity providers to configure for the domain.
- name
-
- Type: string
A new name for the domain. Omit to leave unchanged. Must be 3-63 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
Result Syntax
[
'domain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- domain
-
- Required: Yes
- Type: Domain structure
The details of the updated domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Rename a domain
The following example performs a partial update that changes only the domain name; the omitted fields are left unchanged. Renaming the domain also updates the endpoint URLs derived from its name, and updatedAt advances past createdAt. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateDomain([
'name' => 'prod-observability-metrics',
'domainId' => 'd-1a2b3c4d5e',
]);
Result syntax:
[
'domain' => [
'name' => 'prod-observability-metrics',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability-metrics.cloudwatch-omni.global.app.aws',
],
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'domainEndpointUrl' => 'https://d-1a2b3c4d5e.cloudwatch-omni.global.app.aws',
'domainId' => 'd-1a2b3c4d5e',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
UpdateDomainForOrganization
$result = $client->updateDomainForOrganization([/* ... */]); $promise = $client->updateDomainForOrganizationAsync([/* ... */]);
Updates an organization domain's name or identity provider configuration. Call this operation in the Region where the domain was created.
Only the provided fields are changed; omitted fields are left unchanged. Renaming a domain also changes the endpoint URLs derived from its name.
Parameter Syntax
$result = $client->updateDomainForOrganization([
'domainId' => '<string>', // REQUIRED
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
]);
Parameter Details
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain to update.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the domain. Omit to leave unchanged.
- identityProviders
-
- Type: Array of strings
The identity providers to configure for the domain. Omit to leave unchanged.
- name
-
- Type: string
A new name for the organization domain. Omit to leave unchanged. Must be 3-63 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
Result Syntax
[
'organizationDomain' => [
'createdAt' => <DateTime>,
'customEndpointUrls' => ['<string>', ...],
'domainAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'domainEndpointUrl' => '<string>',
'domainId' => '<string>',
'identityCenterApplicationArn' => '<string>',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => '<string>',
],
],
'identityProviders' => ['<string>', ...],
'name' => '<string>',
'organizationId' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'status' => 'ACTIVE',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- organizationDomain
-
- Required: Yes
- Type: OrganizationDomain structure
The details of the updated organization domain.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Rename an organization domain
The following example performs a partial update that changes only the organization domain name; the omitted fields are left unchanged. The endpoint URLs derived from the name are updated, and updatedAt advances past createdAt. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateDomainForOrganization([
'name' => 'prod-observability-org-metrics',
'domainId' => 'd-9z8y7x6w5v',
]);
Result syntax:
[
'organizationDomain' => [
'name' => 'prod-observability-org-metrics',
'createdAt' => ,
'customEndpointUrls' => [
'https://prod-observability-org-metrics.cloudwatch-omni.global.app.aws',
],
'domainAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchOrganizationDomainAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:organization-domain/d-9z8y7x6w5v',
'domainEndpointUrl' => 'https://d-9z8y7x6w5v.cloudwatch-omni.global.app.aws',
'domainId' => 'd-9z8y7x6w5v',
'identityCenterApplicationArn' => 'arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-0f9e8d7c6b5a4938',
'identityProviderConfiguration' => [
'identityCenterConfiguration' => [
'identityCenterInstanceArn' => 'arn:aws:sso:::instance/ssoins-1234567890abcdef',
],
],
'identityProviders' => [
'IDC',
],
'organizationId' => 'o-a1b2c3d4e5',
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
UpdateIntegration
$result = $client->updateIntegration([/* ... */]); $promise = $client->updateIntegrationAsync([/* ... */]);
Updates an existing integration, identified by its id, ARN, or name. Only the fields you provide are changed.
Parameter Syntax
$result = $client->updateIntegration([
'credential' => [
'apiKeyCredential' => [
'apiKeyValue' => '<string>', // REQUIRED
],
'oauthClientCredential' => [
'clientId' => '<string>', // REQUIRED
'clientSecret' => '<string>', // REQUIRED
'providerId' => '<string>',
],
'oauthCodeCredential' => [
'authCode' => '<string>', // REQUIRED
],
],
'identifier' => [ // REQUIRED
'integrationArn' => '<string>',
'integrationId' => '<string>',
'integrationName' => '<string>',
],
'integrationAttributes' => ['<string>', ...],
'roleArn' => '<string>',
]);
Parameter Details
Members
- credential
-
- Type: IntegrationCredential structure
The replacement credential used to authenticate with the provider.
- identifier
-
- Required: Yes
- Type: IntegrationIdentifier structure
Identifies the integration to update — exactly one of integrationId, integrationArn, or integrationName.
- integrationAttributes
-
- Type: Associative array of custom strings keys (StringMapKeyString) to strings
The provider-specific attributes to associate with the integration.
- roleArn
-
- Type: string
The Amazon Resource Name of the IAM role assumed to access the integration.
Result Syntax
[
'integration' => [
'authType' => 'NONE|OAUTH2|API_KEY',
'authorizationUrl' => '<string>',
'createdAt' => <DateTime>,
'credentialArn' => '<string>',
'errorMessage' => '<string>',
'integrationArn' => '<string>',
'integrationAttributes' => ['<string>', ...],
'integrationId' => '<string>',
'integrationType' => 'AWS_CONFIG_SLREC|SLACK|EXTERNAL_AGENT|AWS_INTEGRATION',
'name' => '<string>',
'roleArn' => '<string>',
'scope' => 'ACCOUNT|ORGANIZATION',
'status' => 'ACTIVE|DELETED|PENDING|PENDING_OAUTH|ERROR|FAILED',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- integration
-
- Type: Integration structure
The details of the updated integration. This is the same object returned by GetIntegration and CreateIntegration. Populated on a successful update; absent only if the post-update read-back of the resource did not complete.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
Examples
Example 1: Update an integration's attributes
The following example replaces the provider-specific attributes of the integration identified by its id. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateIntegration([
'identifier' => [
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'integrationAttributes' => [
'notificationChannel' => 'ops-oncall',
],
]);
Result syntax:
[
'integration' => [
'name' => 'my-aws-integration',
'createdAt' => ,
'integrationArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:integration/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationAttributes' => [
'notificationChannel' => 'ops-oncall',
],
'integrationId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'integrationType' => 'AWS_INTEGRATION',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
UpdateOmniDashboard
$result = $client->updateOmniDashboard([/* ... */]); $promise = $client->updateOmniDashboardAsync([/* ... */]);
Updates an existing dashboard within a space.
Only the provided fields are changed; omitted fields are left unchanged.
Parameter Syntax
$result = $client->updateOmniDashboard([
'body' => '<string>',
'dashboardId' => '<string>', // REQUIRED
'description' => '<string>',
'name' => '<string>',
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- body
-
- Type: string
The new dashboard definition, as a JSON document. Maximum 1 MiB. Omit to leave unchanged.
- dashboardId
-
- Required: Yes
- Type: string
The unique ID of the dashboard.
- description
-
- Type: string
A new description of the dashboard. Omit to leave unchanged.
- name
-
- Type: string
A new name for the dashboard. Omit to leave unchanged.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
Result Syntax
[
'omniDashboard' => [
'arn' => '<string>',
'body' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'dashboardId' => '<string>',
'description' => '<string>',
'name' => '<string>',
'tags' => ['<string>', ...],
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- omniDashboard
-
- Required: Yes
- Type: OmniDashboard structure
The dashboard.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Update a dashboard body
The following example updates only the body of a dashboard; the name and description are left unchanged. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateOmniDashboard([
'body' => '{"widgets":[{"type":"metric","x":0,"y":0,"width":24,"height":6,"properties":{"metrics":[["AWS/Lambda","Errors","FunctionName","OrderProcessor"],["AWS/Lambda","Throttles","FunctionName","OrderProcessor"]],"region":"us-east-1","title":"Lambda Errors and Throttles"}}]}',
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'omniDashboard' => [
'name' => 'service-health-overview',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:omni-dashboard/c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'body' => '{"widgets":[{"type":"metric","x":0,"y":0,"width":24,"height":6,"properties":{"metrics":[["AWS/Lambda","Errors","FunctionName","OrderProcessor"],["AWS/Lambda","Throttles","FunctionName","OrderProcessor"]],"region":"us-east-1","title":"Lambda Errors and Throttles"}}]}',
'createdAt' => ,
'createdBy' => 'arn:aws:iam::123456789012:role/ObservabilityAdmin',
'dashboardId' => 'c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f',
'description' => 'Overview of service health metrics.',
'tags' => [
'Team' => 'observability',
],
'updatedAt' => ,
],
]
UpdateSpace
$result = $client->updateSpace([/* ... */]); $promise = $client->updateSpaceAsync([/* ... */]);
Updates a space.
Only the provided fields are changed; omitted fields are left unchanged.
Parameter Syntax
$result = $client->updateSpace([
'encryptionConfiguration' => [
'encryptionStrategy' => 'AWS_OWNED|CUSTOMER_MANAGED', // REQUIRED
'kmsKeyArn' => '<string>',
],
'name' => '<string>',
'spaceId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- encryptionConfiguration
-
- Type: EncryptionConfiguration structure
How to encrypt the space's data at rest. Omit to leave encryption unchanged. Pass
encryptionStrategyAWS_OWNED to stop using a customer managed key and revert to service owned encryption. - name
-
- Type: string
A new name for the space. Omit to leave unchanged. Must be 3-64 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space to update.
Result Syntax
[
'space' => [
'agentCoreEvaluationRoleArn' => '<string>',
'createdAt' => <DateTime>,
'dataAccessRoleArn' => '<string>',
'domainArn' => '<string>',
'encryptionConfiguration' => [
'encryptionStrategy' => 'AWS_OWNED|CUSTOMER_MANAGED',
'kmsKeyArn' => '<string>',
],
'name' => '<string>',
'ownerAccountId' => '<string>',
'region' => '<string>',
'spaceArn' => '<string>',
'spaceId' => '<string>',
'status' => 'ACTIVE|SUSPENDED|MOVING',
'statusReason' => '<string>',
'updatedAt' => <DateTime>,
],
]
Result Details
Members
- space
-
- Required: Yes
- Type: Space structure
The updated details of the space.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
- ServiceQuotaExceededException:
A service quota was exceeded.
Examples
Example 1: Rename a space
The following example updates only the name of a space; omitted fields are left unchanged. The response returns the full space with a later updatedAt timestamp. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateSpace([
'name' => 'prod-observability-team',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
]);
Result syntax:
[
'space' => [
'name' => 'prod-observability-team',
'agentCoreEvaluationRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchAgentCoreEvaluationRole',
'createdAt' => ,
'dataAccessRoleArn' => 'arn:aws:iam::123456789012:role/CloudWatchSpaceDataAccessRole',
'domainArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:domain/d-1a2b3c4d5e',
'encryptionConfiguration' => [
'encryptionStrategy' => 'CUSTOMER_MANAGED',
'kmsKeyArn' => 'arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
],
'ownerAccountId' => '123456789012',
'region' => 'us-east-1',
'spaceArn' => 'arn:aws:cloudwatch:us-east-1:123456789012:space/a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'spaceId' => 'a1b2c3d4-5e6f-4a3b-8c9d-0e1f2a3b4c5d',
'status' => 'ACTIVE',
'updatedAt' => ,
],
]
UpdateView
$result = $client->updateView([/* ... */]); $promise = $client->updateViewAsync([/* ... */]);
Updates an existing view's definition and/or description.
Only the fields you provide are changed. Managed views cannot be updated.
Parameter Syntax
$result = $client->updateView([
'definition' => '<string>',
'description' => '<string>',
'name' => '<string>', // REQUIRED
]);
Parameter Details
Members
- definition
-
- Type: string
The new SQL query that defines the view. Omit to leave unchanged.
- description
-
- Type: string
The new description of the view. Omit to leave unchanged.
- name
-
- Required: Yes
- Type: string
The name of the view to update.
Result Syntax
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'definition' => '<string>',
'description' => '<string>',
'name' => '<string>',
'type' => 'USER|MANAGED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the view.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was created.
- definition
-
- Required: Yes
- Type: string
The SQL query that defines the view.
- description
-
- Type: string
The description of the view.
- name
-
- Required: Yes
- Type: string
The name of the view.
- type
-
- Required: Yes
- Type: string
The ownership category of the view.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was last updated.
Errors
- ThrottlingException:
The request was throttled due to exceeding the allowed request rate.
- ValidationException:
A parameter is specified incorrectly.
- ResourceNotFoundException:
The specified resource does not exist.
- AccessDeniedException:
The caller is not authorized to perform this action.
- InternalServerException:
An unexpected error occurred while processing the request.
- ConflictException:
The operation could not be completed because of a conflict with the current state of the resource.
Examples
Example 1: Update a view's definition
The following example changes only the definition; the omitted description is left unchanged. Managed views cannot be updated. The response carries the view's effective configuration. Payloads are shown as JSON; on the wire they are CBOR-encoded.
$result = $client->updateView([
'name' => 'view.service_errors',
'definition' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE status['code'] IN ('2', 'ERROR') GROUP BY service',
]);
Result syntax:
[
'name' => 'view.service_errors',
'type' => 'USER',
'arn' => 'arn:aws:cloudwatch:us-east-1:123456789012:view/view.service_errors',
'createdAt' => ,
'definition' => 'SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE status['code'] IN ('2', 'ERROR') GROUP BY service',
'description' => 'Error counts by service',
'updatedAt' => ,
]
Shapes
AccessDeniedException
Description
The caller is not authorized to perform this action.
Members
- message
-
- Required: Yes
- Type: string
AccessGrant
Description
Full AccessGrant structure returned by API operations.
Members
- accountId
-
- Required: Yes
- Type: string
The AWS account ID that owns the grant.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the grant was created.
- createdBy
-
- Required: Yes
- Type: string
The principal that created the grant.
- domainId
-
- Required: Yes
- Type: string
The ID of the domain the grant belongs to.
- grantArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the access grant.
- grantId
-
- Required: Yes
- Type: string
The unique ID of the access grant.
- grantType
-
- Required: Yes
- Type: string
Who manages the grant.
- name
-
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission granted.
- principal
-
- Required: Yes
- Type: AccessGrantPrincipal structure
The principal receiving the grant.
- scopedActions
-
- Type: Array of ScopedActions structures
Groups of actions allowed by the grant, each with the resource scopes and conditions that limit those actions.
- spaceId
-
- Required: Yes
- Type: string
The space this grant applies to. Domain-scoped grants are returned by ListDomainAccessGrantsForOrganization instead.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the grant was last updated.
AccessGrantPrincipal
Description
The principal receiving the grant. Specify principalId, principalAttributes, or both.
Members
- principalAttributes
-
- Type: Array of AccessGrantPrincipalAttribute structures
Attribute conditions for attribute-based access. When provided, the grant targets any principal matching all specified conditions. Supported only for IDC_USER principals.
- principalId
-
- Type: string
The ID of the principal receiving the grant.
- principalType
-
- Required: Yes
- Type: string
The type of principal receiving the grant.
AccessGrantPrincipalAttribute
Description
A single attribute condition used to match principals for attribute-based access.
Members
- key
-
- Required: Yes
- Type: string
The Identity Center user attribute to match on. One of userName, active, userStatus, displayName, email, name.givenName, name.familyName, enterprise.department, enterprise.division, enterprise.organization, enterprise.costCenter, or enterprise.employeeNumber. Each key may appear only once per grant.
- value
-
- Required: Yes
- Type: string
The attribute value.
AccessGrantSummary
Description
Summary of an AccessGrant. Call GetAccessGrant for the full grant.
Members
- domainId
-
- Required: Yes
- Type: string
The ID of the domain the grant belongs to.
- grantArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the access grant.
- grantId
-
- Required: Yes
- Type: string
The unique ID of the access grant.
- grantType
-
- Required: Yes
- Type: string
Who manages the grant.
- name
-
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission granted.
- principal
-
- Required: Yes
- Type: AccessGrantPrincipal structure
The principal receiving the grant.
- spaceId
-
- Required: Yes
- Type: string
The space this grant applies to. Domain-scoped grants are returned by ListDomainAccessGrantsForOrganization instead.
AccessProfile
Description
An Access Profile.
Members
- arn
-
- Required: Yes
- Type: string
The ARN of this access profile.
- assumeStatus
-
- Type: string
The calling principal's authorization to assume this access profile.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the access profile was created.
- description
-
- Type: string
An optional description of the access profile.
- name
-
- Required: Yes
- Type: string
A name that identifies the access profile.
- profileId
-
- Required: Yes
- Type: string
The unique ID of the access profile.
- profileType
-
- Type: string
Who manages the access profile.
- spaceId
-
- Required: Yes
- Type: string
The ID of the space the profile belongs to.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the access profile was last updated.
AccessProfileSummary
Description
Summary of an access profile. Call GetAccessProfile for the full profile.
Members
- arn
-
- Required: Yes
- Type: string
The ARN of this access profile.
- description
-
- Type: string
An optional description of the access profile.
- name
-
- Required: Yes
- Type: string
A name that identifies the access profile.
- profileId
-
- Required: Yes
- Type: string
The unique ID of the access profile.
- profileType
-
- Type: string
Who manages the access profile.
Alert
Description
Full alert entity, returned by both CreateAlert and GetAlert. A create and a read of the same alert describe it identically except for {@code state}, which only the read paths populate. UpdateAlert returns an empty response.
Members
- accountId
-
- Required: Yes
- Type: string
The AWS account ID that owns the alert.
- alertArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the alert.
- alertId
-
- Type: string
The stable alert identifier (see {@link AlertId}), minted on create and immutable across updates. Use it (not {@code name}) to address the alert on GetAlert/UpdateAlert/DeleteAlert; it is also the ARN's resource id.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the alert was created.
- description
-
- Type: string
An optional description of the alert.
- name
-
- Required: Yes
- Type: string
The name of the alert.
- notificationRules
-
- Type: Array of NotificationRule structures
The notification rules for the alert.
- notificationStatus
-
- Type: string
Whether notifications are enabled.
- profileId
-
- Type: string
The ID of the access profile associated with the alert.
- rule
-
- Required: Yes
- Type: Rule structure
The rule that defines how the alert is evaluated.
- spaceId
-
- Type: string
The ID of the space the alert belongs to.
- state
-
- Type: AlertStateInfo structure
Live evaluation state (read-only, system-managed). Populated by GetAlert. ListAlerts reports state on
AlertSummaryinstead, where it stays required.Absent on CreateAlert: a newly created alert has never been evaluated, so any state reported there would be a default rather than an observation. Call GetAlert for live state. Not @required for that reason — GetAlert always populates it.
contributorSummaryis nested inside this member, so it too is absent on CreateAlert. - updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the alert was last updated.
AlertCondition
Description
The condition that determines when the alert fires.
On UpdateAlert a supplied condition is replaced whole, not merged: an omitted {@code warningThreshold} or {@code criticalThreshold} removes that tier, and an omitted {@code thresholdField} clears it. A condition must keep at least one tier. {@code thresholdMode} and {@code comparator} are optional at the Smithy level (so a single-tier condition is expressible) but are required whenever a threshold is present; enforced by the service-side validator.
Members
- comparator
-
- Type: string
The comparison operator applied to the threshold.
- criticalThreshold
-
- Type: double
The value at which the alert enters the CRITICAL state.
- thresholdField
-
- Type: string
The field the threshold is evaluated against.
- thresholdMode
-
- Type: string
How the threshold is applied to query results.
- warningThreshold
-
- Type: double
The value at which the alert enters the WARNING state.
AlertEvaluation
Description
Evaluation cadence. {@code intervalSeconds} must be one of {30, 60, 120, 300, 600, 900, 1800, 3600}; {@code pendingDurationSeconds} and {@code recoveryDurationSeconds} must be multiples of {@code intervalSeconds}. A duration of 0 means fire/clear immediately with no delay.
On UpdateAlert a supplied evaluation block is replaced whole, not merged: an omitted {@code pendingDurationSeconds} or {@code recoveryDurationSeconds} is cleared to unset (no such duration), not preserved and not defaulted to 0. {@code intervalSeconds} is required whenever the block is present. All enforced server-side / by the front-door validator.
Members
- intervalSeconds
-
- Required: Yes
- Type: int
The interval between evaluations, in seconds.
- pendingDurationSeconds
-
- Type: int
The duration a breach must persist before the alert fires, in seconds.
- recoveryDurationSeconds
-
- Type: int
The duration a recovery must persist before the alert clears, in seconds.
AlertFilterCriteria
Description
Filter criteria for ListAlerts. All members are optional; each omitted member is unconstrained. At most one of {@code names}, {@code namePrefix}, {@code ids} may be provided (mutually exclusive; the service rejects more than one). The remaining members combine with AND.
Members
- ids
-
- Type: Array of strings
Filter to alerts whose {@link AlertId} exactly matches any entry (OR semantics). Mutually exclusive with {@code names} and {@code namePrefix}.
- namePrefix
-
- Type: string
Filter to alerts whose name starts with this prefix. Mutually exclusive with {@code names} and {@code ids}.
- names
-
- Type: Array of strings
Filter to alerts whose name exactly matches any entry (OR semantics). Mutually exclusive with {@code namePrefix} and {@code ids}.
- notificationsEnabled
-
- Type: boolean
Filter to alerts by whether notifications are enabled.
- stateValue
-
- Type: Array of strings
Filter to alerts currently in any of these states (OR semantics).
AlertRuleQuery
Description
Query expression and the language it's written in.
Members
- expression
-
- Required: Yes
- Type: string
The query expression to evaluate.
- language
-
- Required: Yes
- Type: string
The query language of the expression.
AlertStateData
Description
Structured detail about the current evaluation.
Members
- thresholdBreached
-
- Type: double
For COUNT_OF_RESULTS alerts, the row count that breached; null for FIELD_VALUE (multi-contributor) alerts.
AlertStateInfo
Description
Live evaluation state for an alert. Read-only, system-managed.
Members
- contributorSummary
-
- Type: ContributorSummary structure
Counts of contributors currently breaching each severity threshold. Present only when contributor-level tracking is active; absent until the first contributor breaches a {@code WARNING} or {@code CRITICAL} threshold.
- data
-
- Type: AlertStateData structure
Structured detail about why the alert is in its current state.
- transitionedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the alert transitioned to its current state.
- value
-
- Required: Yes
- Type: string
Current flat state.
AlertSummary
Description
Summary representation of an alert used in list responses.
Members
- alertArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the alert.
- alertId
-
- Type: string
The stable alert identifier (see {@link Alert#alertId}). Use it to address the alert; it is also the ARN's resource id.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the alert was created.
- name
-
- Required: Yes
- Type: string
The name of the alert.
- notificationStatus
-
- Type: string
Whether notifications are enabled.
- profileId
-
- Type: string
The ID of the access profile associated with the alert.
- spaceId
-
- Type: string
The ID of the space the alert belongs to.
- state
-
- Required: Yes
- Type: AlertStateInfo structure
Live evaluation state (read-only, system-managed).
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the alert was last updated.
ApiKeyCredential
Description
An API key used to authenticate an integration with its external system.
Members
- apiKeyValue
-
- Required: Yes
- Type: string
The API key value used to authenticate with the external system.
AwsCredentials
Description
A set of temporary AWS credentials.
Members
- accessKeyId
-
- Required: Yes
- Type: string
The AWS access key ID.
- expiration
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the credentials expire.
- secretAccessKey
-
- Required: Yes
- Type: string
The AWS secret access key.
- sessionToken
-
- Required: Yes
- Type: string
The AWS session token.
ConflictException
Description
The operation could not be completed because of a conflict with the current state of the resource.
Members
- conflictType
-
- Type: string
The type of conflict that caused the request to fail. Not always present.
- errorCode
-
- Type: string
The error code associated with the conflict. Not always present.
- message
-
- Required: Yes
- Type: string
A human-readable description of the conflict.
- resourceId
-
- Type: string
The identifier of the resource that is in conflict. Not always present.
- resourceType
-
- Type: string
The type of the resource that is in conflict. Not always present.
ContributorSummary
Description
Counts of contributors currently breaching each severity threshold.
Members
- criticalCount
-
- Type: int
Number of contributors currently breaching the critical threshold.
- warningCount
-
- Type: int
Number of contributors currently breaching the warning threshold.
Domain
Description
Detailed information about a domain.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the domain was created.
- customEndpointUrls
-
- Type: Array of strings
Additional endpoint URLs derived from the domain name.
- domainArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the domain.
- domainEndpointUrl
-
- Required: Yes
- Type: string
The HTTPS endpoint URL for accessing the domain.
- domainId
-
- Required: Yes
- Type: string
The unique ID of the domain.
- identityCenterApplicationArn
-
- Type: string
The ARN of the Identity Center application. Absent for IAM-only domains.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the domain.
- identityProviders
-
- Required: Yes
- Type: Array of strings
The identity providers configured for the domain.
- name
-
- Type: string
A name that identifies the domain.
- region
-
- Required: Yes
- Type: string
The Region where this domain was created.
- status
-
- Required: Yes
- Type: string
Current status of the domain.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the domain was last updated.
DomainSummary
Description
Summary of a domain. Call GetDomain for the full domain.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the domain was created.
- domainArn
-
- Type: string
The Amazon Resource Name (ARN) of the domain.
- domainId
-
- Required: Yes
- Type: string
The unique ID of the domain.
- identityCenterInstanceArn
-
- Type: string
Identity Center instance ARN configured for the domain. Absent for IAM-only domains.
- name
-
- Type: string
A name that identifies the domain.
- region
-
- Type: string
The Region where this domain was created.
- status
-
- Required: Yes
- Type: string
Current status of the domain.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the domain was last updated.
Edge
Description
A directed edge in the context graph connecting two nodes.
Members
- edgeId
-
- Type: string
The unique identifier of the edge within the context graph.
- edgeProperties
-
- Type: EdgeProperties structure
Attributes promoted out of the flat attribute map onto typed members. Which members are present depends on what produced the edge.
- edgeType
-
- Type: string
The kind of relationship the edge represents.
- firstObservedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When this edge was first observed (UTC), at minute granularity. For an edge that merged across sources, this is the earliest value any source reported.
- from
-
- Type: string
The node identifier the edge originates from.
- lastObservedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When this edge was most recently observed (UTC), at minute granularity. For an edge that merged across sources, this is the latest value any source reported.
- metadata
-
- Type: Metadata structure
Descriptive metadata about the edge. Present only when the request sets includeMetadata.
- operations
-
- Type: Array of strings
The operations observed on this edge.
- signalTypes
-
- Type: Array of strings
The kinds of telemetry signal observed on this edge.
- sources
-
- Type: Array of strings
The discovery sources that contributed this edge.
- telemetryAttributes
-
- Type: Associative array of custom strings keys (String) to strings
The edge's OpenTelemetry (OTel) attributes, as emitted by telemetry. A key promoted onto an
edgePropertiesmember is removed here, so no value appears twice. - to
-
- Type: string
The node identifier the edge points to.
EdgeFilters
Description
Criteria for filtering edges in a context graph query.
Members
- edgeId
-
- Type: string
Match only the edge with this identifier.
- edgeType
-
- Type: string
Match only edges of this relationship kind.
- from
-
- Type: string
Match only edges originating from this node identifier.
- operations
-
- Type: Array of strings
Match edges carrying any of these operations.
- sources
-
- Type: Array of strings
Match edges contributed by any of these discovery sources.
- telemetryAttributes
-
- Type: Array of KeyFilter structures
Match edges by their OpenTelemetry (OTel) telemetry attributes. Not yet enforced: currently accepted but ignored (does not filter), matching nodeFilters.telemetryAttributes.
- to
-
- Type: string
Match only edges pointing to this node identifier.
EdgeProperties
Description
Edge attributes promoted out of the flat attribute map onto typed members. Which members are present depends entirely on what produced the edge, so most edges carry only a few of them.
Members
- blocked
-
- Type: boolean
Whether the observed network flow was denied. Absent means the edge was not derived from network flow data, which is not the same as allowed.
- destinationPort
-
- Type: string
The destination port of the observed traffic. May be a placeholder when the port is unknown.
- errorCode
-
- Type: string
The error code returned when the call was attempted and refused. Its presence means the edge exists but the dependency is failing.
- httpMethod
-
- Type: string
The HTTP method observed on the request.
- httpStatusCode
-
- Type: string
The HTTP status code observed on the request. Distinct from errorCode.
- protocol
-
- Type: string
The IANA protocol name for the observed network traffic, such as "tcp".
- serviceInitiated
-
- Type: boolean
Whether the caller was an AWS service principal rather than a user or role. Absent means the edge was not derived from a source that reports it.
- sourcePort
-
- Type: string
The source port of the observed traffic. May be a placeholder when the port is unknown.
- trafficStats
-
- Type: EdgeTrafficStats structure
Traffic counters accumulated over the edge's observation window.
EdgeTrafficStats
Description
Additive traffic counters accumulated over an edge's observation window. Which counters are populated depends on what produced the edge.
Members
- bytes
-
- Type: long (int|float)
Total bytes observed across the edge.
- flows
-
- Type: long (int|float)
Total network flows observed across the edge.
- packets
-
- Type: long (int|float)
Total packets observed across the edge.
- receivedBytes
-
- Type: long (int|float)
Total bytes received from the destination.
- sentBytes
-
- Type: long (int|float)
Total bytes sent to the destination.
EncryptionConfiguration
Description
How a resource's data at rest is encrypted.
kmsKeyArn is required when encryptionStrategy is CUSTOMER_MANAGED and must be absent when it is AWS_OWNED; a mismatch is a ValidationException rather than a silently ignored field, so a caller that selects AWS_OWNED while still passing a key learns that the key was not applied.
Members
- encryptionStrategy
-
- Required: Yes
- Type: string
Which kind of key to use. Required.
- kmsKeyArn
-
- Type: string
Customer managed KMS key ARN. Required when
encryptionStrategyis CUSTOMER_MANAGED, and must be omitted when it is AWS_OWNED. Must be a symmetric ENCRYPT_DECRYPT key in the caller's account and region.
Field
Description
A telemetry field available for use in query expressions.
Members
- children
-
- Type: Array of Field structures
Child fields nested under this field.
- name
-
- Required: Yes
- Type: string
The name of the field. Field names are case-sensitive and must be used exactly as returned when referencing them in query expressions.
IdentityCenterConfiguration
Description
Identity Center specific configuration.
Members
- identityCenterInstanceArn
-
- Type: string
Identity Center instance ARN
IdentityProviderConfiguration
Description
Identity provider configuration for domain authentication. Contains provider-specific configuration blocks.
Members
- identityCenterConfiguration
-
- Type: IdentityCenterConfiguration structure
Identity Center configuration. Required when identityProviders includes IDC.
Integration
Description
A connection between CloudWatch and an external system — such as a source of telemetry or configuration data, a messaging destination, or a model provider.
Members
- authType
-
- Type: string
The authentication method that an integration uses to connect to its external system.
- authorizationUrl
-
- Type: string
The URL the customer visits to authorize the integration. Present while an OAuth authorization is pending.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time at which the integration was created.
- credentialArn
-
- Type: string
The Amazon Resource Name (ARN) of the secret that stores the integration's credentials.
- errorMessage
-
- Type: string
A human-readable description of why the integration is in an ERROR or FAILED state. Present only when the integration has failed.
- integrationArn
-
- Type: string
The Amazon Resource Name (ARN) of the integration.
- integrationAttributes
-
- Type: Associative array of custom strings keys (StringMapKeyString) to strings
Provider-specific key/value attributes that configure the integration.
- integrationId
-
- Required: Yes
- Type: string
The unique identifier of the integration.
- integrationType
-
- Required: Yes
- Type: string
The type of external system that an integration connects to, such as a source of configuration data, a messaging destination, or a model provider.
- name
-
- Required: Yes
- Type: string
The customer-provided name of the integration.
- roleArn
-
- Type: string
The Amazon Resource Name (ARN) of the IAM role that CloudWatch assumes to access the external system.
- scope
-
- Type: string
Whether this integration is account-scoped (ACCOUNT, customer-created) or organization-scoped (ORGANIZATION, created by an org-enablement rule). Absent on legacy records is treated as ACCOUNT.
- status
-
- Required: Yes
- Type: string
The current lifecycle state of an integration.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time at which the integration was last updated.
IntegrationCredential
Description
The credential that an integration uses to authenticate with its external system. Exactly one member is set, matching the integration's authentication type.
Members
- apiKeyCredential
-
- Type: ApiKeyCredential structure
An API key credential.
- oauthClientCredential
-
- Type: OAuthClientCredential structure
Credentials for an OAuth 2.0 client-credentials grant.
- oauthCodeCredential
-
- Type: OAuthCodeCredential structure
Credentials for an OAuth 2.0 authorization-code grant.
IntegrationIdentifier
Description
Identifies a single integration by exactly one of its unique keys: the integration id, the integration ARN, or the integration name.
Members
- integrationArn
-
- Type: string
The Amazon Resource Name of the integration.
- integrationId
-
- Type: string
The unique identifier of the integration.
- integrationName
-
- Type: string
The name of the integration; unique within the account.
InternalServerException
Description
An unexpected error occurred while processing the request.
Members
- errorCode
-
- Type: string
The error code associated with the internal error.
- message
-
- Required: Yes
- Type: string
KeyFilter
Description
Key-value filter used for tags and attributes filtering. Multiple KeyFilters are AND'ed. Multiple values within a single KeyFilter are OR'ed. Values support pattern syntax: exact, negation (!value), wildcard (value, value*, *value).
Members
- key
-
- Required: Yes
- Type: string
The tag or attribute key to filter on.
- values
-
- Type: Array of strings
The values to match for this key, OR'ed together. Each supports exact, negation (!value), and wildcard (value, value*, *value) syntax.
LogMetadata
Description
One LOGS query selector block on a node. The attributes map's keys are AND'd; each selects with col = value. Deliberately RAW/un-normalized so the selector matches the store, not the node's merged identity.
Members
- attributes
-
- Type: Associative array of custom strings keys (String) to strings
One LOGS query-selector block: EXACT store column -> raw SCALAR value (mirroring the scalar MetadataAttributeMap). Keyed by the store column that carries the value (e.g.
resource.attributes['service.name'],attributes['aws.local.service'],@logGroupName) so the selector matches the emitted signal. A dimension seen under several values (a service under two namespaces, several log groups) becomes several blocks with the same columns and different values, which the console ORs. Dedicated to the LOGS selector so its cap evolves independently of the metric attribute map and the TRACES map. Selector caps are deliberately DISTINCT from the metric caps.
Metadata
Description
Descriptive information about a context graph node or edge, as opposed to its identity and structure. Returned only when the request sets includeMetadata.
Members
- logs
-
- Type: Array of LogMetadata structures
Per-signal LOGS query selectors: a LIST of blocks the console ORs, each an AND of exact store column -> raw values. Node-level (edges carry only traces). Populated when the request sets includeMetadata; derived labels (logSourceType) are added by the service projection, not stored here.
- metrics
-
- Type: Array of MetricMetadata structures
The metrics observed on the element.
- semantics
-
- Type: NodeSemantics structure
Semantic description of the node. Absent on an edge, because semantics describe a service rather than a relationship.
- traces
-
- Type: Array of TraceMetadata structures
Per-signal TRACES query selectors (same block shape as logs). Present on both node and edge metadata. serviceName is derived at the service projection, not stored here.
MetricMetadata
Description
A single metric observed on a context graph node.
Members
- attributes
-
- Type: Associative array of custom strings keys (String) to strings
Per-metric qualifying attributes the console uses to query this metric's telemetry. These are the RAW, store-matching values keyed by their OTel names ("service.name", "service.namespace", "cloud.provider", "cloud.account.id", "cloud.region", "instrumentation_scope") — deliberately NOT the node's normalized/merged identity, so the query selectors match the emitted series. A merged node can carry different values per metric, which is why they live here rather than on the node.
- metricType
-
- Type: string
OTel metric kind: "gauge", "sum", "histogram", "exponential_histogram", or "summary" (CloudWatch-vended metrics carry the same kinds). Absent when the producer did not report one.
- name
-
- Type: string
The metric name as emitted, such as "Duration".
- namespace
-
- Type: string
DEPRECATED: read attributes["service.namespace"] instead. Retained (deprecated) for backward compatibility with existing consumers; will be removed once they migrate. The logical service grouping the metric belongs to.
- preferredStat
-
- Type: string
The statistic to chart or alarm on, such as "p99" or "Sum". Free-form and frequently absent.
- semantics
-
- Type: MetricSemantics structure
What the metric means and the unit it is reported in.
MetricSemantics
Description
The meaning and unit of a single metric.
Members
- description
-
- Type: string
Human-readable description of what the metric measures.
- unit
-
- Type: string
The unit the metric is reported in.
NoData
Description
Configures how the alert reacts when an evaluation produces no data. {@code treatAs} carries the resulting state; defaults to {@code NODATA} when omitted.
Members
- treatAs
-
- Required: Yes
- Type: string
The state to report when an evaluation produces no data.
Node
Description
A node in the context graph representing a service, resource, or remote service.
Members
- alternateNames
-
- Type: Array of strings
Other names this node was observed under. A node that merged across sources reports one resolved name, and the names it was merged away from appear here.
- edges
-
- Type: Array of Edge structures
Outbound edges originating from this node. Each edge carries its
from. - firstObservedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When this node was first observed (UTC), at minute granularity. For a node that merged across sources, this is the earliest value any source reported.
- lastObservedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When this node was most recently observed (UTC), at minute granularity. For a node that merged across sources, this is the latest value any source reported.
- metadata
-
- Type: Metadata structure
Descriptive metadata about the node. Present only when the request sets includeMetadata.
- name
-
- Type: string
The primary display name of the node.
- nodeId
-
- Type: string
The unique identifier of the node within the context graph.
- nodeProperties
-
- Type: NodeProperties structure
Identity attributes promoted out of the flat attribute map onto typed members.
- nodeType
-
- Type: string
Whether the node is a service, a resource, or a remote service.
- operationDetails
-
- Type: Associative array of custom strings keys (OperationName) to lists
The operations observed on this node, keyed by operation name. Each value lists the dimension sets that identify the metric series for that operation.
- signalTypes
-
- Type: Array of strings
The kinds of telemetry signal observed on this node.
- sources
-
- Type: Array of strings
The discovery sources that contributed this node.
- tags
-
- Type: Associative array of custom strings keys (String) to strings
The tags observed on the underlying resource.
- telemetryAttributes
-
- Type: Associative array of custom strings keys (String) to strings
The node's OpenTelemetry (OTel) attributes, as emitted by telemetry — the raw values, as opposed to the normalized
nodeProperties. A key promoted onto anodePropertiesmember is removed here, so no value appears twice.
NodeFilters
Description
Criteria for selecting nodes in a context graph query.
Members
- category
-
- Type: Array of strings
Match nodes of any of these categories.
- cloudProvider
-
- Type: Array of strings
Match nodes on any of these cloud providers.
- name
-
- Type: string
Match only nodes with this name.
- namespace
-
- Type: Array of strings
Match nodes in any of these logical service groupings.
- nodeId
-
- Type: string
Match only the node with this identifier.
- nodeType
-
- Type: string
Match only nodes of this type.
- region
-
- Type: Array of strings
Match nodes in any of these regions.
- sourceAccountId
-
- Type: Array of strings
Match nodes discovered from telemetry produced by any of these accounts.
- sources
-
- Type: Array of strings
Match nodes contributed by any of these discovery sources.
- stage
-
- Type: Array of strings
Match nodes observed in any of these deployment environments.
- tags
-
- Type: Array of KeyFilter structures
Match nodes by the tags on the underlying resource.
- telemetryAttributes
-
- Type: Array of KeyFilter structures
Match nodes by their OpenTelemetry (OTel) telemetry attributes.
NodeProperties
Description
Node identity attributes promoted out of the flat attribute map onto typed members. The first four are part of the node's merge key, so a node that merged across sources reports one resolved value for each.
Members
- category
-
- Type: string
What kind of thing the node is, coarser than nodeType.
- cloudProvider
-
- Type: string
The cloud provider hosting the node, resolved from the reported provider, platform, or vendor namespace, and defaulting to "aws".
- namespace
-
- Type: string
The logical service grouping the node belongs to. This is not a metric namespace.
- region
-
- Type: string
The region the node runs in. Falls back to the region the telemetry was ingested from when the node does not report one.
- sourceAccountId
-
- Type: string
The account that produced the telemetry this node was discovered from.
- stage
-
- Type: string
The node's deployment environment. A node may be observed in several; this is the highest-precedence one. Match any of them with NodeFilters.stage.
NodeSemantics
Description
Semantic description of the service a context graph node represents.
Members
- framework
-
- Type: string
The application framework the service is built on.
- kind
-
- Type: string
The kind of workload the service is.
- language
-
- Type: string
The primary programming language the service is written in.
- purpose
-
- Type: string
What the service does.
- repository
-
- Type: string
The source repository the service is built from.
NotificationRule
Description
Single notification rule: which transitions trigger this rule and where the resulting notification should be sent.
Members
- target
-
- Required: Yes
- Type: NotificationTarget structure
The destination for notifications from this rule.
- trigger
-
- Required: Yes
- Type: NotificationTrigger structure
The conditions that trigger this notification rule.
NotificationTarget
Description
The destination for a notification.
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the notification target. For {@code slack} and {@code pagerduty}, an integration ARN as returned by {@code ListIntegrations}.
- metadata
-
- Type: Associative array of custom strings keys (NotificationTargetMetadataMapKeyString) to strings
Additional target-specific metadata.
- type
-
- Required: Yes
- Type: string
The type of notification target.
NotificationTrigger
Description
Trigger conditions for a notification rule. {@code stateValues} entries combine with OR semantics; empty / omitted = any state.
Members
- stateValues
-
- Type: Array of strings
Alert state(s) that trigger this rule. Empty / omitted = any state.
OAuthClientCredential
Description
Credentials for an OAuth 2.0 client-credentials grant used to authenticate an integration with its external system.
Members
- clientId
-
- Required: Yes
- Type: string
The OAuth 2.0 client identifier registered with the external system.
- clientSecret
-
- Required: Yes
- Type: string
The OAuth 2.0 client secret that pairs with the client identifier.
- providerId
-
- Type: string
The identifier of the OAuth provider that issued the client credentials.
OAuthCodeCredential
Description
Credentials for an OAuth 2.0 authorization-code grant, supplied when completing the authorization of an integration.
Members
- authCode
-
- Required: Yes
- Type: string
The OAuth 2.0 authorization code returned by the external system's authorization endpoint.
OmniDashboard
Description
A dashboard within a space, including its body.
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the dashboard.
- body
-
- Required: Yes
- Type: string
The dashboard definition.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was created.
- createdBy
-
- Required: Yes
- Type: string
The principal that created the dashboard.
- dashboardId
-
- Required: Yes
- Type: string
The unique ID of the dashboard.
- description
-
- Type: string
An optional description of the dashboard.
- name
-
- Required: Yes
- Type: string
A name that identifies the dashboard.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags associated with the dashboard.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was last updated.
OmniDashboardSummary
Description
Summary of a dashboard. Call GetOmniDashboard for the full dashboard.
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the dashboard.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was created.
- createdBy
-
- Required: Yes
- Type: string
The principal that created the dashboard.
- dashboardId
-
- Required: Yes
- Type: string
The unique ID of the dashboard.
- description
-
- Type: string
An optional description of the dashboard.
- name
-
- Required: Yes
- Type: string
A name that identifies the dashboard.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags associated with the dashboard.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was last updated.
OrganizationAccessGrant
Description
An organization-scoped access grant.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the grant was created.
- createdBy
-
- Required: Yes
- Type: string
The principal that created the grant.
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain the grant belongs to.
- grantArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the access grant.
- grantId
-
- Required: Yes
- Type: string
The unique ID of the access grant.
- grantType
-
- Required: Yes
- Type: string
Who manages the grant.
- name
-
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission granted.
- principal
-
- Required: Yes
- Type: OrganizationAccessGrantPrincipal structure
The principal receiving the grant.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the grant was last updated.
OrganizationAccessGrantPrincipal
Description
The principal receiving an organization-level domain access grant. Specify principalId, principalAttributes, or both.
Members
- principalAttributes
-
- Type: Array of AccessGrantPrincipalAttribute structures
Attribute conditions for attribute-based access. When provided, the grant targets any principal matching all specified conditions. Supported only for IDC_USER principals.
- principalId
-
- Type: string
The ID of the principal receiving the grant.
- principalType
-
- Required: Yes
- Type: string
The type of principal receiving the grant.
OrganizationAccessGrantSummary
Description
Summary of an organization access grant. Call GetDomainAccessGrantForOrganization for the full grant.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the access grant was created.
- domainId
-
- Required: Yes
- Type: string
The ID of the organization domain the grant belongs to.
- grantArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the access grant.
- grantId
-
- Required: Yes
- Type: string
The unique ID of the access grant.
- grantType
-
- Required: Yes
- Type: string
Who manages the grant.
- name
-
- Type: string
A name that identifies the access grant.
- permission
-
- Required: Yes
- Type: string
The permission granted.
- principal
-
- Required: Yes
- Type: OrganizationAccessGrantPrincipal structure
The principal receiving the grant.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the access grant was last updated.
OrganizationDomain
Description
Detailed information about an organization domain.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the organization domain was created.
- customEndpointUrls
-
- Type: Array of strings
Additional endpoint URLs derived from the domain name.
- domainAccessRoleArn
-
- Type: string
The ARN of the customer-provided IAM role in the management account used for domain access.
- domainArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the organization domain.
- domainEndpointUrl
-
- Required: Yes
- Type: string
The HTTPS endpoint URL for accessing the organization domain.
- domainId
-
- Required: Yes
- Type: string
The unique ID of the organization domain.
- identityCenterApplicationArn
-
- Type: string
The ARN of the Identity Center application. Absent for IAM-only domains.
- identityProviderConfiguration
-
- Type: IdentityProviderConfiguration structure
Identity provider configuration for the organization domain.
- identityProviders
-
- Required: Yes
- Type: Array of strings
The identity providers configured for the organization domain.
- name
-
- Type: string
A name that identifies the organization domain.
- organizationId
-
- Required: Yes
- Type: string
The ID of the AWS Organization that owns the domain.
- ownerAccountId
-
- Required: Yes
- Type: string
The AWS account ID that owns the organization domain.
- region
-
- Required: Yes
- Type: string
The Region where this organization domain was created.
- status
-
- Required: Yes
- Type: string
Current status of the organization domain.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the organization domain was last updated.
PartialResults
Description
Indicates whether a query returned partial results.
Members
- partialResultsDetected
-
- Type: boolean
True when the query returned partial results (some data could not be read).
PrincipalSearchResult
Description
A user or group matched by SearchPrincipals.
Members
- description
-
- Type: string
An optional description of the principal.
- displayName
-
- Required: Yes
- Type: string
The display name of the principal.
- principalId
-
- Required: Yes
- Type: string
The unique ID of the principal.
- principalType
-
- Required: Yes
- Type: string
Whether the principal is a user or a group.
- userName
-
- Type: string
The user name of the principal. Present for users only.
QueryStatistics
Description
Statistics about a telemetry query execution.
Members
- bytesScanned
-
- Type: double
The number of bytes scanned by the query.
- partialResults
-
- Type: PartialResults structure
Information about whether the query returned partial results.
- percentComplete
-
- Type: int
The percentage of the query that has completed.
- recordsMatched
-
- Type: long (int|float)
The number of records that matched the query criteria.
- recordsScanned
-
- Type: long (int|float)
The total number of records scanned.
ResourceNotFoundException
Description
The specified resource does not exist.
Members
- errorCode
-
- Type: string
The error code associated with the failure.
- message
-
- Required: Yes
- Type: string
- resourceId
-
- Type: string
The identifier of the resource that could not be found. Not always present.
- resourceType
-
- Type: string
The type of the resource that could not be found. Not always present.
ResourceScope
Description
A single resource scope entry within an AccessGrant. Associates a resource type with optional ARN patterns, tag conditions, and row-level filters.
Members
- resourceArns
-
- Type: Array of strings
Specific resource ARNs or ARN patterns. When set, actions are limited to these resources. When absent, defaults to "*".
- resourceType
-
- Required: Yes
- Type: string
Resource type name (e.g., "DataSet", "OmniDashboard").
- rowScopeGroups
-
- Type: Array of RowScope structuress
Row-level filters for this scope, as an OR of AND-groups: a row is visible when it matches every filter in any one group. Requires signalTypes.
Row filters are additive across a principal's matching grants. A signal type with no matching group is unrestricted, and when rowScopeGroups is omitted all rows are visible for all signal types.
- signalTypes
-
- Type: Array of strings
Signal types this scope's row filtering applies to. Required when rowScopeGroups is set.
- tags
-
- Type: Associative array of custom strings keys (String) to strings
Tag-based conditions for dynamic resource scoping. Access applies only to resources carrying all of the specified tag key/value pairs.
RowScope
Description
A single additive row-level filter on an AccessGrant. A row is visible when its value for the given field matches the filter's values. Row filters are additive: the visible rows are the union of all row filters across a principal's matching grants.
Members
- field
-
- Required: Yes
- Type: string
The field (column) the allowlist applies to (e.g., "serviceName", "accountId").
- operator
-
- Required: Yes
- Type: string
Match operator applied to this filter's values.
- values
-
- Required: Yes
- Type: Array of strings
The values the field is matched against.
Rule
Description
Top-level rule definition.
{@code telemetryRule} members are optional at the Smithy level to support PATCH semantics on UpdateAlert (send only the sub-blocks you want to change). On CreateAlert, presence is enforced by the service-side validator.
Members
- telemetryRule
-
- Type: TelemetryRule structure
The telemetry-based rule definition.
ScopedActions
Description
A group of actions within an access grant, together with the resource scopes and context conditions that apply to exactly those actions.
Members
- actions
-
- Required: Yes
- Type: Array of strings
The actions this group applies to.
- contextConditions
-
- Type: Associative array of custom strings keys (String) to stringss
Optional context conditions for fine-grained access control on these actions.
- resources
-
- Type: Array of ResourceScope structures
Optional resource scopes constraining these actions to specific resources.
ServiceQuotaExceededException
Description
A service quota was exceeded.
Members
- message
-
- Required: Yes
- Type: string
SessionSummary
Description
Summary information about a query session, including its identifier, name, and activity timestamps.
Members
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the session was created.
- lastActivityAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp of the most recent activity in the session.
- sessionId
-
- Required: Yes
- Type: string
The unique ID of the session.
- sessionName
-
- Type: string
The human-readable name of the session. Names under
/aws/are reserved for service integrations.
Space
Description
Detailed information about a space.
Members
- agentCoreEvaluationRoleArn
-
- Type: string
The ARN of the IAM role used by AgentCore online evaluation. Absent when the space was created without one.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the space was created.
- dataAccessRoleArn
-
- Required: Yes
- Type: string
The ARN of the IAM role used for data access.
- domainArn
-
- Type: string
The Amazon Resource Name (ARN) of the domain the space belongs to. Absent when the space is not associated with a domain, so callers must tolerate its absence.
- encryptionConfiguration
-
- Type: EncryptionConfiguration structure
How the space's data at rest is encrypted. Always populated: a space with no customer managed key reports
encryptionStrategyAWS_OWNED and nokmsKeyArn. - name
-
- Required: Yes
- Type: string
A name that identifies the space.
- ownerAccountId
-
- Required: Yes
- Type: string
AWS account ID that owns this space.
- region
-
- Required: Yes
- Type: string
The region where this space was created.
- spaceArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the space.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
- status
-
- Required: Yes
- Type: string
The status of the space.
- statusReason
-
- Type: string
Reason for the current space status.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the space was last updated.
SpaceCredentialRequestContext
Description
Identifies what the credentials are for: either an existing space, or a target account in a domain. Specify spaceId, or both domainId and targetAccountId.
Members
- domainId
-
- Type: string
The ID of the domain, when returning credentials for a target account that does not yet have a space.
- spaceId
-
- Type: string
The ID of an existing space to return credentials for.
- targetAccountId
-
- Type: string
The ID of the target member account. Required when domainId is set.
SpaceSummary
Description
Summary of a space. Call GetSpace for the full space.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the space was created.
- domainArn
-
- Type: string
The Amazon Resource Name (ARN) of the domain the space belongs to. Absent when the space is not associated with a domain, so callers must tolerate its absence.
- name
-
- Required: Yes
- Type: string
A name that identifies the space.
- ownerAccountId
-
- Required: Yes
- Type: string
AWS account ID that owns this space.
- region
-
- Required: Yes
- Type: string
The region where this space was created.
- spaceArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the space.
- spaceId
-
- Required: Yes
- Type: string
The unique ID of the space.
- status
-
- Required: Yes
- Type: string
The status of the space.
- statusReason
-
- Type: string
Reason for the current space status.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the space was last updated.
TelemetryRule
Description
Telemetry-based rule: what to query, how to evaluate the result, what condition makes it fire, and what to do on missing data.
Members
- condition
-
- Type: AlertCondition structure
The condition that determines when the alert fires.
- evaluation
-
- Type: AlertEvaluation structure
The evaluation cadence and durations.
- noData
-
- Type: NoData structure
How the alert behaves when a query produces no data.
- query
-
- Type: AlertRuleQuery structure
The query expression to evaluate.
ThrottlingException
Description
The request was throttled due to exceeding the allowed request rate.
Members
- message
-
- Required: Yes
- Type: string
- retryAfterSeconds
-
- Type: int
The number of seconds to wait before retrying the request. Not always present.
TraceMetadata
Description
One TRACES query selector block on a node/edge (see LogMetadata).
Members
- attributes
-
- Type: Associative array of custom strings keys (String) to strings
TRACES counterpart of LogMetadataAttributeMap — a dedicated per-signal map so the two evolve independently (same scalar shape and cap today).
ValidationException
Description
A parameter is specified incorrectly.
Members
- errorCode
-
- Type: string
The error code associated with the validation failure.
- message
-
- Required: Yes
- Type: string
ViewSummary
Description
Summary information about a view. Does not include the view definition.
Members
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was created.
- description
-
- Type: string
The description of the view.
- name
-
- Required: Yes
- Type: string
The name of the view.
- type
-
- Required: Yes
- Type: string
The ownership category of the view.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the view was last updated.