All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.oam.AWSOAMAsync Maven / Gradle / Ivy

Go to download

The AWS Java SDK for CloudWatch Observability Access Manager module holds the client classes that are used for communicating with CloudWatch Observability Access Manager Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.oam;

import javax.annotation.Generated;

import com.amazonaws.services.oam.model.*;

/**
 * Interface for accessing CloudWatch Observability Access Manager asynchronously. Each asynchronous method will return
 * a Java Future object representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be
 * used to receive notification when an asynchronous operation completes.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.oam.AbstractAWSOAMAsync} instead. *

*

*

* 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, and traces in any of the linked accounts without account boundaries. *

* *
 *  <p>Set up one or more Amazon Web Services accounts as <i>monitoring accounts</i> and link them with multiple <i>source accounts</i>. 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, and traces in X-Ray.</p> 
 * 
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSOAMAsync extends AWSOAM { /** *

* Creates a link between a source account and a sink that you have created in a 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. *

* * @param createLinkRequest * @return A Java Future containing the result of the CreateLink operation returned by the service. * @sample AWSOAMAsync.CreateLink * @see AWS API * Documentation */ java.util.concurrent.Future createLinkAsync(CreateLinkRequest createLinkRequest); /** *

* Creates a link between a source account and a sink that you have created in a 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. *

* * @param createLinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateLink operation returned by the service. * @sample AWSOAMAsyncHandler.CreateLink * @see AWS API * Documentation */ java.util.concurrent.Future createLinkAsync(CreateLinkRequest createLinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. If you delete a sink, you can then create a new one in that account. *

* * @param createSinkRequest * @return A Java Future containing the result of the CreateSink operation returned by the service. * @sample AWSOAMAsync.CreateSink * @see AWS API * Documentation */ java.util.concurrent.Future createSinkAsync(CreateSinkRequest createSinkRequest); /** *

* 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. If you delete a sink, you can then create a new one in that account. *

* * @param createSinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateSink operation returned by the service. * @sample AWSOAMAsyncHandler.CreateSink * @see AWS API * Documentation */ java.util.concurrent.Future createSinkAsync(CreateSinkRequest createSinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes a link between a monitoring account sink and a source account. You must run this operation in the source * account. *

* * @param deleteLinkRequest * @return A Java Future containing the result of the DeleteLink operation returned by the service. * @sample AWSOAMAsync.DeleteLink * @see AWS API * Documentation */ java.util.concurrent.Future deleteLinkAsync(DeleteLinkRequest deleteLinkRequest); /** *

* Deletes a link between a monitoring account sink and a source account. You must run this operation in the source * account. *

* * @param deleteLinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteLink operation returned by the service. * @sample AWSOAMAsyncHandler.DeleteLink * @see AWS API * Documentation */ java.util.concurrent.Future deleteLinkAsync(DeleteLinkRequest deleteLinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes a sink. You must delete all links to a sink before you can delete that sink. *

* * @param deleteSinkRequest * @return A Java Future containing the result of the DeleteSink operation returned by the service. * @sample AWSOAMAsync.DeleteSink * @see AWS API * Documentation */ java.util.concurrent.Future deleteSinkAsync(DeleteSinkRequest deleteSinkRequest); /** *

* Deletes a sink. You must delete all links to a sink before you can delete that sink. *

* * @param deleteSinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteSink operation returned by the service. * @sample AWSOAMAsyncHandler.DeleteSink * @see AWS API * Documentation */ java.util.concurrent.Future deleteSinkAsync(DeleteSinkRequest deleteSinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Returns complete information about one link. *

*

* To use this operation, provide the link ARN. To retrieve a list of link ARNs, use ListLinks. *

* * @param getLinkRequest * @return A Java Future containing the result of the GetLink operation returned by the service. * @sample AWSOAMAsync.GetLink * @see AWS API * Documentation */ java.util.concurrent.Future getLinkAsync(GetLinkRequest getLinkRequest); /** *

* Returns complete information about one link. *

*

* To use this operation, provide the link ARN. To retrieve a list of link ARNs, use ListLinks. *

* * @param getLinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetLink operation returned by the service. * @sample AWSOAMAsyncHandler.GetLink * @see AWS API * Documentation */ java.util.concurrent.Future getLinkAsync(GetLinkRequest getLinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param getSinkRequest * @return A Java Future containing the result of the GetSink operation returned by the service. * @sample AWSOAMAsync.GetSink * @see AWS API * Documentation */ java.util.concurrent.Future getSinkAsync(GetSinkRequest getSinkRequest); /** *

* 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. *

* * @param getSinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetSink operation returned by the service. * @sample AWSOAMAsyncHandler.GetSink * @see AWS API * Documentation */ java.util.concurrent.Future getSinkAsync(GetSinkRequest getSinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param getSinkPolicyRequest * @return A Java Future containing the result of the GetSinkPolicy operation returned by the service. * @sample AWSOAMAsync.GetSinkPolicy * @see AWS API * Documentation */ java.util.concurrent.Future getSinkPolicyAsync(GetSinkPolicyRequest getSinkPolicyRequest); /** *

* 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. *

* * @param getSinkPolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetSinkPolicy operation returned by the service. * @sample AWSOAMAsyncHandler.GetSinkPolicy * @see AWS API * Documentation */ java.util.concurrent.Future getSinkPolicyAsync(GetSinkPolicyRequest getSinkPolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param listAttachedLinksRequest * @return A Java Future containing the result of the ListAttachedLinks operation returned by the service. * @sample AWSOAMAsync.ListAttachedLinks * @see AWS API * Documentation */ java.util.concurrent.Future listAttachedLinksAsync(ListAttachedLinksRequest listAttachedLinksRequest); /** *

* 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. *

* * @param listAttachedLinksRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListAttachedLinks operation returned by the service. * @sample AWSOAMAsyncHandler.ListAttachedLinks * @see AWS API * Documentation */ java.util.concurrent.Future listAttachedLinksAsync(ListAttachedLinksRequest listAttachedLinksRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param listLinksRequest * @return A Java Future containing the result of the ListLinks operation returned by the service. * @sample AWSOAMAsync.ListLinks * @see AWS API * Documentation */ java.util.concurrent.Future listLinksAsync(ListLinksRequest listLinksRequest); /** *

* 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. *

* * @param listLinksRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListLinks operation returned by the service. * @sample AWSOAMAsyncHandler.ListLinks * @see AWS API * Documentation */ java.util.concurrent.Future listLinksAsync(ListLinksRequest listLinksRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Use this operation in a monitoring account to return the list of sinks created in that account. *

* * @param listSinksRequest * @return A Java Future containing the result of the ListSinks operation returned by the service. * @sample AWSOAMAsync.ListSinks * @see AWS API * Documentation */ java.util.concurrent.Future listSinksAsync(ListSinksRequest listSinksRequest); /** *

* Use this operation in a monitoring account to return the list of sinks created in that account. *

* * @param listSinksRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListSinks operation returned by the service. * @sample AWSOAMAsyncHandler.ListSinks * @see AWS API * Documentation */ java.util.concurrent.Future listSinksAsync(ListSinksRequest listSinksRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Displays the tags associated with a resource. Both sinks and links support tagging. *

* * @param listTagsForResourceRequest * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AWSOAMAsync.ListTagsForResource * @see AWS API * Documentation */ java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Displays the tags associated with a resource. Both sinks and links support tagging. *

* * @param listTagsForResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AWSOAMAsyncHandler.ListTagsForResource * @see AWS API * Documentation */ java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 *

    *
  • *
*

* See the examples in this section to see how to specify permitted source accounts and data types. *

* * @param putSinkPolicyRequest * @return A Java Future containing the result of the PutSinkPolicy operation returned by the service. * @sample AWSOAMAsync.PutSinkPolicy * @see AWS API * Documentation */ java.util.concurrent.Future putSinkPolicyAsync(PutSinkPolicyRequest putSinkPolicyRequest); /** *

* 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 *

    *
  • *
*

* See the examples in this section to see how to specify permitted source accounts and data types. *

* * @param putSinkPolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutSinkPolicy operation returned by the service. * @sample AWSOAMAsyncHandler.PutSinkPolicy * @see AWS API * Documentation */ java.util.concurrent.Future putSinkPolicyAsync(PutSinkPolicyRequest putSinkPolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSOAMAsync.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest); /** *

* 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. *

*
* * @param tagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSOAMAsyncHandler.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSOAMAsync.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest); /** *

* 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. *

*
* * @param untagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSOAMAsyncHandler.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*

* To update the list of tags associated with the sink, use TagResource. *

* * @param updateLinkRequest * @return A Java Future containing the result of the UpdateLink operation returned by the service. * @sample AWSOAMAsync.UpdateLink * @see AWS API * Documentation */ java.util.concurrent.Future updateLinkAsync(UpdateLinkRequest updateLinkRequest); /** *

* 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. *

*

* To update the list of tags associated with the sink, use TagResource. *

* * @param updateLinkRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateLink operation returned by the service. * @sample AWSOAMAsyncHandler.UpdateLink * @see AWS API * Documentation */ java.util.concurrent.Future updateLinkAsync(UpdateLinkRequest updateLinkRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy