/*
* 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 health-2016-08-04.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.AWSHealth.Model;
using Amazon.AWSHealth.Model.Internal.MarshallTransformations;
using Amazon.AWSHealth.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.AWSHealth
{
///
/// Implementation for accessing AWSHealth
///
/// Health
///
/// The Health API provides access to the Health information that appears in the Health
/// Dashboard. You can use the API operations to get information about events that
/// might affect your Amazon Web Services and resources.
///
///
///
/// You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon
/// Web Services Support to use the Health API. If you call the Health API from an
/// Amazon Web Services account that doesn't have a Business, Enterprise On-Ramp, or Enterprise
/// Support plan, you receive a SubscriptionRequiredException
error.
///
///
///
/// For API access, you need an access key ID and a secret access key. Use temporary credentials
/// instead of long-term access keys when possible. Temporary credentials include an access
/// key ID, a secret access key, and a security token that indicates when the credentials
/// expire. For more information, see Best
/// practices for managing Amazon Web Services access keys in the Amazon Web Services
/// General Reference.
///
///
///
/// You can use the Health endpoint health.us-east-1.amazonaws.com (HTTPS) to call the
/// Health API operations. Health supports a multi-Region application architecture and
/// has two regional endpoints in an active-passive configuration. You can use the high
/// availability endpoint example to determine which Amazon Web Services Region is active,
/// so that you can get the latest information from the API. For more information, see
/// Accessing the
/// Health API in the Health User Guide.
///
///
///
/// For authentication of requests, Health uses the Signature
/// Version 4 Signing Process.
///
///
///
/// If your Amazon Web Services account is part of Organizations, you can use the Health
/// organizational view feature. This feature provides a centralized view of Health events
/// across all accounts in your organization. You can aggregate Health events in real
/// time to identify accounts in your organization that are affected by an operational
/// event or get notified of security vulnerabilities. Use the organizational view API
/// operations to enable this feature and return event information. For more information,
/// see Aggregating
/// Health events in the Health User Guide.
///
///
///
/// When you use the Health API operations to return Health events, see the following
/// recommendations:
///
/// -
///
/// Use the eventScopeCode
/// parameter to specify whether to return Health events that are public or account-specific.
///
///
-
///
/// Use pagination to view all events from the response. For example, if you call the
///
DescribeEventsForOrganization
operation to get all events in your organization,
/// you might receive several page results. Specify the nextToken
in the
/// next request to return more results.
///
///
///
public partial class AmazonAWSHealthClient : AmazonServiceClient, IAmazonAWSHealth
{
private static IServiceMetadata serviceMetadata = new AmazonAWSHealthMetadata();
private IAWSHealthPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IAWSHealthPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new AWSHealthPaginatorFactory(this);
}
return this._paginators;
}
}
#region Constructors
///
/// Constructs AmazonAWSHealthClient 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 AmazonAWSHealthClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonAWSHealthConfig()) { }
///
/// Constructs AmazonAWSHealthClient 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 AmazonAWSHealthClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonAWSHealthConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonAWSHealthClient 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 AmazonAWSHealthClient Configuration Object
public AmazonAWSHealthClient(AmazonAWSHealthConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonAWSHealthClient with AWS Credentials
///
/// AWS Credentials
public AmazonAWSHealthClient(AWSCredentials credentials)
: this(credentials, new AmazonAWSHealthConfig())
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonAWSHealthClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonAWSHealthConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Credentials and an
/// AmazonAWSHealthClient Configuration object.
///
/// AWS Credentials
/// The AmazonAWSHealthClient Configuration Object
public AmazonAWSHealthClient(AWSCredentials credentials, AmazonAWSHealthConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonAWSHealthConfig())
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonAWSHealthConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonAWSHealthClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonAWSHealthClient Configuration Object
public AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonAWSHealthConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonAWSHealthConfig())
{
}
///
/// Constructs AmazonAWSHealthClient 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 AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonAWSHealthConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonAWSHealthClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonAWSHealthClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonAWSHealthClient Configuration Object
public AmazonAWSHealthClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonAWSHealthConfig 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 AmazonAWSHealthEndpointResolver());
}
///
/// 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 DescribeAffectedAccountsForOrganization
///
/// Returns a list of accounts in the organization from Organizations that are affected
/// by the provided event. For more information about the different types of Health events,
/// see Event.
///
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedAccountsForOrganization service method.
///
/// The response from the DescribeAffectedAccountsForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
/// REST API Reference for DescribeAffectedAccountsForOrganization Operation
public virtual DescribeAffectedAccountsForOrganizationResponse DescribeAffectedAccountsForOrganization(DescribeAffectedAccountsForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedAccountsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedAccountsForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of accounts in the organization from Organizations that are affected
/// by the provided event. For more information about the different types of Health events,
/// see Event.
///
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedAccountsForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAffectedAccountsForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
/// REST API Reference for DescribeAffectedAccountsForOrganization Operation
public virtual Task DescribeAffectedAccountsForOrganizationAsync(DescribeAffectedAccountsForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedAccountsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedAccountsForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAffectedEntities
///
/// Returns a list of entities that have been affected by the specified events, based
/// on the specified filter criteria. Entities can refer to individual customer resources,
/// groups of customer resources, or any other construct, depending on the Amazon Web
/// Service. Events that have impact beyond that of the affected entities, or where the
/// extent of impact is unknown, include at least one entity indicating this.
///
///
///
/// At least one event ARN is required.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
/// -
///
/// This operation supports resource-level permissions. You can use this operation to
/// allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedEntities service method.
///
/// The response from the DescribeAffectedEntities service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeAffectedEntities Operation
public virtual DescribeAffectedEntitiesResponse DescribeAffectedEntities(DescribeAffectedEntitiesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedEntitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedEntitiesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of entities that have been affected by the specified events, based
/// on the specified filter criteria. Entities can refer to individual customer resources,
/// groups of customer resources, or any other construct, depending on the Amazon Web
/// Service. Events that have impact beyond that of the affected entities, or where the
/// extent of impact is unknown, include at least one entity indicating this.
///
///
///
/// At least one event ARN is required.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
/// -
///
/// This operation supports resource-level permissions. You can use this operation to
/// allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedEntities service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAffectedEntities service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeAffectedEntities Operation
public virtual Task DescribeAffectedEntitiesAsync(DescribeAffectedEntitiesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedEntitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedEntitiesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAffectedEntitiesForOrganization
///
/// Returns a list of entities that have been affected by one or more events for one or
/// more accounts in your organization in Organizations, based on the filter criteria.
/// Entities can refer to individual customer resources, groups of customer resources,
/// or any other construct, depending on the Amazon Web Service.
///
///
///
/// At least one event Amazon Resource Name (ARN) and account ID are required.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
/// -
///
/// This operation doesn't support resource-level permissions. You can't use this operation
/// to allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedEntitiesForOrganization service method.
///
/// The response from the DescribeAffectedEntitiesForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeAffectedEntitiesForOrganization Operation
public virtual DescribeAffectedEntitiesForOrganizationResponse DescribeAffectedEntitiesForOrganization(DescribeAffectedEntitiesForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedEntitiesForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedEntitiesForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of entities that have been affected by one or more events for one or
/// more accounts in your organization in Organizations, based on the filter criteria.
/// Entities can refer to individual customer resources, groups of customer resources,
/// or any other construct, depending on the Amazon Web Service.
///
///
///
/// At least one event Amazon Resource Name (ARN) and account ID are required.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
/// -
///
/// This operation doesn't support resource-level permissions. You can't use this operation
/// to allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeAffectedEntitiesForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAffectedEntitiesForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeAffectedEntitiesForOrganization Operation
public virtual Task DescribeAffectedEntitiesForOrganizationAsync(DescribeAffectedEntitiesForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAffectedEntitiesForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAffectedEntitiesForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEntityAggregates
///
/// Returns the number of entities that are affected by each of the specified events.
///
/// Container for the necessary parameters to execute the DescribeEntityAggregates service method.
///
/// The response from the DescribeEntityAggregates service method, as returned by AWSHealth.
/// REST API Reference for DescribeEntityAggregates Operation
public virtual DescribeEntityAggregatesResponse DescribeEntityAggregates(DescribeEntityAggregatesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEntityAggregatesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEntityAggregatesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the number of entities that are affected by each of the specified events.
///
/// Container for the necessary parameters to execute the DescribeEntityAggregates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEntityAggregates service method, as returned by AWSHealth.
/// REST API Reference for DescribeEntityAggregates Operation
public virtual Task DescribeEntityAggregatesAsync(DescribeEntityAggregatesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEntityAggregatesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEntityAggregatesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEventAggregates
///
/// Returns the number of events of each event type (issue, scheduled change, and account
/// notification). If no filter is specified, the counts of all events in each category
/// are returned.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventAggregates service method.
///
/// The response from the DescribeEventAggregates service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
/// REST API Reference for DescribeEventAggregates Operation
public virtual DescribeEventAggregatesResponse DescribeEventAggregates(DescribeEventAggregatesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventAggregatesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventAggregatesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the number of events of each event type (issue, scheduled change, and account
/// notification). If no filter is specified, the counts of all events in each category
/// are returned.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventAggregates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEventAggregates service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
/// REST API Reference for DescribeEventAggregates Operation
public virtual Task DescribeEventAggregatesAsync(DescribeEventAggregatesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventAggregatesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventAggregatesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEventDetails
///
/// Returns detailed information about one or more specified events. Information includes
/// standard event data (Amazon Web Services Region, service, and so on, as returned by
/// DescribeEvents),
/// a detailed event description, and possible additional metadata that depends upon the
/// nature of the event. Affected entities are not included. To retrieve the entities,
/// use the DescribeAffectedEntities
/// operation.
///
///
///
/// If a specified event can't be retrieved, an error message is returned for that event.
///
///
///
/// This operation supports resource-level permissions. You can use this operation to
/// allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventDetails service method.
///
/// The response from the DescribeEventDetails service method, as returned by AWSHealth.
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventDetails Operation
public virtual DescribeEventDetailsResponse DescribeEventDetails(DescribeEventDetailsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventDetailsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns detailed information about one or more specified events. Information includes
/// standard event data (Amazon Web Services Region, service, and so on, as returned by
/// DescribeEvents),
/// a detailed event description, and possible additional metadata that depends upon the
/// nature of the event. Affected entities are not included. To retrieve the entities,
/// use the DescribeAffectedEntities
/// operation.
///
///
///
/// If a specified event can't be retrieved, an error message is returned for that event.
///
///
///
/// This operation supports resource-level permissions. You can use this operation to
/// allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventDetails service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEventDetails service method, as returned by AWSHealth.
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventDetails Operation
public virtual Task DescribeEventDetailsAsync(DescribeEventDetailsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventDetailsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEventDetailsForOrganization
///
/// Returns detailed information about one or more specified events for one or more Amazon
/// Web Services accounts in your organization. This information includes standard event
/// data (such as the Amazon Web Services Region and service), an event description, and
/// (depending on the event) possible metadata. This operation doesn't return affected
/// entities, such as the resources related to the event. To return affected entities,
/// use the DescribeAffectedEntitiesForOrganization
/// operation.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// When you call the DescribeEventDetailsForOrganization
operation, specify
/// the organizationEventDetailFilters
object in the request. Depending on
/// the Health event type, note the following differences:
///
/// -
///
/// To return event details for a public event, you must specify a null value for the
///
awsAccountId
parameter. If you specify an account ID for a public event,
/// Health returns an error message because public events aren't specific to an account.
///
/// -
///
/// To return event details for an event that is specific to an account in your organization,
/// you must specify the
awsAccountId
parameter in the request. If you don't
/// specify an account ID, Health returns an error message because the event is specific
/// to an account in your organization.
///
///
///
/// For more information, see Event.
///
///
///
/// This operation doesn't support resource-level permissions. You can't use this operation
/// to allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventDetailsForOrganization service method.
///
/// The response from the DescribeEventDetailsForOrganization service method, as returned by AWSHealth.
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventDetailsForOrganization Operation
public virtual DescribeEventDetailsForOrganizationResponse DescribeEventDetailsForOrganization(DescribeEventDetailsForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventDetailsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventDetailsForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns detailed information about one or more specified events for one or more Amazon
/// Web Services accounts in your organization. This information includes standard event
/// data (such as the Amazon Web Services Region and service), an event description, and
/// (depending on the event) possible metadata. This operation doesn't return affected
/// entities, such as the resources related to the event. To return affected entities,
/// use the DescribeAffectedEntitiesForOrganization
/// operation.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// When you call the DescribeEventDetailsForOrganization
operation, specify
/// the organizationEventDetailFilters
object in the request. Depending on
/// the Health event type, note the following differences:
///
/// -
///
/// To return event details for a public event, you must specify a null value for the
///
awsAccountId
parameter. If you specify an account ID for a public event,
/// Health returns an error message because public events aren't specific to an account.
///
/// -
///
/// To return event details for an event that is specific to an account in your organization,
/// you must specify the
awsAccountId
parameter in the request. If you don't
/// specify an account ID, Health returns an error message because the event is specific
/// to an account in your organization.
///
///
///
/// For more information, see Event.
///
///
///
/// This operation doesn't support resource-level permissions. You can't use this operation
/// to allow or deny access to specific Health events. For more information, see Resource-
/// and action-based conditions in the Health User Guide.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventDetailsForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEventDetailsForOrganization service method, as returned by AWSHealth.
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventDetailsForOrganization Operation
public virtual Task DescribeEventDetailsForOrganizationAsync(DescribeEventDetailsForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventDetailsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventDetailsForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEvents
///
/// Returns information about events that meet the specified filter criteria. Events
/// are returned in a summary form and do not include the detailed description, any additional
/// metadata that depends on the event type, or any affected resources. To retrieve that
/// information, use the DescribeEventDetails
/// and DescribeAffectedEntities
/// operations.
///
///
///
/// If no filter criteria are specified, all events are returned. Results are sorted by
/// lastModifiedTime
, starting with the most recent event.
///
/// -
///
/// When you call the
DescribeEvents
operation and specify an entity for
/// the entityValues
parameter, Health might return public events that aren't
/// specific to that resource. For example, if you call DescribeEvents
and
/// specify an ID for an Amazon Elastic Compute Cloud (Amazon EC2) instance, Health might
/// return events that aren't specific to that resource or service. To get events that
/// are specific to a service, use the services
parameter in the filter
/// object. For more information, see Event.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEvents service method.
///
/// The response from the DescribeEvents service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEvents Operation
public virtual DescribeEventsResponse DescribeEvents(DescribeEventsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns information about events that meet the specified filter criteria. Events
/// are returned in a summary form and do not include the detailed description, any additional
/// metadata that depends on the event type, or any affected resources. To retrieve that
/// information, use the DescribeEventDetails
/// and DescribeAffectedEntities
/// operations.
///
///
///
/// If no filter criteria are specified, all events are returned. Results are sorted by
/// lastModifiedTime
, starting with the most recent event.
///
/// -
///
/// When you call the
DescribeEvents
operation and specify an entity for
/// the entityValues
parameter, Health might return public events that aren't
/// specific to that resource. For example, if you call DescribeEvents
and
/// specify an ID for an Amazon Elastic Compute Cloud (Amazon EC2) instance, Health might
/// return events that aren't specific to that resource or service. To get events that
/// are specific to a service, use the services
parameter in the filter
/// object. For more information, see Event.
///
/// -
///
/// This API operation uses pagination. Specify the
nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEvents service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEvents service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEvents Operation
public virtual Task DescribeEventsAsync(DescribeEventsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEventsForOrganization
///
/// Returns information about events across your organization in Organizations. You can
/// use thefilters
parameter to specify the events that you want to return.
/// Events are returned in a summary form and don't include the affected accounts, detailed
/// description, any additional metadata that depends on the event type, or any affected
/// resources. To retrieve that information, use the following operations:
///
///
///
/// If you don't specify a filter
, the DescribeEventsForOrganizations
/// returns all events across your organization. Results are sorted by lastModifiedTime
,
/// starting with the most recent event.
///
///
///
/// For more information about the different types of Health events, see Event.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventsForOrganization service method.
///
/// The response from the DescribeEventsForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventsForOrganization Operation
public virtual DescribeEventsForOrganizationResponse DescribeEventsForOrganization(DescribeEventsForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventsForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns information about events across your organization in Organizations. You can
/// use thefilters
parameter to specify the events that you want to return.
/// Events are returned in a summary form and don't include the affected accounts, detailed
/// description, any additional metadata that depends on the event type, or any affected
/// resources. To retrieve that information, use the following operations:
///
///
///
/// If you don't specify a filter
, the DescribeEventsForOrganizations
/// returns all events across your organization. Results are sorted by lastModifiedTime
,
/// starting with the most recent event.
///
///
///
/// For more information about the different types of Health events, see Event.
///
///
///
/// Before you can call this operation, you must first enable Health to work with Organizations.
/// To do this, call the EnableHealthServiceAccessForOrganization
/// operation from your organization's management account.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventsForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEventsForOrganization service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventsForOrganization Operation
public virtual Task DescribeEventsForOrganizationAsync(DescribeEventsForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventsForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventsForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeEventTypes
///
/// Returns the event types that meet the specified filter criteria. You can use this
/// API operation to find information about the Health event, such as the category, Amazon
/// Web Service, and event code. The metadata for each event appears in the EventType
/// object.
///
///
///
/// If you don't specify a filter criteria, the API operation returns all event types,
/// in no particular order.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventTypes service method.
///
/// The response from the DescribeEventTypes service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventTypes Operation
public virtual DescribeEventTypesResponse DescribeEventTypes(DescribeEventTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the event types that meet the specified filter criteria. You can use this
/// API operation to find information about the Health event, such as the category, Amazon
/// Web Service, and event code. The metadata for each event appears in the EventType
/// object.
///
///
///
/// If you don't specify a filter criteria, the API operation returns all event types,
/// in no particular order.
///
///
///
/// This API operation uses pagination. Specify the nextToken
parameter in
/// the next request to return more results.
///
///
///
/// Container for the necessary parameters to execute the DescribeEventTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeEventTypes service method, as returned by AWSHealth.
///
/// The specified pagination token (nextToken
) is not valid.
///
///
/// The specified locale is not supported.
///
/// REST API Reference for DescribeEventTypes Operation
public virtual Task DescribeEventTypesAsync(DescribeEventTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeEventTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeEventTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeHealthServiceStatusForOrganization
///
/// This operation provides status information on enabling or disabling Health to work
/// with your organization. To call this operation, you must use the organization's management
/// account.
///
/// Container for the necessary parameters to execute the DescribeHealthServiceStatusForOrganization service method.
///
/// The response from the DescribeHealthServiceStatusForOrganization service method, as returned by AWSHealth.
/// REST API Reference for DescribeHealthServiceStatusForOrganization Operation
public virtual DescribeHealthServiceStatusForOrganizationResponse DescribeHealthServiceStatusForOrganization(DescribeHealthServiceStatusForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeHealthServiceStatusForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeHealthServiceStatusForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// This operation provides status information on enabling or disabling Health to work
/// with your organization. To call this operation, you must use the organization's management
/// account.
///
/// Container for the necessary parameters to execute the DescribeHealthServiceStatusForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeHealthServiceStatusForOrganization service method, as returned by AWSHealth.
/// REST API Reference for DescribeHealthServiceStatusForOrganization Operation
public virtual Task DescribeHealthServiceStatusForOrganizationAsync(DescribeHealthServiceStatusForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeHealthServiceStatusForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeHealthServiceStatusForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DisableHealthServiceAccessForOrganization
///
/// Disables Health from working with Organizations. To call this operation, you must
/// sign in to the organization's management account. For more information, see Aggregating
/// Health events in the Health User Guide.
///
///
///
/// This operation doesn't remove the service-linked role from the management account
/// in your organization. You must use the IAM console, API, or Command Line Interface
/// (CLI) to remove the service-linked role. For more information, see Deleting
/// a Service-Linked Role in the IAM User Guide.
///
///
///
/// You can also disable the organizational feature by using the Organizations DisableAWSServiceAccess
/// API operation. After you call this operation, Health stops aggregating events for
/// all other Amazon Web Services accounts in your organization. If you call the Health
/// API operations for organizational view, Health returns an error. Health continues
/// to aggregate health events for your Amazon Web Services account.
///
///
///
/// Container for the necessary parameters to execute the DisableHealthServiceAccessForOrganization service method.
///
/// The response from the DisableHealthServiceAccessForOrganization service method, as returned by AWSHealth.
///
/// EnableHealthServiceAccessForOrganization
/// is already in progress. Wait for the action to complete before trying again. To get
/// the current status, use the DescribeHealthServiceStatusForOrganization
/// operation.
///
/// REST API Reference for DisableHealthServiceAccessForOrganization Operation
public virtual DisableHealthServiceAccessForOrganizationResponse DisableHealthServiceAccessForOrganization(DisableHealthServiceAccessForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DisableHealthServiceAccessForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisableHealthServiceAccessForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Disables Health from working with Organizations. To call this operation, you must
/// sign in to the organization's management account. For more information, see Aggregating
/// Health events in the Health User Guide.
///
///
///
/// This operation doesn't remove the service-linked role from the management account
/// in your organization. You must use the IAM console, API, or Command Line Interface
/// (CLI) to remove the service-linked role. For more information, see Deleting
/// a Service-Linked Role in the IAM User Guide.
///
///
///
/// You can also disable the organizational feature by using the Organizations DisableAWSServiceAccess
/// API operation. After you call this operation, Health stops aggregating events for
/// all other Amazon Web Services accounts in your organization. If you call the Health
/// API operations for organizational view, Health returns an error. Health continues
/// to aggregate health events for your Amazon Web Services account.
///
///
///
/// Container for the necessary parameters to execute the DisableHealthServiceAccessForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisableHealthServiceAccessForOrganization service method, as returned by AWSHealth.
///
/// EnableHealthServiceAccessForOrganization
/// is already in progress. Wait for the action to complete before trying again. To get
/// the current status, use the DescribeHealthServiceStatusForOrganization
/// operation.
///
/// REST API Reference for DisableHealthServiceAccessForOrganization Operation
public virtual Task DisableHealthServiceAccessForOrganizationAsync(DisableHealthServiceAccessForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DisableHealthServiceAccessForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisableHealthServiceAccessForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region EnableHealthServiceAccessForOrganization
///
/// Enables Health to work with Organizations. You can use the organizational view feature
/// to aggregate events from all Amazon Web Services accounts in your organization in
/// a centralized location.
///
///
///
/// This operation also creates a service-linked role for the management account in the
/// organization.
///
///
///
/// To call this operation, you must meet the following requirements:
///
/// -
///
/// You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon
/// Web Services Support to use the Health API. If you call the Health API from an
/// Amazon Web Services account that doesn't have a Business, Enterprise On-Ramp, or Enterprise
/// Support plan, you receive a
SubscriptionRequiredException
error.
///
/// -
///
/// You must have permission to call this operation from the organization's management
/// account. For example IAM policies, see Health
/// identity-based policy examples.
///
///
///
/// If you don't have the required support plan, you can instead use the Health console
/// to enable the organizational view feature. For more information, see Aggregating
/// Health events in the Health User Guide.
///
///
/// Container for the necessary parameters to execute the EnableHealthServiceAccessForOrganization service method.
///
/// The response from the EnableHealthServiceAccessForOrganization service method, as returned by AWSHealth.
///
/// EnableHealthServiceAccessForOrganization
/// is already in progress. Wait for the action to complete before trying again. To get
/// the current status, use the DescribeHealthServiceStatusForOrganization
/// operation.
///
/// REST API Reference for EnableHealthServiceAccessForOrganization Operation
public virtual EnableHealthServiceAccessForOrganizationResponse EnableHealthServiceAccessForOrganization(EnableHealthServiceAccessForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = EnableHealthServiceAccessForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnableHealthServiceAccessForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Enables Health to work with Organizations. You can use the organizational view feature
/// to aggregate events from all Amazon Web Services accounts in your organization in
/// a centralized location.
///
///
///
/// This operation also creates a service-linked role for the management account in the
/// organization.
///
///
///
/// To call this operation, you must meet the following requirements:
///
/// -
///
/// You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon
/// Web Services Support to use the Health API. If you call the Health API from an
/// Amazon Web Services account that doesn't have a Business, Enterprise On-Ramp, or Enterprise
/// Support plan, you receive a
SubscriptionRequiredException
error.
///
/// -
///
/// You must have permission to call this operation from the organization's management
/// account. For example IAM policies, see Health
/// identity-based policy examples.
///
///
///
/// If you don't have the required support plan, you can instead use the Health console
/// to enable the organizational view feature. For more information, see Aggregating
/// Health events in the Health User Guide.
///
///
/// Container for the necessary parameters to execute the EnableHealthServiceAccessForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnableHealthServiceAccessForOrganization service method, as returned by AWSHealth.
///
/// EnableHealthServiceAccessForOrganization
/// is already in progress. Wait for the action to complete before trying again. To get
/// the current status, use the DescribeHealthServiceStatusForOrganization
/// operation.
///
/// REST API Reference for EnableHealthServiceAccessForOrganization Operation
public virtual Task EnableHealthServiceAccessForOrganizationAsync(EnableHealthServiceAccessForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = EnableHealthServiceAccessForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnableHealthServiceAccessForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}