/*
* Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.health;
import javax.annotation.Generated;
import com.amazonaws.services.health.model.*;
/**
* Interface for accessing AWSHealth asynchronously. Each asynchronous method will return a Java Future object
* representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
* <p>
* <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.health.AbstractAWSHealthAsync} instead.
* </p>
* <p>
* <fullname>AWS Health</fullname>
* <p>
* The AWS Health API provides programmatic access to the AWS Health information that is presented in the <a
* href="https://phd.aws.amazon.com/phd/home#/">AWS Personal Health Dashboard</a>. You can get information about events
* that affect your AWS resources:
* </p>
* <ul>
* <li>
* <p>
* <a>DescribeEvents</a>: Summary information about events.
* </p>
* </li>
* <li>
* <p>
* <a>DescribeEventDetails</a>: Detailed information about one or more events.
* </p>
* </li>
* <li>
* <p>
* <a>DescribeAffectedEntities</a>: Information about AWS resources that are affected by one or more events.
* </p>
* </li>
* </ul>
* <p>
* In addition, these operations provide information about event types and summary counts of events or affected
* entities:
* </p>
* <ul>
* <li>
* <p>
* <a>DescribeEventTypes</a>: Information about the kinds of events that AWS Health tracks.
* </p>
* </li>
* <li>
* <p>
* <a>DescribeEventAggregates</a>: A count of the number of events that meet specified criteria.
* </p>
* </li>
* <li>
* <p>
* <a>DescribeEntityAggregates</a>: A count of the number of affected entities that meet specified criteria.
* </p>
* </li>
* </ul>
* <p>
* The Health API requires a Business or Enterprise support plan from <a
* href="http://aws.amazon.com/premiumsupport/">AWS Support</a>. Calling the Health API from an account that does not
* have a Business or Enterprise support plan causes a <code>SubscriptionRequiredException</code>.
* </p>
* <p>
* For authentication of requests, AWS Health uses the <a
* href="http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4 Signing Process</a>.
* </p>
* <p>
* See the <a href="http://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html">AWS Health User Guide</a> for
* information about how to use the API.
* </p>
* <p>
* <b>Service Endpoint</b>
* </p>
* <p>
* The HTTP endpoint for the AWS Health API is:
* </p>
* <ul>
* <li>
* <p>
* https://health.us-east-1.amazonaws.com
* </p>
* </li>
* </ul>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSHealthAsync extends AWSHealth {
/**
* <p>
* 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 AWS 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.
* </p>
* <p>
* At least one event ARN is required. Results are sorted by the <code>lastUpdatedTime</code> of the entity,
* starting with the most recent.
* </p>
*
* @param describeAffectedEntitiesRequest
* @return A Java Future containing the result of the DescribeAffectedEntities operation returned by the service.
* @sample AWSHealthAsync.DescribeAffectedEntities
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeAffectedEntities"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DescribeAffectedEntitiesResult> describeAffectedEntitiesAsync(DescribeAffectedEntitiesRequest describeAffectedEntitiesRequest);
/**
* <p>
* 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 AWS 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.
* </p>
* <p>
* At least one event ARN is required. Results are sorted by the <code>lastUpdatedTime</code> of the entity,
* starting with the most recent.
* </p>
*
* @param describeAffectedEntitiesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeAffectedEntities operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeAffectedEntities
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeAffectedEntities"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DescribeAffectedEntitiesResult> describeAffectedEntitiesAsync(DescribeAffectedEntitiesRequest describeAffectedEntitiesRequest,
com.amazonaws.handlers.AsyncHandler<DescribeAffectedEntitiesRequest, DescribeAffectedEntitiesResult> asyncHandler);
/**
* <p>
* Returns the number of entities that are affected by each of the specified events. If no events are specified, the
* counts of all affected entities are returned.
* </p>
*
* @param describeEntityAggregatesRequest
* @return A Java Future containing the result of the DescribeEntityAggregates operation returned by the service.
* @sample AWSHealthAsync.DescribeEntityAggregates
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEntityAggregates"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DescribeEntityAggregatesResult> describeEntityAggregatesAsync(DescribeEntityAggregatesRequest describeEntityAggregatesRequest);
/**
* <p>
* Returns the number of entities that are affected by each of the specified events. If no events are specified, the
* counts of all affected entities are returned.
* </p>
*
* @param describeEntityAggregatesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEntityAggregates operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeEntityAggregates
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEntityAggregates"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DescribeEntityAggregatesResult> describeEntityAggregatesAsync(DescribeEntityAggregatesRequest describeEntityAggregatesRequest,
com.amazonaws.handlers.AsyncHandler<DescribeEntityAggregatesRequest, DescribeEntityAggregatesResult> asyncHandler);
/**
* <p>
* 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.
* </p>
*
* @param describeEventAggregatesRequest
* @return A Java Future containing the result of the DescribeEventAggregates operation returned by the service.
* @sample AWSHealthAsync.DescribeEventAggregates
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventAggregates" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<DescribeEventAggregatesResult> describeEventAggregatesAsync(DescribeEventAggregatesRequest describeEventAggregatesRequest);
/**
* <p>
* 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.
* </p>
*
* @param describeEventAggregatesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEventAggregates operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeEventAggregates
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventAggregates" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<DescribeEventAggregatesResult> describeEventAggregatesAsync(DescribeEventAggregatesRequest describeEventAggregatesRequest,
com.amazonaws.handlers.AsyncHandler<DescribeEventAggregatesRequest, DescribeEventAggregatesResult> asyncHandler);
/**
* <p>
* Returns detailed information about one or more specified events. Information includes standard event data
* (region, service, etc., as returned by <a>DescribeEvents</a>), a detailed event description, and possible
* additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve
* those, use the <a>DescribeAffectedEntities</a> operation.
* </p>
* <p>
* If a specified event cannot be retrieved, an error message is returned for that event.
* </p>
*
* @param describeEventDetailsRequest
* @return A Java Future containing the result of the DescribeEventDetails operation returned by the service.
* @sample AWSHealthAsync.DescribeEventDetails
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventDetails" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<DescribeEventDetailsResult> describeEventDetailsAsync(DescribeEventDetailsRequest describeEventDetailsRequest);
/**
* <p>
* Returns detailed information about one or more specified events. Information includes standard event data
* (region, service, etc., as returned by <a>DescribeEvents</a>), a detailed event description, and possible
* additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve
* those, use the <a>DescribeAffectedEntities</a> operation.
* </p>
* <p>
* If a specified event cannot be retrieved, an error message is returned for that event.
* </p>
*
* @param describeEventDetailsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEventDetails operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeEventDetails
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventDetails" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<DescribeEventDetailsResult> describeEventDetailsAsync(DescribeEventDetailsRequest describeEventDetailsRequest,
com.amazonaws.handlers.AsyncHandler<DescribeEventDetailsRequest, DescribeEventDetailsResult> asyncHandler);
/**
* <p>
* Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event
* types are returned, in no particular order.
* </p>
*
* @param describeEventTypesRequest
* @return A Java Future containing the result of the DescribeEventTypes operation returned by the service.
* @sample AWSHealthAsync.DescribeEventTypes
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventTypes" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DescribeEventTypesResult> describeEventTypesAsync(DescribeEventTypesRequest describeEventTypesRequest);
/**
* <p>
* Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event
* types are returned, in no particular order.
* </p>
*
* @param describeEventTypesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEventTypes operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeEventTypes
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEventTypes" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DescribeEventTypesResult> describeEventTypesAsync(DescribeEventTypesRequest describeEventTypesRequest,
com.amazonaws.handlers.AsyncHandler<DescribeEventTypesRequest, DescribeEventTypesResult> asyncHandler);
/**
* <p>
* 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 <a>DescribeEventDetails</a> and
* <a>DescribeAffectedEntities</a> operations.
* </p>
* <p>
* If no filter criteria are specified, all events are returned. Results are sorted by <code>lastModifiedTime</code>
* , starting with the most recent.
* </p>
*
* @param describeEventsRequest
* @return A Java Future containing the result of the DescribeEvents operation returned by the service.
* @sample AWSHealthAsync.DescribeEvents
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEvents" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DescribeEventsResult> describeEventsAsync(DescribeEventsRequest describeEventsRequest);
/**
* <p>
* 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 <a>DescribeEventDetails</a> and
* <a>DescribeAffectedEntities</a> operations.
* </p>
* <p>
* If no filter criteria are specified, all events are returned. Results are sorted by <code>lastModifiedTime</code>
* , starting with the most recent.
* </p>
*
* @param describeEventsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEvents operation returned by the service.
* @sample AWSHealthAsyncHandler.DescribeEvents
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/health-2016-08-04/DescribeEvents" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DescribeEventsResult> describeEventsAsync(DescribeEventsRequest describeEventsRequest,
com.amazonaws.handlers.AsyncHandler<DescribeEventsRequest, DescribeEventsResult> asyncHandler);
}