describeEventDetailsForOrganization method

Future<DescribeEventDetailsForOrganizationResponse> describeEventDetailsForOrganization({
  1. required List<EventAccountFilter> organizationEventDetailFilters,
  2. String? locale,
})

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.

When you call the DescribeEventDetailsForOrganization operation, you specify the organizationEventDetailFilters object in the request. Depending on the AWS Health event type, note the following differences:

  • If the event is public, the awsAccountId parameter must be empty. If you specify an account ID for a public event, then an error message is returned. That's because the event might apply to all AWS accounts and isn't specific to an account in your organization.
  • If the event is specific to an account, then you must specify the awsAccountId parameter in the request. If you don't specify an account ID, an error message returns because the event is specific to an AWS account in your organization.
For more information, see Event.

May throw UnsupportedLocale.

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

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

Implementation

Future<DescribeEventDetailsForOrganizationResponse>
    describeEventDetailsForOrganization({
  required List<EventAccountFilter> organizationEventDetailFilters,
  String? locale,
}) async {
  ArgumentError.checkNotNull(
      organizationEventDetailFilters, 'organizationEventDetailFilters');
  _s.validateStringLength(
    'locale',
    locale,
    2,
    256,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSHealth_20160804.DescribeEventDetailsForOrganization'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'organizationEventDetailFilters': organizationEventDetailFilters,
      if (locale != null) 'locale': locale,
    },
  );

  return DescribeEventDetailsForOrganizationResponse.fromJson(
      jsonResponse.body);
}