/*
* 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 internetmonitor-2021-06-03.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Net;
using Amazon.InternetMonitor.Model;
using Amazon.InternetMonitor.Model.Internal.MarshallTransformations;
using Amazon.InternetMonitor.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.InternetMonitor
{
///
/// Implementation for accessing InternetMonitor
///
/// Amazon CloudWatch Internet Monitor provides visibility into how internet issues impact
/// the performance and availability between your applications hosted on Amazon Web Services
/// and your end users. It reduces the time it takes for you to diagnose internet issues
/// from days to minutes. Internet Monitor uses the connectivity data that Amazon Web
/// Services captures from its global networking footprint to calculate a baseline of
/// performance and availability for internet traffic. This is the same data that Amazon
/// Web Services uses to monitor internet uptime and availability. With those measurements
/// as a baseline, Internet Monitor raises awareness for you when there are significant
/// problems for your end users in the different geographic locations where your application
/// runs.
///
///
///
/// Internet Monitor publishes internet measurements to CloudWatch Logs and CloudWatch
/// Metrics, to easily support using CloudWatch tools with health information for geographies
/// and networks specific to your application. Internet Monitor sends health events to
/// Amazon EventBridge so that you can set up notifications. If an issue is caused by
/// the Amazon Web Services network, you also automatically receive an Amazon Web Services
/// Health Dashboard notification with the steps that Amazon Web Services is taking to
/// mitigate the problem.
///
///
///
/// To use Internet Monitor, you create a monitor and associate your application's
/// resources with it, VPCs, CloudFront distributions, or WorkSpaces directories, to enable
/// Internet Monitor to know where your application's internet traffic is. Internet Monitor
/// then provides internet measurements from Amazon Web Services that are specific to
/// the locations and networks that communicate with your application.
///
///
///
/// For more information, see Using
/// Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.
///
///
public partial class AmazonInternetMonitorClient : AmazonServiceClient, IAmazonInternetMonitor
{
private static IServiceMetadata serviceMetadata = new AmazonInternetMonitorMetadata();
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
private IInternetMonitorPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IInternetMonitorPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new InternetMonitorPaginatorFactory(this);
}
return this._paginators;
}
}
#endif
#region Constructors
///
/// Constructs AmazonInternetMonitorClient 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 AmazonInternetMonitorClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonInternetMonitorConfig()) { }
///
/// Constructs AmazonInternetMonitorClient 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 AmazonInternetMonitorClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonInternetMonitorConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonInternetMonitorClient 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 AmazonInternetMonitorClient Configuration Object
public AmazonInternetMonitorClient(AmazonInternetMonitorConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonInternetMonitorClient with AWS Credentials
///
/// AWS Credentials
public AmazonInternetMonitorClient(AWSCredentials credentials)
: this(credentials, new AmazonInternetMonitorConfig())
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonInternetMonitorClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonInternetMonitorConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Credentials and an
/// AmazonInternetMonitorClient Configuration object.
///
/// AWS Credentials
/// The AmazonInternetMonitorClient Configuration Object
public AmazonInternetMonitorClient(AWSCredentials credentials, AmazonInternetMonitorConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonInternetMonitorConfig())
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonInternetMonitorConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonInternetMonitorClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonInternetMonitorClient Configuration Object
public AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonInternetMonitorConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonInternetMonitorConfig())
{
}
///
/// Constructs AmazonInternetMonitorClient 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 AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonInternetMonitorConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonInternetMonitorClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonInternetMonitorClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonInternetMonitorClient Configuration Object
public AmazonInternetMonitorClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonInternetMonitorConfig 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 AmazonInternetMonitorEndpointResolver());
}
///
/// 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 CreateMonitor
///
/// Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based
/// on information from the application resources that you add: Amazon Virtual Private
/// Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. Internet
/// Monitor then publishes internet measurements from Amazon Web Services that are specific
/// to the city-networks, that is, the locations and ASNs (typically internet service
/// providers or ISPs), where clients access your application. For more information, see
/// Using
/// Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.
///
///
///
/// When you create a monitor, you set a maximum limit for the number of city-networks
/// where client traffic is monitored. The city-network maximum that you choose is the
/// limit, but you only pay for the number of city-networks that are actually monitored.
/// You can change the maximum at any time by updating your monitor. For more information,
/// see Choosing
/// a city-network maximum value in the Amazon CloudWatch User Guide.
///
///
/// Container for the necessary parameters to execute the CreateMonitor service method.
///
/// The response from the CreateMonitor service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// The requested resource is in use.
///
///
/// An internal error occurred.
///
///
/// The request exceeded a service quota.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for CreateMonitor Operation
public virtual CreateMonitorResponse CreateMonitor(CreateMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the CreateMonitor operation.
///
///
/// Container for the necessary parameters to execute the CreateMonitor operation on AmazonInternetMonitorClient.
/// 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 EndCreateMonitor
/// operation.
/// REST API Reference for CreateMonitor Operation
public virtual IAsyncResult BeginCreateMonitor(CreateMonitorRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateMonitorResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the CreateMonitor operation.
///
///
/// The IAsyncResult returned by the call to BeginCreateMonitor.
///
/// Returns a CreateMonitorResult from InternetMonitor.
/// REST API Reference for CreateMonitor Operation
public virtual CreateMonitorResponse EndCreateMonitor(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region DeleteMonitor
///
/// Deletes a monitor in Amazon CloudWatch Internet Monitor.
///
/// Container for the necessary parameters to execute the DeleteMonitor service method.
///
/// The response from the DeleteMonitor service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for DeleteMonitor Operation
public virtual DeleteMonitorResponse DeleteMonitor(DeleteMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the DeleteMonitor operation.
///
///
/// Container for the necessary parameters to execute the DeleteMonitor operation on AmazonInternetMonitorClient.
/// 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 EndDeleteMonitor
/// operation.
/// REST API Reference for DeleteMonitor Operation
public virtual IAsyncResult BeginDeleteMonitor(DeleteMonitorRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteMonitorResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the DeleteMonitor operation.
///
///
/// The IAsyncResult returned by the call to BeginDeleteMonitor.
///
/// Returns a DeleteMonitorResult from InternetMonitor.
/// REST API Reference for DeleteMonitor Operation
public virtual DeleteMonitorResponse EndDeleteMonitor(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region GetHealthEvent
///
/// Gets information the Amazon CloudWatch Internet Monitor has created and stored about
/// a health event for a specified monitor. This information includes the impacted locations,
/// and all of the information related to the event by location.
///
///
///
/// The information returned includes the performance, availability, and round-trip time
/// impact, information about the network providers, the event type, and so on.
///
///
///
/// Information rolled up at the global traffic level is also returned, including the
/// impact type and total traffic impact.
///
///
/// Container for the necessary parameters to execute the GetHealthEvent service method.
///
/// The response from the GetHealthEvent service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for GetHealthEvent Operation
public virtual GetHealthEventResponse GetHealthEvent(GetHealthEventRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetHealthEventRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetHealthEventResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the GetHealthEvent operation.
///
///
/// Container for the necessary parameters to execute the GetHealthEvent operation on AmazonInternetMonitorClient.
/// 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 EndGetHealthEvent
/// operation.
/// REST API Reference for GetHealthEvent Operation
public virtual IAsyncResult BeginGetHealthEvent(GetHealthEventRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetHealthEventRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetHealthEventResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the GetHealthEvent operation.
///
///
/// The IAsyncResult returned by the call to BeginGetHealthEvent.
///
/// Returns a GetHealthEventResult from InternetMonitor.
/// REST API Reference for GetHealthEvent Operation
public virtual GetHealthEventResponse EndGetHealthEvent(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region GetMonitor
///
/// Gets information about a monitor in Amazon CloudWatch Internet Monitor based on a
/// monitor name. The information returned includes the Amazon Resource Name (ARN), create
/// time, modified time, resources included in the monitor, and status information.
///
/// Container for the necessary parameters to execute the GetMonitor service method.
///
/// The response from the GetMonitor service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for GetMonitor Operation
public virtual GetMonitorResponse GetMonitor(GetMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the GetMonitor operation.
///
///
/// Container for the necessary parameters to execute the GetMonitor operation on AmazonInternetMonitorClient.
/// 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 EndGetMonitor
/// operation.
/// REST API Reference for GetMonitor Operation
public virtual IAsyncResult BeginGetMonitor(GetMonitorRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetMonitorResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the GetMonitor operation.
///
///
/// The IAsyncResult returned by the call to BeginGetMonitor.
///
/// Returns a GetMonitorResult from InternetMonitor.
/// REST API Reference for GetMonitor Operation
public virtual GetMonitorResponse EndGetMonitor(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region ListHealthEvents
///
/// Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. Returns
/// all information for health events including the client location information the network
/// cause and status, event start and end time, percentage of total traffic impacted,
/// and status.
///
///
///
/// Health events that have start times during the time frame that is requested are not
/// included in the list of health events.
///
///
///
/// Container for the necessary parameters to execute the ListHealthEvents service method.
///
/// The response from the ListHealthEvents service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for ListHealthEvents Operation
public virtual ListHealthEventsResponse ListHealthEvents(ListHealthEventsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListHealthEventsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListHealthEventsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the ListHealthEvents operation.
///
///
/// Container for the necessary parameters to execute the ListHealthEvents operation on AmazonInternetMonitorClient.
/// 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 EndListHealthEvents
/// operation.
/// REST API Reference for ListHealthEvents Operation
public virtual IAsyncResult BeginListHealthEvents(ListHealthEventsRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListHealthEventsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListHealthEventsResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the ListHealthEvents operation.
///
///
/// The IAsyncResult returned by the call to BeginListHealthEvents.
///
/// Returns a ListHealthEventsResult from InternetMonitor.
/// REST API Reference for ListHealthEvents Operation
public virtual ListHealthEventsResponse EndListHealthEvents(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region ListMonitors
///
/// Lists all of your monitors for Amazon CloudWatch Internet Monitor and their statuses,
/// along with the Amazon Resource Name (ARN) and name of each monitor.
///
/// Container for the necessary parameters to execute the ListMonitors service method.
///
/// The response from the ListMonitors service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for ListMonitors Operation
public virtual ListMonitorsResponse ListMonitors(ListMonitorsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListMonitorsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListMonitorsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the ListMonitors operation.
///
///
/// Container for the necessary parameters to execute the ListMonitors operation on AmazonInternetMonitorClient.
/// 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 EndListMonitors
/// operation.
/// REST API Reference for ListMonitors Operation
public virtual IAsyncResult BeginListMonitors(ListMonitorsRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListMonitorsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListMonitorsResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the ListMonitors operation.
///
///
/// The IAsyncResult returned by the call to BeginListMonitors.
///
/// Returns a ListMonitorsResult from InternetMonitor.
/// REST API Reference for ListMonitors Operation
public virtual ListMonitorsResponse EndListMonitors(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region ListTagsForResource
///
/// Lists the tags for a resource. Tags are supported only for monitors in Amazon CloudWatch
/// Internet Monitor.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// A bad request was received.
///
///
/// There was an internal server error.
///
///
/// The request specifies something that doesn't exist.
///
///
/// There were too many requests.
///
/// 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 AmazonInternetMonitorClient.
/// 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 InternetMonitor.
/// REST API Reference for ListTagsForResource Operation
public virtual ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region TagResource
///
/// Adds a tag to a resource. Tags are supported only for monitors in Amazon CloudWatch
/// Internet Monitor. You can add a maximum of 50 tags in Internet Monitor.
///
///
///
/// A minimum of one tag is required for this call. It returns an error if you use the
/// TagResource
request with 0 tags.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// A bad request was received.
///
///
/// There was an internal server error.
///
///
/// The request specifies something that doesn't exist.
///
///
/// There were too many requests.
///
/// 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 AmazonInternetMonitorClient.
/// 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 InternetMonitor.
/// REST API Reference for TagResource Operation
public virtual TagResourceResponse EndTagResource(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region UntagResource
///
/// Removes a tag from a resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// A bad request was received.
///
///
/// There was an internal server error.
///
///
/// The request specifies something that doesn't exist.
///
///
/// There were too many requests.
///
/// 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 AmazonInternetMonitorClient.
/// 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 InternetMonitor.
/// REST API Reference for UntagResource Operation
public virtual UntagResourceResponse EndUntagResource(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
#region UpdateMonitor
///
/// Updates a monitor. You can update a monitor to change the maximum number of city-networks
/// (locations and ASNs or internet service providers), to add or remove resources, or
/// to change the status of the monitor. Note that you can't change the name of a monitor.
///
///
///
/// The city-network maximum that you choose is the limit, but you only pay for the number
/// of city-networks that are actually monitored. For more information, see Choosing
/// a city-network maximum value in the Amazon CloudWatch User Guide.
///
///
/// Container for the necessary parameters to execute the UpdateMonitor service method.
///
/// The response from the UpdateMonitor service method, as returned by InternetMonitor.
///
/// You don't have sufficient permission to perform this action.
///
///
/// An internal error occurred.
///
///
/// The request exceeded a service quota.
///
///
/// The request specifies a resource that doesn't exist.
///
///
/// The request was denied due to request throttling.
///
///
/// Invalid request.
///
/// REST API Reference for UpdateMonitor Operation
public virtual UpdateMonitorResponse UpdateMonitor(UpdateMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Initiates the asynchronous execution of the UpdateMonitor operation.
///
///
/// Container for the necessary parameters to execute the UpdateMonitor operation on AmazonInternetMonitorClient.
/// 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 EndUpdateMonitor
/// operation.
/// REST API Reference for UpdateMonitor Operation
public virtual IAsyncResult BeginUpdateMonitor(UpdateMonitorRequest request, AsyncCallback callback, object state)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateMonitorResponseUnmarshaller.Instance;
return BeginInvoke(request, options, callback, state);
}
///
/// Finishes the asynchronous execution of the UpdateMonitor operation.
///
///
/// The IAsyncResult returned by the call to BeginUpdateMonitor.
///
/// Returns a UpdateMonitorResult from InternetMonitor.
/// REST API Reference for UpdateMonitor Operation
public virtual UpdateMonitorResponse EndUpdateMonitor(IAsyncResult asyncResult)
{
return EndInvoke(asyncResult);
}
#endregion
}
}