AWS Health APIs and Notifications

2019/12/23 - AWS Health APIs and Notifications - 7 new api methods

Changes  With this release, you can now centrally aggregate AWS Health events from all accounts in your AWS organization. Visit AWS Health documentation to learn more about enabling and using this feature: https://docs.aws.amazon.com/health/latest/ug/organizational-view-health.html.

DescribeEventsForOrganization (new) Link ¶

Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations.

If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime , starting with the most recent.

Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

See also: AWS API Documentation

Request Syntax

client.describe_events_for_organization(
    filter={
        'eventTypeCodes': [
            'string',
        ],
        'awsAccountIds': [
            'string',
        ],
        'services': [
            'string',
        ],
        'regions': [
            'string',
        ],
        'startTime': {
            'from': datetime(2015, 1, 1),
            'to': datetime(2015, 1, 1)
        },
        'endTime': {
            'from': datetime(2015, 1, 1),
            'to': datetime(2015, 1, 1)
        },
        'lastUpdatedTime': {
            'from': datetime(2015, 1, 1),
            'to': datetime(2015, 1, 1)
        },
        'entityArns': [
            'string',
        ],
        'entityValues': [
            'string',
        ],
        'eventTypeCategories': [
            'issue'|'accountNotification'|'scheduledChange'|'investigation',
        ],
        'eventStatusCodes': [
            'open'|'closed'|'upcoming',
        ]
    },
    nextToken='string',
    maxResults=123,
    locale='string'
)
type filter

dict

param filter

Values to narrow the results returned.

  • eventTypeCodes (list) --

    A list of unique identifiers for event types. For example, "AWS_EC2_SYSTEM_MAINTENANCE_EVENT","AWS_RDS_MAINTENANCE_SCHEDULED".

    • (string) --

  • awsAccountIds (list) --

    A list of 12-digit AWS account numbers that contains the affected entities.

    • (string) --

  • services (list) --

    The AWS services associated with the event. For example, EC2 , RDS .

    • (string) --

  • regions (list) --

    A list of AWS Regions.

    • (string) --

  • startTime (dict) --

    A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp ( startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .

    • from (datetime) --

      The starting date and time of a time range.

    • to (datetime) --

      The ending date and time of a time range.

  • endTime (dict) --

    A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp ( startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .

    • from (datetime) --

      The starting date and time of a time range.

    • to (datetime) --

      The ending date and time of a time range.

  • lastUpdatedTime (dict) --

    A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp ( startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .

    • from (datetime) --

      The starting date and time of a time range.

    • to (datetime) --

      The ending date and time of a time range.

  • entityArns (list) --

    REPLACEME

    • (string) --

  • entityValues (list) --

    A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

    • (string) --

  • eventTypeCategories (list) --

    REPLACEME

    • (string) --

  • eventStatusCodes (list) --

    A list of event status codes.

    • (string) --

type nextToken

string

param nextToken

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

type maxResults

integer

param maxResults

The maximum number of items to return in one batch, between 10 and 100, inclusive.

type locale

string

param locale

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

rtype

dict

returns

Response Syntax

{
    'events': [
        {
            'arn': 'string',
            'service': 'string',
            'eventTypeCode': 'string',
            'eventTypeCategory': 'issue'|'accountNotification'|'scheduledChange'|'investigation',
            'region': 'string',
            'startTime': datetime(2015, 1, 1),
            'endTime': datetime(2015, 1, 1),
            'lastUpdatedTime': datetime(2015, 1, 1),
            'statusCode': 'open'|'closed'|'upcoming'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • events (list) --

      The events that match the specified filter criteria.

      • (dict) --

        Summary information about an event, returned by the DescribeEventsForOrganization operation.

        • arn (string) --

          The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

        • service (string) --

          The AWS service that is affected by the event. For example, EC2, RDS.

        • eventTypeCode (string) --

          The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION . For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT .

        • eventTypeCategory (string) --

          The category of the event type.

        • region (string) --

          The AWS Region name of the event.

        • startTime (datetime) --

          The date and time that the event began.

        • endTime (datetime) --

          The date and time that the event ended.

        • lastUpdatedTime (datetime) --

          The most recent date and time that the event was updated.

        • statusCode (string) --

          The most recent status of the event. Possible values are open , closed , and upcoming .

    • nextToken (string) --

      If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

DescribeEventDetailsForOrganization (new) Link ¶

Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, 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 DescribeAffectedEntitiesForOrganization operation.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

See also: AWS API Documentation

Request Syntax

client.describe_event_details_for_organization(
    organizationEventDetailFilters=[
        {
            'eventArn': 'string',
            'awsAccountId': 'string'
        },
    ],
    locale='string'
)
type organizationEventDetailFilters

list

param organizationEventDetailFilters

[REQUIRED]

A set of JSON elements that includes the awsAccountId and the eventArn .

  • (dict) --

    The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations.

    • eventArn (string) -- [REQUIRED]

      The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

    • awsAccountId (string) -- [REQUIRED]

      The 12-digit AWS account numbers that contains the affected entities.

type locale

string

param locale

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

rtype

dict

returns

Response Syntax

{
    'successfulSet': [
        {
            'awsAccountId': 'string',
            'event': {
                'arn': 'string',
                'service': 'string',
                'eventTypeCode': 'string',
                'eventTypeCategory': 'issue'|'accountNotification'|'scheduledChange'|'investigation',
                'region': 'string',
                'availabilityZone': 'string',
                'startTime': datetime(2015, 1, 1),
                'endTime': datetime(2015, 1, 1),
                'lastUpdatedTime': datetime(2015, 1, 1),
                'statusCode': 'open'|'closed'|'upcoming'
            },
            'eventDescription': {
                'latestDescription': 'string'
            },
            'eventMetadata': {
                'string': 'string'
            }
        },
    ],
    'failedSet': [
        {
            'awsAccountId': 'string',
            'eventArn': 'string',
            'errorName': 'string',
            'errorMessage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • successfulSet (list) --

      Information about the events that could be retrieved.

      • (dict) --

        Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetailsForOrganization operation.

        • awsAccountId (string) --

          The 12-digit AWS account numbers that contains the affected entities.

        • event (dict) --

          Summary information about an AWS Health event.

          • arn (string) --

            The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

          • service (string) --

            The AWS service that is affected by the event. For example, EC2 , RDS .

          • eventTypeCode (string) --

            The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT .

          • eventTypeCategory (string) --

            The category of the event. Possible values are issue , scheduledChange , and accountNotification .

          • region (string) --

            The AWS region name of the event.

          • availabilityZone (string) --

            The AWS Availability Zone of the event. For example, us-east-1a.

          • startTime (datetime) --

            The date and time that the event began.

          • endTime (datetime) --

            The date and time that the event ended.

          • lastUpdatedTime (datetime) --

            The most recent date and time that the event was updated.

          • statusCode (string) --

            The most recent status of the event. Possible values are open , closed , and upcoming .

        • eventDescription (dict) --

          The detailed description of the event. Included in the information returned by the DescribeEventDetails operation.

          • latestDescription (string) --

            The most recent description of the event.

        • eventMetadata (dict) --

          Additional metadata about the event.

          • (string) --

            • (string) --

    • failedSet (list) --

      Error messages for any events that could not be retrieved.

      • (dict) --

        Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

        • awsAccountId (string) --

          Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

        • eventArn (string) --

          The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

        • errorName (string) --

          The name of the error.

        • errorMessage (string) --

          A message that describes the error.

DescribeHealthServiceStatusForOrganization (new) Link ¶

This operation provides status information on enabling or disabling AWS Health to work with your organization. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

See also: AWS API Documentation

Request Syntax

client.describe_health_service_status_for_organization()
rtype

dict

returns

Response Syntax

{
    'healthServiceAccessStatusForOrganization': 'string'
}

Response Structure

  • (dict) --

    • healthServiceAccessStatusForOrganization (string) --

      Information about the status of enabling or disabling AWS Health Organizational View in your organization.

      Valid values are ENABLED | DISABLED | PENDING .

DescribeAffectedEntitiesForOrganization (new) Link ¶

Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service.

At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

See also: AWS API Documentation

Request Syntax

client.describe_affected_entities_for_organization(
    organizationEntityFilters=[
        {
            'eventArn': 'string',
            'awsAccountId': 'string'
        },
    ],
    locale='string',
    nextToken='string',
    maxResults=123
)
type organizationEntityFilters

list

param organizationEntityFilters

[REQUIRED]

A JSON set of elements including the awsAccountId and the eventArn .

  • (dict) --

    The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations.

    • eventArn (string) -- [REQUIRED]

      The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

    • awsAccountId (string) -- [REQUIRED]

      The 12-digit AWS account numbers that contains the affected entities.

type locale

string

param locale

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

type nextToken

string

param nextToken

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

type maxResults

integer

param maxResults

The maximum number of items to return in one batch, between 10 and 100, inclusive.

rtype

dict

returns

Response Syntax

{
    'entities': [
        {
            'entityArn': 'string',
            'eventArn': 'string',
            'entityValue': 'string',
            'entityUrl': 'string',
            'awsAccountId': 'string',
            'lastUpdatedTime': datetime(2015, 1, 1),
            'statusCode': 'IMPAIRED'|'UNIMPAIRED'|'UNKNOWN',
            'tags': {
                'string': 'string'
            }
        },
    ],
    'failedSet': [
        {
            'awsAccountId': 'string',
            'eventArn': 'string',
            'errorName': 'string',
            'errorMessage': 'string'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • entities (list) --

      A JSON set of elements including the awsAccountId and its entityArn , entityValue and its entityArn , lastUpdatedTime , statusCode , and tags .

      • (dict) --

        Information about an entity that is affected by a Health event.

        • entityArn (string) --

          The unique identifier for the entity. Format: arn:aws:health:entity-region:aws-account:entity/entity-id . Example: arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K

        • eventArn (string) --

          The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

        • entityValue (string) --

          The ID of the affected entity.

        • entityUrl (string) --

          The URL of the affected entity.

        • awsAccountId (string) --

          The 12-digit AWS account number that contains the affected entity.

        • lastUpdatedTime (datetime) --

          The most recent time that the entity was updated.

        • statusCode (string) --

          The most recent status of the entity affected by the event. The possible values are IMPAIRED , UNIMPAIRED , and UNKNOWN .

        • tags (dict) --

          A map of entity tags attached to the affected entity.

          • (string) --

            • (string) --

    • failedSet (list) --

      A JSON set of elements of the failed response, including the awsAccountId , errorMessage , errorName , and eventArn .

      • (dict) --

        Error information returned when a DescribeAffectedEntitiesForOrganization operation cannot find or process a specific entity.

        • awsAccountId (string) --

          The 12-digit AWS account numbers that contains the affected entities.

        • eventArn (string) --

          The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

        • errorName (string) --

          The name of the error.

        • errorMessage (string) --

          The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION . For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT .

    • nextToken (string) --

      If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

DescribeAffectedAccountsForOrganization (new) Link ¶

Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

See also: AWS API Documentation

Request Syntax

client.describe_affected_accounts_for_organization(
    eventArn='string',
    nextToken='string',
    maxResults=123
)
type eventArn

string

param eventArn

[REQUIRED]

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

type nextToken

string

param nextToken

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

type maxResults

integer

param maxResults

The maximum number of items to return in one batch, between 10 and 100, inclusive.

rtype

dict

returns

Response Syntax

{
    'affectedAccounts': [
        'string',
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • affectedAccounts (list) --

      A JSON set of elements of the affected accounts.

      • (string) --

    • nextToken (string) --

      If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

EnableHealthServiceAccessForOrganization (new) Link ¶

Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service Linked Role (SLR) to the master account in the organization. To learn more about the steps in this process, visit enabling service access for AWS Health in AWS Organizations. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

See also: AWS API Documentation

Request Syntax

client.enable_health_service_access_for_organization()
returns

None

DisableHealthServiceAccessForOrganization (new) Link ¶

Calling this operation disables Health from working with AWS Organizations. This does not remove the Service Linked Role (SLR) from the the master account in your organization. Use the IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

See also: AWS API Documentation

Request Syntax

client.disable_health_service_access_for_organization()
returns

None