Class: Aws::Health::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-health/lib/aws-sdk-health/client.rb

Overview

An API client for Health. To construct a client, you need to configure a :region and :credentials.

client = Aws::Health::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, :session_token, and :account_id options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentials or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the :endpoint option directly. This is normally constructed from the :region option. Configuring :endpoint is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default :sigv4a_signing_region_set is searched for in the following locations:

    • Aws.config[:sigv4a_signing_region_set]
    • ENV['AWS_SIGV4A_SIGNING_REGION_SET']
    • ~/.aws/config
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses NoOpTelemetryProvider which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the opentelemetry-sdk gem and then, pass in an instance of a Aws::Telemetry::OTelProvider for telemetry provider.
  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

    • Aws::SSOTokenProvider - Used for loading tokens from AWS SSO using an access token generated from aws login.

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::Health::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::Health::EndpointParameters.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a content-length).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.



451
452
453
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 451

def initialize(*args)
  super
end

Instance Method Details

#describe_affected_accounts_for_organization(params = {}) ⇒ Types::DescribeAffectedAccountsForOrganizationResponse

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_affected_accounts_for_organization({
  event_arn: "eventArn", # required
  next_token: "nextToken",
  max_results: 1,
})

Response structure


resp.affected_accounts #=> Array
resp.affected_accounts[0] #=> String
resp.event_scope_code #=> String, one of "PUBLIC", "ACCOUNT_SPECIFIC", "NONE"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_arn (required, String)

    The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format.

    For example, an event ARN might look like the following:

    arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

  • :next_token (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.

  • :max_results (Integer)

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

Returns:

See Also:



523
524
525
526
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 523

def describe_affected_accounts_for_organization(params = {}, options = {})
  req = build_request(:describe_affected_accounts_for_organization, params)
  req.send_request(options)
end

#describe_affected_entities(params = {}) ⇒ Types::DescribeAffectedEntitiesResponse

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 Services 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_affected_entities({
  filter: { # required
    event_arns: ["eventArn"], # required
    entity_arns: ["entityArn"],
    entity_values: ["entityValue"],
    last_updated_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    tags: [
      {
        "tagKey" => "tagValue",
      },
    ],
    status_codes: ["IMPAIRED"], # accepts IMPAIRED, UNIMPAIRED, UNKNOWN, PENDING, RESOLVED
  },
  locale: "locale",
  next_token: "nextToken",
  max_results: 1,
})

Response structure


resp.entities #=> Array
resp.entities[0].entity_arn #=> String
resp.entities[0].event_arn #=> String
resp.entities[0].entity_value #=> String
resp.entities[0].entity_url #=> String
resp.entities[0]. #=> String
resp.entities[0].last_updated_time #=> Time
resp.entities[0].status_code #=> String, one of "IMPAIRED", "UNIMPAIRED", "UNKNOWN", "PENDING", "RESOLVED"
resp.entities[0].tags #=> Hash
resp.entities[0].tags["tagKey"] #=> String
resp.entities[0]. #=> Hash
resp.entities[0].["entityMetadataKey"] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (required, Types::EntityFilter)

    Values to narrow the results returned. At least one event ARN is required.

  • :locale (String)

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

  • :next_token (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.

  • :max_results (Integer)

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

Returns:

See Also:



623
624
625
626
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 623

def describe_affected_entities(params = {}, options = {})
  req = build_request(:describe_affected_entities, params)
  req.send_request(options)
end

#describe_affected_entities_for_organization(params = {}) ⇒ Types::DescribeAffectedEntitiesForOrganizationResponse

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 Services 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_affected_entities_for_organization({
  organization_entity_filters: [
    {
      event_arn: "eventArn", # required
      aws_account_id: "accountId",
    },
  ],
  locale: "locale",
  next_token: "nextToken",
  max_results: 1,
  organization_entity_account_filters: [
    {
      event_arn: "eventArn", # required
      aws_account_id: "accountId",
      status_codes: ["IMPAIRED"], # accepts IMPAIRED, UNIMPAIRED, UNKNOWN, PENDING, RESOLVED
    },
  ],
})

Response structure


resp.entities #=> Array
resp.entities[0].entity_arn #=> String
resp.entities[0].event_arn #=> String
resp.entities[0].entity_value #=> String
resp.entities[0].entity_url #=> String
resp.entities[0]. #=> String
resp.entities[0].last_updated_time #=> Time
resp.entities[0].status_code #=> String, one of "IMPAIRED", "UNIMPAIRED", "UNKNOWN", "PENDING", "RESOLVED"
resp.entities[0].tags #=> Hash
resp.entities[0].tags["tagKey"] #=> String
resp.entities[0]. #=> Hash
resp.entities[0].["entityMetadataKey"] #=> String
resp.failed_set #=> Array
resp.failed_set[0]. #=> String
resp.failed_set[0].event_arn #=> String
resp.failed_set[0].error_name #=> String
resp.failed_set[0].error_message #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :organization_entity_filters (Array<Types::EventAccountFilter>)

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

  • :locale (String)

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

  • :next_token (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.

  • :max_results (Integer)

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

  • :organization_entity_account_filters (Array<Types::EntityAccountFilter>)

    A JSON set of elements including the awsAccountId, eventArn and a set of statusCodes.

Returns:

See Also:



734
735
736
737
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 734

def describe_affected_entities_for_organization(params = {}, options = {})
  req = build_request(:describe_affected_entities_for_organization, params)
  req.send_request(options)
end

#describe_entity_aggregates(params = {}) ⇒ Types::DescribeEntityAggregatesResponse

Returns the number of entities that are affected by each of the specified events.

Examples:

Request syntax with placeholder values


resp = client.describe_entity_aggregates({
  event_arns: ["eventArn"],
})

Response structure


resp.entity_aggregates #=> Array
resp.entity_aggregates[0].event_arn #=> String
resp.entity_aggregates[0].count #=> Integer
resp.entity_aggregates[0].statuses #=> Hash
resp.entity_aggregates[0].statuses["entityStatusCode"] #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_arns (Array<String>)

    A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101"

Returns:

See Also:



769
770
771
772
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 769

def describe_entity_aggregates(params = {}, options = {})
  req = build_request(:describe_entity_aggregates, params)
  req.send_request(options)
end

#describe_entity_aggregates_for_organization(params = {}) ⇒ Types::DescribeEntityAggregatesForOrganizationResponse

Returns a list of entity aggregates for your Organizations that are affected by each of the specified events.

Examples:

Request syntax with placeholder values


resp = client.describe_entity_aggregates_for_organization({
  event_arns: ["eventArn"], # required
  aws_account_ids: ["accountId"],
})

Response structure


resp.organization_entity_aggregates #=> Array
resp.organization_entity_aggregates[0].event_arn #=> String
resp.organization_entity_aggregates[0].count #=> Integer
resp.organization_entity_aggregates[0].statuses #=> Hash
resp.organization_entity_aggregates[0].statuses["entityStatusCode"] #=> Integer
resp.organization_entity_aggregates[0].accounts #=> Array
resp.organization_entity_aggregates[0].accounts[0]. #=> String
resp.organization_entity_aggregates[0].accounts[0].count #=> Integer
resp.organization_entity_aggregates[0].accounts[0].statuses #=> Hash
resp.organization_entity_aggregates[0].accounts[0].statuses["entityStatusCode"] #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_arns (required, Array<String>)

    A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101"

  • :aws_account_ids (Array<String>)

    A list of 12-digit Amazon Web Services account numbers that contains the affected entities.

Returns:

See Also:



814
815
816
817
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 814

def describe_entity_aggregates_for_organization(params = {}, options = {})
  req = build_request(:describe_entity_aggregates_for_organization, params)
  req.send_request(options)
end

#describe_event_aggregates(params = {}) ⇒ Types::DescribeEventAggregatesResponse

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_event_aggregates({
  filter: {
    event_arns: ["eventArn"],
    event_type_codes: ["eventType"],
    services: ["service"],
    regions: ["region"],
    availability_zones: ["availabilityZone"],
    start_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    end_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    last_updated_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    entity_arns: ["entityArn"],
    entity_values: ["entityValue"],
    event_type_categories: ["issue"], # accepts issue, accountNotification, scheduledChange, investigation
    tags: [
      {
        "tagKey" => "tagValue",
      },
    ],
    event_status_codes: ["open"], # accepts open, closed, upcoming
  },
  aggregate_field: "eventTypeCategory", # required, accepts eventTypeCategory
  max_results: 1,
  next_token: "nextToken",
})

Response structure


resp.event_aggregates #=> Array
resp.event_aggregates[0].aggregate_value #=> String
resp.event_aggregates[0].count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Types::EventFilter)

    Values to narrow the results returned.

  • :aggregate_field (required, String)

    The only currently supported value is eventTypeCategory.

  • :max_results (Integer)

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

  • :next_token (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.

Returns:

See Also:



905
906
907
908
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 905

def describe_event_aggregates(params = {}, options = {})
  req = build_request(:describe_event_aggregates, params)
  req.send_request(options)
end

#describe_event_details(params = {}) ⇒ Types::DescribeEventDetailsResponse

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.

Examples:

Request syntax with placeholder values


resp = client.describe_event_details({
  event_arns: ["eventArn"], # required
  locale: "locale",
})

Response structure


resp.successful_set #=> Array
resp.successful_set[0].event.arn #=> String
resp.successful_set[0].event.service #=> String
resp.successful_set[0].event.event_type_code #=> String
resp.successful_set[0].event.event_type_category #=> String, one of "issue", "accountNotification", "scheduledChange", "investigation"
resp.successful_set[0].event.region #=> String
resp.successful_set[0].event.availability_zone #=> String
resp.successful_set[0].event.start_time #=> Time
resp.successful_set[0].event.end_time #=> Time
resp.successful_set[0].event.last_updated_time #=> Time
resp.successful_set[0].event.status_code #=> String, one of "open", "closed", "upcoming"
resp.successful_set[0].event.event_scope_code #=> String, one of "PUBLIC", "ACCOUNT_SPECIFIC", "NONE"
resp.successful_set[0].event_description.latest_description #=> String
resp.successful_set[0]. #=> Hash
resp.successful_set[0].["metadataKey"] #=> String
resp.failed_set #=> Array
resp.failed_set[0].event_arn #=> String
resp.failed_set[0].error_name #=> String
resp.failed_set[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :event_arns (required, Array<String>)

    A list of event ARNs (unique identifiers). For example: "arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456", "arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101"

  • :locale (String)

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

Returns:

See Also:



981
982
983
984
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 981

def describe_event_details(params = {}, options = {})
  req = build_request(:describe_event_details, params)
  req.send_request(options)
end

#describe_event_details_for_organization(params = {}) ⇒ Types::DescribeEventDetailsForOrganizationResponse

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.

Examples:

Request syntax with placeholder values


resp = client.describe_event_details_for_organization({
  organization_event_detail_filters: [ # required
    {
      event_arn: "eventArn", # required
      aws_account_id: "accountId",
    },
  ],
  locale: "locale",
})

Response structure


resp.successful_set #=> Array
resp.successful_set[0]. #=> String
resp.successful_set[0].event.arn #=> String
resp.successful_set[0].event.service #=> String
resp.successful_set[0].event.event_type_code #=> String
resp.successful_set[0].event.event_type_category #=> String, one of "issue", "accountNotification", "scheduledChange", "investigation"
resp.successful_set[0].event.region #=> String
resp.successful_set[0].event.availability_zone #=> String
resp.successful_set[0].event.start_time #=> Time
resp.successful_set[0].event.end_time #=> Time
resp.successful_set[0].event.last_updated_time #=> Time
resp.successful_set[0].event.status_code #=> String, one of "open", "closed", "upcoming"
resp.successful_set[0].event.event_scope_code #=> String, one of "PUBLIC", "ACCOUNT_SPECIFIC", "NONE"
resp.successful_set[0].event_description.latest_description #=> String
resp.successful_set[0]. #=> Hash
resp.successful_set[0].["metadataKey"] #=> String
resp.failed_set #=> Array
resp.failed_set[0]. #=> String
resp.failed_set[0].event_arn #=> String
resp.failed_set[0].error_name #=> String
resp.failed_set[0].error_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :organization_event_detail_filters (required, Array<Types::EventAccountFilter>)

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

  • :locale (String)

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

Returns:

See Also:



1086
1087
1088
1089
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1086

def describe_event_details_for_organization(params = {}, options = {})
  req = build_request(:describe_event_details_for_organization, params)
  req.send_request(options)
end

#describe_event_types(params = {}) ⇒ Types::DescribeEventTypesResponse

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 Services 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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_event_types({
  filter: {
    event_type_codes: ["eventTypeCode"],
    services: ["service"],
    event_type_categories: ["issue"], # accepts issue, accountNotification, scheduledChange, investigation
  },
  locale: "locale",
  next_token: "nextToken",
  max_results: 1,
})

Response structure


resp.event_types #=> Array
resp.event_types[0].service #=> String
resp.event_types[0].code #=> String
resp.event_types[0].category #=> String, one of "issue", "accountNotification", "scheduledChange", "investigation"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Types::EventTypeFilter)

    Values to narrow the results returned.

  • :locale (String)

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

  • :next_token (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.

  • :max_results (Integer)

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

    If you don't specify the maxResults parameter, this operation returns a maximum of 30 items by default.

Returns:

See Also:



1163
1164
1165
1166
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1163

def describe_event_types(params = {}, options = {})
  req = build_request(:describe_event_types, params)
  req.send_request(options)
end

#describe_events(params = {}) ⇒ Types::DescribeEventsResponse

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_events({
  filter: {
    event_arns: ["eventArn"],
    event_type_codes: ["eventType"],
    services: ["service"],
    regions: ["region"],
    availability_zones: ["availabilityZone"],
    start_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    end_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    last_updated_times: [
      {
        from: Time.now,
        to: Time.now,
      },
    ],
    entity_arns: ["entityArn"],
    entity_values: ["entityValue"],
    event_type_categories: ["issue"], # accepts issue, accountNotification, scheduledChange, investigation
    tags: [
      {
        "tagKey" => "tagValue",
      },
    ],
    event_status_codes: ["open"], # accepts open, closed, upcoming
  },
  next_token: "nextToken",
  max_results: 1,
  locale: "locale",
})

Response structure


resp.events #=> Array
resp.events[0].arn #=> String
resp.events[0].service #=> String
resp.events[0].event_type_code #=> String
resp.events[0].event_type_category #=> String, one of "issue", "accountNotification", "scheduledChange", "investigation"
resp.events[0].region #=> String
resp.events[0].availability_zone #=> String
resp.events[0].start_time #=> Time
resp.events[0].end_time #=> Time
resp.events[0].last_updated_time #=> Time
resp.events[0].status_code #=> String, one of "open", "closed", "upcoming"
resp.events[0].event_scope_code #=> String, one of "PUBLIC", "ACCOUNT_SPECIFIC", "NONE"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Types::EventFilter)

    Values to narrow the results returned.

  • :next_token (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.

  • :max_results (Integer)

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

  • :locale (String)

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

Returns:

See Also:



1285
1286
1287
1288
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1285

def describe_events(params = {}, options = {})
  req = build_request(:describe_events, params)
  req.send_request(options)
end

#describe_events_for_organization(params = {}) ⇒ Types::DescribeEventsForOrganizationResponse

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_events_for_organization({
  filter: {
    event_type_codes: ["eventType"],
    aws_account_ids: ["accountId"],
    services: ["service"],
    regions: ["region"],
    start_time: {
      from: Time.now,
      to: Time.now,
    },
    end_time: {
      from: Time.now,
      to: Time.now,
    },
    last_updated_time: {
      from: Time.now,
      to: Time.now,
    },
    entity_arns: ["entityArn"],
    entity_values: ["entityValue"],
    event_type_categories: ["issue"], # accepts issue, accountNotification, scheduledChange, investigation
    event_status_codes: ["open"], # accepts open, closed, upcoming
  },
  next_token: "nextToken",
  max_results: 1,
  locale: "locale",
})

Response structure


resp.events #=> Array
resp.events[0].arn #=> String
resp.events[0].service #=> String
resp.events[0].event_type_code #=> String
resp.events[0].event_type_category #=> String, one of "issue", "accountNotification", "scheduledChange", "investigation"
resp.events[0].event_scope_code #=> String, one of "PUBLIC", "ACCOUNT_SPECIFIC", "NONE"
resp.events[0].region #=> String
resp.events[0].start_time #=> Time
resp.events[0].end_time #=> Time
resp.events[0].last_updated_time #=> Time
resp.events[0].status_code #=> String, one of "open", "closed", "upcoming"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filter (Types::OrganizationEventFilter)

    Values to narrow the results returned.

  • :next_token (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.

  • :max_results (Integer)

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

  • :locale (String)

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

Returns:

See Also:



1402
1403
1404
1405
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1402

def describe_events_for_organization(params = {}, options = {})
  req = build_request(:describe_events_for_organization, params)
  req.send_request(options)
end

#describe_health_service_status_for_organization(params = {}) ⇒ Types::DescribeHealthServiceStatusForOrganizationResponse

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.

Examples:

Response structure


resp.health_service_access_status_for_organization #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1423
1424
1425
1426
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1423

def describe_health_service_status_for_organization(params = {}, options = {})
  req = build_request(:describe_health_service_status_for_organization, params)
  req.send_request(options)
end

#disable_health_service_access_for_organization(params = {}) ⇒ Struct

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.

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1461
1462
1463
1464
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1461

def disable_health_service_access_for_organization(params = {}, options = {})
  req = build_request(:disable_health_service_access_for_organization, params)
  req.send_request(options)
end

#enable_health_service_access_for_organization(params = {}) ⇒ Struct

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.

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1504
1505
1506
1507
# File 'gems/aws-sdk-health/lib/aws-sdk-health/client.rb', line 1504

def enable_health_service_access_for_organization(params = {}, options = {})
  req = build_request(:enable_health_service_access_for_organization, params)
  req.send_request(options)
end