/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the oam-2022-06-10.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.OAM.Model; using Amazon.OAM.Model.Internal.MarshallTransformations; using Amazon.OAM.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.OAM { /// /// Implementation for accessing OAM /// /// 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> 
///
public partial class AmazonOAMClient : AmazonServiceClient, IAmazonOAM { private static IServiceMetadata serviceMetadata = new AmazonOAMMetadata(); #if BCL45 || AWS_ASYNC_ENUMERABLES_API private IOAMPaginatorFactory _paginators; /// /// Paginators for the service /// public IOAMPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new OAMPaginatorFactory(this); } return this._paginators; } } #endif #region Constructors /// /// Constructs AmazonOAMClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonOAMClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonOAMConfig()) { } /// /// Constructs AmazonOAMClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonOAMClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonOAMConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonOAMClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonOAMClient Configuration Object public AmazonOAMClient(AmazonOAMConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonOAMClient with AWS Credentials /// /// AWS Credentials public AmazonOAMClient(AWSCredentials credentials) : this(credentials, new AmazonOAMConfig()) { } /// /// Constructs AmazonOAMClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonOAMClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonOAMConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonOAMClient with AWS Credentials and an /// AmazonOAMClient Configuration object. /// /// AWS Credentials /// The AmazonOAMClient Configuration Object public AmazonOAMClient(AWSCredentials credentials, AmazonOAMConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonOAMConfig()) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonOAMConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID, AWS Secret Key and an /// AmazonOAMClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonOAMClient Configuration Object public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonOAMConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonOAMConfig()) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonOAMConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonOAMClient with AWS Access Key ID, AWS Secret Key and an /// AmazonOAMClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonOAMClient Configuration Object public AmazonOAMClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonOAMConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonOAMEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CreateLink /// /// 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. /// /// /// Container for the necessary parameters to execute the CreateLink service method. /// /// The response from the CreateLink service method, as returned by OAM. /// /// A resource was in an inconsistent state during an update or a deletion. /// /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request would cause a service quota to be exceeded. /// /// REST API Reference for CreateLink Operation public virtual CreateLinkResponse CreateLink(CreateLinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateLinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateLink operation. /// /// /// Container for the necessary parameters to execute the CreateLink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateLink /// operation. /// REST API Reference for CreateLink Operation public virtual IAsyncResult BeginCreateLink(CreateLinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateLinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateLink operation. /// /// /// The IAsyncResult returned by the call to BeginCreateLink. /// /// Returns a CreateLinkResult from OAM. /// REST API Reference for CreateLink Operation public virtual CreateLinkResponse EndCreateLink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreateSink /// /// 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. /// /// /// Container for the necessary parameters to execute the CreateSink service method. /// /// The response from the CreateSink service method, as returned by OAM. /// /// A resource was in an inconsistent state during an update or a deletion. /// /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request would cause a service quota to be exceeded. /// /// REST API Reference for CreateSink Operation public virtual CreateSinkResponse CreateSink(CreateSinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateSink operation. /// /// /// Container for the necessary parameters to execute the CreateSink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateSink /// operation. /// REST API Reference for CreateSink Operation public virtual IAsyncResult BeginCreateSink(CreateSinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateSink operation. /// /// /// The IAsyncResult returned by the call to BeginCreateSink. /// /// Returns a CreateSinkResult from OAM. /// REST API Reference for CreateSink Operation public virtual CreateSinkResponse EndCreateSink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteLink /// /// Deletes a link between a monitoring account sink and a source account. You must run /// this operation in the source account. /// /// Container for the necessary parameters to execute the DeleteLink service method. /// /// The response from the DeleteLink service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for DeleteLink Operation public virtual DeleteLinkResponse DeleteLink(DeleteLinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteLink operation. /// /// /// Container for the necessary parameters to execute the DeleteLink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteLink /// operation. /// REST API Reference for DeleteLink Operation public virtual IAsyncResult BeginDeleteLink(DeleteLinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteLink operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteLink. /// /// Returns a DeleteLinkResult from OAM. /// REST API Reference for DeleteLink Operation public virtual DeleteLinkResponse EndDeleteLink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteSink /// /// Deletes a sink. You must delete all links to a sink before you can delete that sink. /// /// Container for the necessary parameters to execute the DeleteSink service method. /// /// The response from the DeleteSink service method, as returned by OAM. /// /// A resource was in an inconsistent state during an update or a deletion. /// /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for DeleteSink Operation public virtual DeleteSinkResponse DeleteSink(DeleteSinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteSink operation. /// /// /// Container for the necessary parameters to execute the DeleteSink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteSink /// operation. /// REST API Reference for DeleteSink Operation public virtual IAsyncResult BeginDeleteSink(DeleteSinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteSink operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteSink. /// /// Returns a DeleteSinkResult from OAM. /// REST API Reference for DeleteSink Operation public virtual DeleteSinkResponse EndDeleteSink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetLink /// /// Returns complete information about one link. /// /// /// /// To use this operation, provide the link ARN. To retrieve a list of link ARNs, use /// ListLinks. /// /// /// Container for the necessary parameters to execute the GetLink service method. /// /// The response from the GetLink service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for GetLink Operation public virtual GetLinkResponse GetLink(GetLinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetLink operation. /// /// /// Container for the necessary parameters to execute the GetLink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetLink /// operation. /// REST API Reference for GetLink Operation public virtual IAsyncResult BeginGetLink(GetLinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetLink operation. /// /// /// The IAsyncResult returned by the call to BeginGetLink. /// /// Returns a GetLinkResult from OAM. /// REST API Reference for GetLink Operation public virtual GetLinkResponse EndGetLink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetSink /// /// 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. /// /// /// Container for the necessary parameters to execute the GetSink service method. /// /// The response from the GetSink service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for GetSink Operation public virtual GetSinkResponse GetSink(GetSinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetSink operation. /// /// /// Container for the necessary parameters to execute the GetSink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSink /// operation. /// REST API Reference for GetSink Operation public virtual IAsyncResult BeginGetSink(GetSinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetSinkRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetSink operation. /// /// /// The IAsyncResult returned by the call to BeginGetSink. /// /// Returns a GetSinkResult from OAM. /// REST API Reference for GetSink Operation public virtual GetSinkResponse EndGetSink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetSinkPolicy /// /// 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. /// /// Container for the necessary parameters to execute the GetSinkPolicy service method. /// /// The response from the GetSinkPolicy service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for GetSinkPolicy Operation public virtual GetSinkPolicyResponse GetSinkPolicy(GetSinkPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSinkPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSinkPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetSinkPolicy operation. /// /// /// Container for the necessary parameters to execute the GetSinkPolicy operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSinkPolicy /// operation. /// REST API Reference for GetSinkPolicy Operation public virtual IAsyncResult BeginGetSinkPolicy(GetSinkPolicyRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetSinkPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSinkPolicyResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetSinkPolicy operation. /// /// /// The IAsyncResult returned by the call to BeginGetSinkPolicy. /// /// Returns a GetSinkPolicyResult from OAM. /// REST API Reference for GetSinkPolicy Operation public virtual GetSinkPolicyResponse EndGetSinkPolicy(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListAttachedLinks /// /// 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. /// /// /// Container for the necessary parameters to execute the ListAttachedLinks service method. /// /// The response from the ListAttachedLinks service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for ListAttachedLinks Operation public virtual ListAttachedLinksResponse ListAttachedLinks(ListAttachedLinksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListAttachedLinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListAttachedLinksResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListAttachedLinks operation. /// /// /// Container for the necessary parameters to execute the ListAttachedLinks operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListAttachedLinks /// operation. /// REST API Reference for ListAttachedLinks Operation public virtual IAsyncResult BeginListAttachedLinks(ListAttachedLinksRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListAttachedLinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListAttachedLinksResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListAttachedLinks operation. /// /// /// The IAsyncResult returned by the call to BeginListAttachedLinks. /// /// Returns a ListAttachedLinksResult from OAM. /// REST API Reference for ListAttachedLinks Operation public virtual ListAttachedLinksResponse EndListAttachedLinks(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListLinks /// /// 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. /// /// /// Container for the necessary parameters to execute the ListLinks service method. /// /// The response from the ListLinks service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for ListLinks Operation public virtual ListLinksResponse ListLinks(ListLinksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListLinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLinksResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListLinks operation. /// /// /// Container for the necessary parameters to execute the ListLinks operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListLinks /// operation. /// REST API Reference for ListLinks Operation public virtual IAsyncResult BeginListLinks(ListLinksRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListLinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLinksResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListLinks operation. /// /// /// The IAsyncResult returned by the call to BeginListLinks. /// /// Returns a ListLinksResult from OAM. /// REST API Reference for ListLinks Operation public virtual ListLinksResponse EndListLinks(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListSinks /// /// Use this operation in a monitoring account to return the list of sinks created in /// that account. /// /// Container for the necessary parameters to execute the ListSinks service method. /// /// The response from the ListSinks service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for ListSinks Operation public virtual ListSinksResponse ListSinks(ListSinksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSinksResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListSinks operation. /// /// /// Container for the necessary parameters to execute the ListSinks operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListSinks /// operation. /// REST API Reference for ListSinks Operation public virtual IAsyncResult BeginListSinks(ListSinksRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListSinksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSinksResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListSinks operation. /// /// /// The IAsyncResult returned by the call to BeginListSinks. /// /// Returns a ListSinksResult from OAM. /// REST API Reference for ListSinks Operation public virtual ListSinksResponse EndListSinks(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListTagsForResource /// /// Displays the tags associated with a resource. Both sinks and links support tagging. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// The response from the ListTagsForResource service method, as returned by OAM. /// /// The request references a resource that does not exist. /// /// /// The value of a parameter in the request caused an error. /// /// REST API Reference for ListTagsForResource Operation public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListTagsForResource operation. /// /// /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource /// operation. /// REST API Reference for ListTagsForResource Operation public virtual IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListTagsForResource operation. /// /// /// The IAsyncResult returned by the call to BeginListTagsForResource. /// /// Returns a ListTagsForResourceResult from OAM. /// REST API Reference for ListTagsForResource Operation public virtual ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region PutSinkPolicy /// /// 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. /// ///
/// Container for the necessary parameters to execute the PutSinkPolicy service method. /// /// The response from the PutSinkPolicy service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for PutSinkPolicy Operation public virtual PutSinkPolicyResponse PutSinkPolicy(PutSinkPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutSinkPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutSinkPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the PutSinkPolicy operation. /// /// /// Container for the necessary parameters to execute the PutSinkPolicy operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutSinkPolicy /// operation. /// REST API Reference for PutSinkPolicy Operation public virtual IAsyncResult BeginPutSinkPolicy(PutSinkPolicyRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PutSinkPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutSinkPolicyResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the PutSinkPolicy operation. /// /// /// The IAsyncResult returned by the call to BeginPutSinkPolicy. /// /// Returns a PutSinkPolicyResult from OAM. /// REST API Reference for PutSinkPolicy Operation public virtual PutSinkPolicyResponse EndPutSinkPolicy(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region TagResource /// /// 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. /// /// /// /// Container for the necessary parameters to execute the TagResource service method. /// /// The response from the TagResource service method, as returned by OAM. /// /// The request references a resource that does not exist. /// /// /// A resource can have no more than 50 tags. /// /// /// The value of a parameter in the request caused an error. /// /// REST API Reference for TagResource Operation public virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the TagResource operation. /// /// /// Container for the necessary parameters to execute the TagResource operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource /// operation. /// REST API Reference for TagResource Operation public virtual IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the TagResource operation. /// /// /// The IAsyncResult returned by the call to BeginTagResource. /// /// Returns a TagResourceResult from OAM. /// REST API Reference for TagResource Operation public virtual TagResourceResponse EndTagResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region UntagResource /// /// 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. /// /// /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// The response from the UntagResource service method, as returned by OAM. /// /// The request references a resource that does not exist. /// /// /// The value of a parameter in the request caused an error. /// /// REST API Reference for UntagResource Operation public virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the UntagResource operation. /// /// /// Container for the necessary parameters to execute the UntagResource operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource /// operation. /// REST API Reference for UntagResource Operation public virtual IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the UntagResource operation. /// /// /// The IAsyncResult returned by the call to BeginUntagResource. /// /// Returns a UntagResourceResult from OAM. /// REST API Reference for UntagResource Operation public virtual UntagResourceResponse EndUntagResource(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region UpdateLink /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateLink service method. /// /// The response from the UpdateLink service method, as returned by OAM. /// /// Unexpected error while processing the request. Retry the request. /// /// /// A parameter is specified incorrectly. /// /// /// A required parameter is missing from the request. /// /// /// The request references a resource that does not exist. /// /// REST API Reference for UpdateLink Operation public virtual UpdateLinkResponse UpdateLink(UpdateLinkRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateLinkResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the UpdateLink operation. /// /// /// Container for the necessary parameters to execute the UpdateLink operation on AmazonOAMClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateLink /// operation. /// REST API Reference for UpdateLink Operation public virtual IAsyncResult BeginUpdateLink(UpdateLinkRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateLinkRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateLinkResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the UpdateLink operation. /// /// /// The IAsyncResult returned by the call to BeginUpdateLink. /// /// Returns a UpdateLinkResult from OAM. /// REST API Reference for UpdateLink Operation public virtual UpdateLinkResponse EndUpdateLink(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion } }