@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AWSOAMClient extends AmazonWebServiceClient implements AWSOAM
Use Amazon CloudWatch Observability Access Manager to create and manage links between source accounts and monitoring accounts by using CloudWatch cross-account observability. With CloudWatch cross-account observability, you can monitor and troubleshoot applications that span multiple accounts within a Region. Seamlessly search, visualize, and analyze your metrics, logs, traces, and Application Insights applications in any of the linked accounts without account boundaries.
Set up one or more Amazon Web Services accounts as monitoring accounts and link them with multiple source accounts. A monitoring account is a central Amazon Web Services account that can view and interact with observability data generated from source accounts. A source account is an individual Amazon Web Services account that generates observability data for the resources that reside in it. Source accounts share their observability data with the monitoring account. The shared observability data can include metrics in Amazon CloudWatch, logs in Amazon CloudWatch Logs, traces in X-Ray, and applications in Amazon CloudWatch Application Insights.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
Modifier and Type | Method and Description |
---|---|
static AWSOAMClientBuilder |
builder() |
CreateLinkResult |
createLink(CreateLinkRequest request)
Creates a link between a source account and a sink that you have created in a monitoring account.
|
CreateSinkResult |
createSink(CreateSinkRequest request)
Use this to create a sink in the current account, so that it can be used as a monitoring account in
CloudWatch cross-account observability.
|
DeleteLinkResult |
deleteLink(DeleteLinkRequest request)
Deletes a link between a monitoring account sink and a source account.
|
DeleteSinkResult |
deleteSink(DeleteSinkRequest request)
Deletes a sink.
|
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful, request, typically used for debugging issues
where a service isn't acting as expected.
|
GetLinkResult |
getLink(GetLinkRequest request)
Returns complete information about one link.
|
GetSinkResult |
getSink(GetSinkRequest request)
Returns complete information about one monitoring account sink.
|
GetSinkPolicyResult |
getSinkPolicy(GetSinkPolicyRequest request)
Returns the current sink policy attached to this sink.
|
ListAttachedLinksResult |
listAttachedLinks(ListAttachedLinksRequest request)
Returns a list of source account links that are linked to this monitoring account sink.
|
ListLinksResult |
listLinks(ListLinksRequest request)
Use this operation in a source account to return a list of links to monitoring account sinks that this source
account has.
|
ListSinksResult |
listSinks(ListSinksRequest request)
Use this operation in a monitoring account to return the list of sinks created in that account.
|
ListTagsForResourceResult |
listTagsForResource(ListTagsForResourceRequest request)
Displays the tags associated with a resource.
|
PutSinkPolicyResult |
putSinkPolicy(PutSinkPolicyRequest request)
Creates or updates the resource policy that grants permissions to source accounts to link to the monitoring
account sink.
|
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
TagResourceResult |
tagResource(TagResourceRequest request)
Assigns one or more tags (key-value pairs) to the specified resource.
|
UntagResourceResult |
untagResource(UntagResourceRequest request)
Removes one or more tags from the specified resource.
|
UpdateLinkResult |
updateLink(UpdateLinkRequest request)
Use this operation to change what types of data are shared from a source account to its linked monitoring account
sink.
|
addRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
public static AWSOAMClientBuilder builder()
public CreateLinkResult createLink(CreateLinkRequest request)
Creates a link between a source account and a sink that you have created in a monitoring account. After the link is created, data is sent from the source account to the monitoring account. When you create a link, you can optionally specify filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
Before you create a link, you must create a sink in the monitoring account and create a sink policy in that account. The sink policy must permit the source account to link to it. You can grant permission to source accounts by granting permission to an entire organization or to individual accounts.
For more information, see CreateSink and PutSinkPolicy.
Each monitoring account can be linked to as many as 100,000 source accounts.
Each source account can be linked to as many as five monitoring accounts.
createLink
in interface AWSOAM
createLinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.ConflictException
- A resource was in an inconsistent state during an update or a deletion.MissingRequiredParameterException
- A required parameter is missing from the request.ServiceQuotaExceededException
- The request would cause a service quota to be exceeded.InvalidParameterException
- A parameter is specified incorrectly.public CreateSinkResult createSink(CreateSinkRequest request)
Use this to create a sink in the current account, so that it can be used as a monitoring account in CloudWatch cross-account observability. A sink is a resource that represents an attachment point in a monitoring account. Source accounts can link to the sink to send observability data.
After you create a sink, you must create a sink policy that allows source accounts to attach to it. For more information, see PutSinkPolicy.
Each account can contain one sink per Region. If you delete a sink, you can then create a new one in that Region.
createSink
in interface AWSOAM
createSinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.ConflictException
- A resource was in an inconsistent state during an update or a deletion.MissingRequiredParameterException
- A required parameter is missing from the request.ServiceQuotaExceededException
- The request would cause a service quota to be exceeded.InvalidParameterException
- A parameter is specified incorrectly.public DeleteLinkResult deleteLink(DeleteLinkRequest request)
Deletes a link between a monitoring account sink and a source account. You must run this operation in the source account.
deleteLink
in interface AWSOAM
deleteLinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public DeleteSinkResult deleteSink(DeleteSinkRequest request)
Deletes a sink. You must delete all links to a sink before you can delete that sink.
deleteSink
in interface AWSOAM
deleteSinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.ConflictException
- A resource was in an inconsistent state during an update or a deletion.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public GetLinkResult getLink(GetLinkRequest request)
Returns complete information about one link.
To use this operation, provide the link ARN. To retrieve a list of link ARNs, use ListLinks.
getLink
in interface AWSOAM
getLinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public GetSinkResult getSink(GetSinkRequest request)
Returns complete information about one monitoring account sink.
To use this operation, provide the sink ARN. To retrieve a list of sink ARNs, use ListSinks.
getSink
in interface AWSOAM
getSinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public GetSinkPolicyResult getSinkPolicy(GetSinkPolicyRequest request)
Returns the current sink policy attached to this sink. The sink policy specifies what accounts can attach to this sink as source accounts, and what types of data they can share.
getSinkPolicy
in interface AWSOAM
getSinkPolicyRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public ListAttachedLinksResult listAttachedLinks(ListAttachedLinksRequest request)
Returns a list of source account links that are linked to this monitoring account sink.
To use this operation, provide the sink ARN. To retrieve a list of sink ARNs, use ListSinks.
To find a list of links for one source account, use ListLinks.
listAttachedLinks
in interface AWSOAM
listAttachedLinksRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public ListLinksResult listLinks(ListLinksRequest request)
Use this operation in a source account to return a list of links to monitoring account sinks that this source account has.
To find a list of links for one monitoring account sink, use ListAttachedLinks from within the monitoring account.
listLinks
in interface AWSOAM
listLinksRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public ListSinksResult listSinks(ListSinksRequest request)
Use this operation in a monitoring account to return the list of sinks created in that account.
listSinks
in interface AWSOAM
listSinksRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request)
Displays the tags associated with a resource. Both sinks and links support tagging.
listTagsForResource
in interface AWSOAM
listTagsForResourceRequest
- ValidationException
- The value of a parameter in the request caused an error.ResourceNotFoundException
- The request references a resource that does not exist.public PutSinkPolicyResult putSinkPolicy(PutSinkPolicyRequest request)
Creates or updates the resource policy that grants permissions to source accounts to link to the monitoring account sink. When you create a sink policy, you can grant permissions to all accounts in an organization or to individual accounts.
You can also use a sink policy to limit the types of data that is shared. The three types that you can allow or deny are:
Metrics - Specify with AWS::CloudWatch::Metric
Log groups - Specify with AWS::Logs::LogGroup
Traces - Specify with AWS::XRay::Trace
Application Insights - Applications - Specify with AWS::ApplicationInsights::Application
See the examples in this section to see how to specify permitted source accounts and data types.
putSinkPolicy
in interface AWSOAM
putSinkPolicyRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public TagResourceResult tagResource(TagResourceRequest request)
Assigns one or more tags (key-value pairs) to the specified resource. Both sinks and links can be tagged.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can use the TagResource
action with a resource that already has tags. If you specify a new tag
key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key
that is already associated with the alarm, the new tag value that you specify replaces the previous value for
that tag.
You can associate as many as 50 tags with a resource.
Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and sinks you must have
the oam:ResourceTag
permission. The iam:ResourceTag
permission does not allow you to
tag and untag links and sinks.
tagResource
in interface AWSOAM
tagResourceRequest
- ValidationException
- The value of a parameter in the request caused an error.TooManyTagsException
- A resource can have no more than 50 tags.ResourceNotFoundException
- The request references a resource that does not exist.public UntagResourceResult untagResource(UntagResourceRequest request)
Removes one or more tags from the specified resource.
Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and sinks you must have
the oam:ResourceTag
permission. The iam:TagResource
permission does not allow you to
tag and untag links and sinks.
untagResource
in interface AWSOAM
untagResourceRequest
- ValidationException
- The value of a parameter in the request caused an error.ResourceNotFoundException
- The request references a resource that does not exist.public UpdateLinkResult updateLink(UpdateLinkRequest request)
Use this operation to change what types of data are shared from a source account to its linked monitoring account sink. You can't change the sink or change the monitoring account with this operation.
When you update a link, you can optionally specify filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
To update the list of tags associated with the sink, use TagResource.
updateLink
in interface AWSOAM
updateLinkRequest
- InternalServiceException
- Unexpected error while processing the request. Retry the request.MissingRequiredParameterException
- A required parameter is missing from the request.InvalidParameterException
- A parameter is specified incorrectly.ResourceNotFoundException
- The request references a resource that does not exist.public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata
in interface AWSOAM
request
- The originally executed requestpublic void shutdown()
AmazonWebServiceClient
shutdown
in interface AWSOAM
shutdown
in class AmazonWebServiceClient