aws-sdk-ssmincidents 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3834832c356f7c9a1a8d8c312d62434f0a8ad620c77ee1ae2c56487d333dec16
4
+ data.tar.gz: 53d5c58a920b938fb6a05be08bf200eab202da9b54145fdf1670c9089253d898
5
+ SHA512:
6
+ metadata.gz: 47bc57f8fd7116d3ae0abad832c57435bac87f0ac1f6d16b205c1797d2981c39b8e30cb1e4354a2e06133dd5a5689123a85e3a983ce4764b813f791f0fe52e0e
7
+ data.tar.gz: 0de407c86624abf997ef9b39983cb50dff2373ec48228e19f4ecf779ec8114272df6f2a89b4ba8372cacc81fbe0124c78d299fed3677b75071470091eaa2a71e
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.0.0 (2021-05-11)
5
+ ------------------
6
+
7
+ * Feature - Initial release of `aws-sdk-ssmincidents`.
8
+
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-ssmincidents/types'
15
+ require_relative 'aws-sdk-ssmincidents/client_api'
16
+ require_relative 'aws-sdk-ssmincidents/client'
17
+ require_relative 'aws-sdk-ssmincidents/errors'
18
+ require_relative 'aws-sdk-ssmincidents/waiters'
19
+ require_relative 'aws-sdk-ssmincidents/resource'
20
+ require_relative 'aws-sdk-ssmincidents/customizations'
21
+
22
+ # This module provides support for AWS Systems Manager Incident Manager. This module is available in the
23
+ # `aws-sdk-ssmincidents` gem.
24
+ #
25
+ # # Client
26
+ #
27
+ # The {Client} class provides one method for each API operation. Operation
28
+ # methods each accept a hash of request parameters and return a response
29
+ # structure.
30
+ #
31
+ # ssm_incidents = Aws::SSMIncidents::Client.new
32
+ # resp = ssm_incidents.create_replication_set(params)
33
+ #
34
+ # See {Client} for more information.
35
+ #
36
+ # # Errors
37
+ #
38
+ # Errors returned from AWS Systems Manager Incident Manager are defined in the
39
+ # {Errors} module and all extend {Errors::ServiceError}.
40
+ #
41
+ # begin
42
+ # # do stuff
43
+ # rescue Aws::SSMIncidents::Errors::ServiceError
44
+ # # rescues all AWS Systems Manager Incident Manager API errors
45
+ # end
46
+ #
47
+ # See {Errors} for more information.
48
+ #
49
+ # @!group service
50
+ module Aws::SSMIncidents
51
+
52
+ GEM_VERSION = '1.0.0'
53
+
54
+ end
@@ -0,0 +1,1895 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ssmincidents)
34
+
35
+ module Aws::SSMIncidents
36
+ # An API client for SSMIncidents. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::SSMIncidents::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :ssmincidents
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # A replication set replicates and encrypts your data to the provided
331
+ # Regions with the provided KMS key.
332
+ #
333
+ # @option params [String] :client_token
334
+ # A token ensuring that the action is called only once with the
335
+ # specified details.
336
+ #
337
+ # **A suitable default value is auto-generated.** You should normally
338
+ # not need to pass this option.**
339
+ #
340
+ # @option params [required, Hash<String,Types::RegionMapInputValue>] :regions
341
+ # The Regions that Incident Manager replicates your data to. You can
342
+ # have up to three Regions in your replication set.
343
+ #
344
+ # @return [Types::CreateReplicationSetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
345
+ #
346
+ # * {Types::CreateReplicationSetOutput#arn #arn} => String
347
+ #
348
+ # @example Request syntax with placeholder values
349
+ #
350
+ # resp = client.create_replication_set({
351
+ # client_token: "ClientToken",
352
+ # regions: { # required
353
+ # "RegionName" => {
354
+ # sse_kms_key_id: "SseKmsKey",
355
+ # },
356
+ # },
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ #
361
+ # resp.arn #=> String
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateReplicationSet AWS API Documentation
364
+ #
365
+ # @overload create_replication_set(params = {})
366
+ # @param [Hash] params ({})
367
+ def create_replication_set(params = {}, options = {})
368
+ req = build_request(:create_replication_set, params)
369
+ req.send_request(options)
370
+ end
371
+
372
+ # Creates a response plan that automates the initial response to
373
+ # incidents. A response plan engages contacts, starts chat channel
374
+ # collaboration, and initiates runbooks at the beginning of an incident.
375
+ #
376
+ # @option params [Array<Types::Action>] :actions
377
+ # The actions that the response plan starts at the beginning of an
378
+ # incident.
379
+ #
380
+ # @option params [Types::ChatChannel] :chat_channel
381
+ # The AWS Chatbot chat channel used for collaboration during an
382
+ # incident.
383
+ #
384
+ # @option params [String] :client_token
385
+ # A token ensuring that the action is called only once with the
386
+ # specified details.
387
+ #
388
+ # **A suitable default value is auto-generated.** You should normally
389
+ # not need to pass this option.**
390
+ #
391
+ # @option params [String] :display_name
392
+ # The long format of the response plan name. This field can contain
393
+ # spaces.
394
+ #
395
+ # @option params [Array<String>] :engagements
396
+ # The contacts and escalation plans that the response plan engages
397
+ # during an incident.
398
+ #
399
+ # @option params [required, Types::IncidentTemplate] :incident_template
400
+ # Details used to create an incident when using this response plan.
401
+ #
402
+ # @option params [required, String] :name
403
+ # The short format name of the response plan. Can't include spaces.
404
+ #
405
+ # @option params [Hash<String,String>] :tags
406
+ # A list of tags that you are adding to the response plan.
407
+ #
408
+ # @return [Types::CreateResponsePlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
409
+ #
410
+ # * {Types::CreateResponsePlanOutput#arn #arn} => String
411
+ #
412
+ # @example Request syntax with placeholder values
413
+ #
414
+ # resp = client.create_response_plan({
415
+ # actions: [
416
+ # {
417
+ # ssm_automation: {
418
+ # document_name: "SsmAutomationDocumentNameString", # required
419
+ # document_version: "SsmAutomationDocumentVersionString",
420
+ # parameters: {
421
+ # "SsmParametersKeyString" => ["SsmParameterValuesMemberString"],
422
+ # },
423
+ # role_arn: "RoleArn", # required
424
+ # target_account: "RESPONSE_PLAN_OWNER_ACCOUNT", # accepts RESPONSE_PLAN_OWNER_ACCOUNT, IMPACTED_ACCOUNT
425
+ # },
426
+ # },
427
+ # ],
428
+ # chat_channel: {
429
+ # chatbot_sns: ["SnsArn"],
430
+ # empty: {
431
+ # },
432
+ # },
433
+ # client_token: "ClientToken",
434
+ # display_name: "ResponsePlanDisplayName",
435
+ # engagements: ["SsmContactsArn"],
436
+ # incident_template: { # required
437
+ # dedupe_string: "DedupeString",
438
+ # impact: 1, # required
439
+ # notification_targets: [
440
+ # {
441
+ # sns_topic_arn: "Arn",
442
+ # },
443
+ # ],
444
+ # summary: "IncidentSummary",
445
+ # title: "IncidentTitle", # required
446
+ # },
447
+ # name: "ResponsePlanName", # required
448
+ # tags: {
449
+ # "TagKey" => "TagValue",
450
+ # },
451
+ # })
452
+ #
453
+ # @example Response structure
454
+ #
455
+ # resp.arn #=> String
456
+ #
457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateResponsePlan AWS API Documentation
458
+ #
459
+ # @overload create_response_plan(params = {})
460
+ # @param [Hash] params ({})
461
+ def create_response_plan(params = {}, options = {})
462
+ req = build_request(:create_response_plan, params)
463
+ req.send_request(options)
464
+ end
465
+
466
+ # Creates a custom timeline event on the incident details page of an
467
+ # incident record. Timeline events are automatically created by Incident
468
+ # Manager, marking key moment during an incident. You can create custom
469
+ # timeline events to mark important events that are automatically
470
+ # detected by Incident Manager.
471
+ #
472
+ # @option params [required, String] :client_token
473
+ # A token ensuring that the action is called only once with the
474
+ # specified details.
475
+ #
476
+ # **A suitable default value is auto-generated.** You should normally
477
+ # not need to pass this option.**
478
+ #
479
+ # @option params [required, String] :event_data
480
+ # A short description of the event.
481
+ #
482
+ # @option params [required, Time,DateTime,Date,Integer,String] :event_time
483
+ # The time that the event occurred.
484
+ #
485
+ # @option params [required, String] :event_type
486
+ # The type of the event. You can create timeline events of type `Custom
487
+ # Event`.
488
+ #
489
+ # @option params [required, String] :incident_record_arn
490
+ # The Amazon Resource Name (ARN) of the incident record you are adding
491
+ # the event to.
492
+ #
493
+ # @return [Types::CreateTimelineEventOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
494
+ #
495
+ # * {Types::CreateTimelineEventOutput#event_id #event_id} => String
496
+ # * {Types::CreateTimelineEventOutput#incident_record_arn #incident_record_arn} => String
497
+ #
498
+ # @example Request syntax with placeholder values
499
+ #
500
+ # resp = client.create_timeline_event({
501
+ # client_token: "ClientToken", # required
502
+ # event_data: "EventData", # required
503
+ # event_time: Time.now, # required
504
+ # event_type: "TimelineEventType", # required
505
+ # incident_record_arn: "Arn", # required
506
+ # })
507
+ #
508
+ # @example Response structure
509
+ #
510
+ # resp.event_id #=> String
511
+ # resp.incident_record_arn #=> String
512
+ #
513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateTimelineEvent AWS API Documentation
514
+ #
515
+ # @overload create_timeline_event(params = {})
516
+ # @param [Hash] params ({})
517
+ def create_timeline_event(params = {}, options = {})
518
+ req = build_request(:create_timeline_event, params)
519
+ req.send_request(options)
520
+ end
521
+
522
+ # Delete an incident record from Incident Manager.
523
+ #
524
+ # @option params [required, String] :arn
525
+ # The Amazon Resource Name (ARN) of the incident record you are
526
+ # deleting.
527
+ #
528
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
529
+ #
530
+ # @example Request syntax with placeholder values
531
+ #
532
+ # resp = client.delete_incident_record({
533
+ # arn: "Arn", # required
534
+ # })
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteIncidentRecord AWS API Documentation
537
+ #
538
+ # @overload delete_incident_record(params = {})
539
+ # @param [Hash] params ({})
540
+ def delete_incident_record(params = {}, options = {})
541
+ req = build_request(:delete_incident_record, params)
542
+ req.send_request(options)
543
+ end
544
+
545
+ # Deletes all Regions in your replication set. Deleting the replication
546
+ # set deletes all Incident Manager data.
547
+ #
548
+ # @option params [required, String] :arn
549
+ # The Amazon Resource Name (ARN) of the replication set you're
550
+ # deleting.
551
+ #
552
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
553
+ #
554
+ # @example Request syntax with placeholder values
555
+ #
556
+ # resp = client.delete_replication_set({
557
+ # arn: "Arn", # required
558
+ # })
559
+ #
560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteReplicationSet AWS API Documentation
561
+ #
562
+ # @overload delete_replication_set(params = {})
563
+ # @param [Hash] params ({})
564
+ def delete_replication_set(params = {}, options = {})
565
+ req = build_request(:delete_replication_set, params)
566
+ req.send_request(options)
567
+ end
568
+
569
+ # Deletes the resource policy that AWS Resource Access Manager uses to
570
+ # share your Incident Manager resource.
571
+ #
572
+ # @option params [required, String] :policy_id
573
+ # The ID of the resource policy you're deleting.
574
+ #
575
+ # @option params [required, String] :resource_arn
576
+ # The Amazon Resource Name (ARN) of the resource you're deleting the
577
+ # policy from.
578
+ #
579
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
580
+ #
581
+ # @example Request syntax with placeholder values
582
+ #
583
+ # resp = client.delete_resource_policy({
584
+ # policy_id: "PolicyId", # required
585
+ # resource_arn: "Arn", # required
586
+ # })
587
+ #
588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResourcePolicy AWS API Documentation
589
+ #
590
+ # @overload delete_resource_policy(params = {})
591
+ # @param [Hash] params ({})
592
+ def delete_resource_policy(params = {}, options = {})
593
+ req = build_request(:delete_resource_policy, params)
594
+ req.send_request(options)
595
+ end
596
+
597
+ # Deletes the specified response plan. Deleting a response plan stops
598
+ # all linked CloudWatch alarms and EventBridge events from creating an
599
+ # incident with this response plan.
600
+ #
601
+ # @option params [required, String] :arn
602
+ # The Amazon Resource Name (ARN) of the response plan.
603
+ #
604
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
605
+ #
606
+ # @example Request syntax with placeholder values
607
+ #
608
+ # resp = client.delete_response_plan({
609
+ # arn: "Arn", # required
610
+ # })
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResponsePlan AWS API Documentation
613
+ #
614
+ # @overload delete_response_plan(params = {})
615
+ # @param [Hash] params ({})
616
+ def delete_response_plan(params = {}, options = {})
617
+ req = build_request(:delete_response_plan, params)
618
+ req.send_request(options)
619
+ end
620
+
621
+ # Deletes a timeline event from an incident.
622
+ #
623
+ # @option params [required, String] :event_id
624
+ # The ID of the event you are updating. You can find this by using
625
+ # `ListTimelineEvents`.
626
+ #
627
+ # @option params [required, String] :incident_record_arn
628
+ # The Amazon Resource Name (ARN) of the incident that the event is part
629
+ # of.
630
+ #
631
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
632
+ #
633
+ # @example Request syntax with placeholder values
634
+ #
635
+ # resp = client.delete_timeline_event({
636
+ # event_id: "UUID", # required
637
+ # incident_record_arn: "Arn", # required
638
+ # })
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteTimelineEvent AWS API Documentation
641
+ #
642
+ # @overload delete_timeline_event(params = {})
643
+ # @param [Hash] params ({})
644
+ def delete_timeline_event(params = {}, options = {})
645
+ req = build_request(:delete_timeline_event, params)
646
+ req.send_request(options)
647
+ end
648
+
649
+ # Returns the details of the specified incident record.
650
+ #
651
+ # @option params [required, String] :arn
652
+ # The Amazon Resource Name (ARN) of the incident record.
653
+ #
654
+ # @return [Types::GetIncidentRecordOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
655
+ #
656
+ # * {Types::GetIncidentRecordOutput#incident_record #incident_record} => Types::IncidentRecord
657
+ #
658
+ # @example Request syntax with placeholder values
659
+ #
660
+ # resp = client.get_incident_record({
661
+ # arn: "Arn", # required
662
+ # })
663
+ #
664
+ # @example Response structure
665
+ #
666
+ # resp.incident_record.arn #=> String
667
+ # resp.incident_record.automation_executions #=> Array
668
+ # resp.incident_record.automation_executions[0].ssm_execution_arn #=> String
669
+ # resp.incident_record.chat_channel.chatbot_sns #=> Array
670
+ # resp.incident_record.chat_channel.chatbot_sns[0] #=> String
671
+ # resp.incident_record.creation_time #=> Time
672
+ # resp.incident_record.dedupe_string #=> String
673
+ # resp.incident_record.impact #=> Integer
674
+ # resp.incident_record.incident_record_source.created_by #=> String
675
+ # resp.incident_record.incident_record_source.invoked_by #=> String
676
+ # resp.incident_record.incident_record_source.resource_arn #=> String
677
+ # resp.incident_record.incident_record_source.source #=> String
678
+ # resp.incident_record.last_modified_by #=> String
679
+ # resp.incident_record.last_modified_time #=> Time
680
+ # resp.incident_record.notification_targets #=> Array
681
+ # resp.incident_record.notification_targets[0].sns_topic_arn #=> String
682
+ # resp.incident_record.resolved_time #=> Time
683
+ # resp.incident_record.status #=> String, one of "OPEN", "RESOLVED"
684
+ # resp.incident_record.summary #=> String
685
+ # resp.incident_record.title #=> String
686
+ #
687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetIncidentRecord AWS API Documentation
688
+ #
689
+ # @overload get_incident_record(params = {})
690
+ # @param [Hash] params ({})
691
+ def get_incident_record(params = {}, options = {})
692
+ req = build_request(:get_incident_record, params)
693
+ req.send_request(options)
694
+ end
695
+
696
+ # Retrieve your Incident Manager replication set.
697
+ #
698
+ # @option params [required, String] :arn
699
+ # The Amazon Resource Name (ARN) of the replication set you want to
700
+ # retrieve.
701
+ #
702
+ # @return [Types::GetReplicationSetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
+ #
704
+ # * {Types::GetReplicationSetOutput#replication_set #replication_set} => Types::ReplicationSet
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ #
708
+ # resp = client.get_replication_set({
709
+ # arn: "Arn", # required
710
+ # })
711
+ #
712
+ # @example Response structure
713
+ #
714
+ # resp.replication_set.created_by #=> String
715
+ # resp.replication_set.created_time #=> Time
716
+ # resp.replication_set.deletion_protected #=> Boolean
717
+ # resp.replication_set.last_modified_by #=> String
718
+ # resp.replication_set.last_modified_time #=> Time
719
+ # resp.replication_set.region_map #=> Hash
720
+ # resp.replication_set.region_map["RegionName"].sse_kms_key_id #=> String
721
+ # resp.replication_set.region_map["RegionName"].status #=> String, one of "ACTIVE", "CREATING", "DELETING", "FAILED"
722
+ # resp.replication_set.region_map["RegionName"].status_message #=> String
723
+ # resp.replication_set.region_map["RegionName"].status_update_date_time #=> Time
724
+ # resp.replication_set.status #=> String, one of "ACTIVE", "CREATING", "UPDATING", "DELETING", "FAILED"
725
+ #
726
+ #
727
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
728
+ #
729
+ # * wait_for_replication_set_active
730
+ # * wait_for_replication_set_deleted
731
+ #
732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetReplicationSet AWS API Documentation
733
+ #
734
+ # @overload get_replication_set(params = {})
735
+ # @param [Hash] params ({})
736
+ def get_replication_set(params = {}, options = {})
737
+ req = build_request(:get_replication_set, params)
738
+ req.send_request(options)
739
+ end
740
+
741
+ # Retrieves the resource policies attached to the specified response
742
+ # plan.
743
+ #
744
+ # @option params [Integer] :max_results
745
+ # The maximum number of resource policies to display per page of
746
+ # results.
747
+ #
748
+ # @option params [String] :next_token
749
+ # The pagination token to continue to the next page of results.
750
+ #
751
+ # @option params [required, String] :resource_arn
752
+ # The Amazon Resource Name (ARN) of the response plan with the attached
753
+ # resource policy.
754
+ #
755
+ # @return [Types::GetResourcePoliciesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
756
+ #
757
+ # * {Types::GetResourcePoliciesOutput#next_token #next_token} => String
758
+ # * {Types::GetResourcePoliciesOutput#resource_policies #resource_policies} => Array&lt;Types::ResourcePolicy&gt;
759
+ #
760
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
761
+ #
762
+ # @example Request syntax with placeholder values
763
+ #
764
+ # resp = client.get_resource_policies({
765
+ # max_results: 1,
766
+ # next_token: "NextToken",
767
+ # resource_arn: "Arn", # required
768
+ # })
769
+ #
770
+ # @example Response structure
771
+ #
772
+ # resp.next_token #=> String
773
+ # resp.resource_policies #=> Array
774
+ # resp.resource_policies[0].policy_document #=> String
775
+ # resp.resource_policies[0].policy_id #=> String
776
+ # resp.resource_policies[0].ram_resource_share_region #=> String
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResourcePolicies AWS API Documentation
779
+ #
780
+ # @overload get_resource_policies(params = {})
781
+ # @param [Hash] params ({})
782
+ def get_resource_policies(params = {}, options = {})
783
+ req = build_request(:get_resource_policies, params)
784
+ req.send_request(options)
785
+ end
786
+
787
+ # Retrieves the details of the specified response plan.
788
+ #
789
+ # @option params [required, String] :arn
790
+ # The Amazon Resource Name (ARN) of the response plan.
791
+ #
792
+ # @return [Types::GetResponsePlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
793
+ #
794
+ # * {Types::GetResponsePlanOutput#actions #actions} => Array&lt;Types::Action&gt;
795
+ # * {Types::GetResponsePlanOutput#arn #arn} => String
796
+ # * {Types::GetResponsePlanOutput#chat_channel #chat_channel} => Types::ChatChannel
797
+ # * {Types::GetResponsePlanOutput#display_name #display_name} => String
798
+ # * {Types::GetResponsePlanOutput#engagements #engagements} => Array&lt;String&gt;
799
+ # * {Types::GetResponsePlanOutput#incident_template #incident_template} => Types::IncidentTemplate
800
+ # * {Types::GetResponsePlanOutput#name #name} => String
801
+ #
802
+ # @example Request syntax with placeholder values
803
+ #
804
+ # resp = client.get_response_plan({
805
+ # arn: "Arn", # required
806
+ # })
807
+ #
808
+ # @example Response structure
809
+ #
810
+ # resp.actions #=> Array
811
+ # resp.actions[0].ssm_automation.document_name #=> String
812
+ # resp.actions[0].ssm_automation.document_version #=> String
813
+ # resp.actions[0].ssm_automation.parameters #=> Hash
814
+ # resp.actions[0].ssm_automation.parameters["SsmParametersKeyString"] #=> Array
815
+ # resp.actions[0].ssm_automation.parameters["SsmParametersKeyString"][0] #=> String
816
+ # resp.actions[0].ssm_automation.role_arn #=> String
817
+ # resp.actions[0].ssm_automation.target_account #=> String, one of "RESPONSE_PLAN_OWNER_ACCOUNT", "IMPACTED_ACCOUNT"
818
+ # resp.arn #=> String
819
+ # resp.chat_channel.chatbot_sns #=> Array
820
+ # resp.chat_channel.chatbot_sns[0] #=> String
821
+ # resp.display_name #=> String
822
+ # resp.engagements #=> Array
823
+ # resp.engagements[0] #=> String
824
+ # resp.incident_template.dedupe_string #=> String
825
+ # resp.incident_template.impact #=> Integer
826
+ # resp.incident_template.notification_targets #=> Array
827
+ # resp.incident_template.notification_targets[0].sns_topic_arn #=> String
828
+ # resp.incident_template.summary #=> String
829
+ # resp.incident_template.title #=> String
830
+ # resp.name #=> String
831
+ #
832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan AWS API Documentation
833
+ #
834
+ # @overload get_response_plan(params = {})
835
+ # @param [Hash] params ({})
836
+ def get_response_plan(params = {}, options = {})
837
+ req = build_request(:get_response_plan, params)
838
+ req.send_request(options)
839
+ end
840
+
841
+ # Retrieves a timeline event based on its ID and incident record.
842
+ #
843
+ # @option params [required, String] :event_id
844
+ # The ID of the event. You can get an event's ID when you create it or
845
+ # by using `ListTimelineEvents`.
846
+ #
847
+ # @option params [required, String] :incident_record_arn
848
+ # The Amazon Resource Name (ARN) of the incident that the timeline event
849
+ # is part of.
850
+ #
851
+ # @return [Types::GetTimelineEventOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
852
+ #
853
+ # * {Types::GetTimelineEventOutput#event #event} => Types::TimelineEvent
854
+ #
855
+ # @example Request syntax with placeholder values
856
+ #
857
+ # resp = client.get_timeline_event({
858
+ # event_id: "UUID", # required
859
+ # incident_record_arn: "Arn", # required
860
+ # })
861
+ #
862
+ # @example Response structure
863
+ #
864
+ # resp.event.event_data #=> String
865
+ # resp.event.event_id #=> String
866
+ # resp.event.event_time #=> Time
867
+ # resp.event.event_type #=> String
868
+ # resp.event.event_updated_time #=> Time
869
+ # resp.event.incident_record_arn #=> String
870
+ #
871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetTimelineEvent AWS API Documentation
872
+ #
873
+ # @overload get_timeline_event(params = {})
874
+ # @param [Hash] params ({})
875
+ def get_timeline_event(params = {}, options = {})
876
+ req = build_request(:get_timeline_event, params)
877
+ req.send_request(options)
878
+ end
879
+
880
+ # Lists all incident records in your account. Use this command to
881
+ # retrieve the Amazon Resource Name (ARN) of the incident record you
882
+ # want to update.
883
+ #
884
+ # @option params [Array<Types::Filter>] :filters
885
+ # Filter the list of incident records you are searching through. You can
886
+ # filter on the following keys:
887
+ #
888
+ # * `creationTime`
889
+ #
890
+ # * `impact`
891
+ #
892
+ # * `status`
893
+ #
894
+ # * `createdBy`
895
+ #
896
+ # @option params [Integer] :max_results
897
+ # The maximum number of results per page.
898
+ #
899
+ # @option params [String] :next_token
900
+ # The pagination token to continue to the next page of results.
901
+ #
902
+ # @return [Types::ListIncidentRecordsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
903
+ #
904
+ # * {Types::ListIncidentRecordsOutput#incident_record_summaries #incident_record_summaries} => Array&lt;Types::IncidentRecordSummary&gt;
905
+ # * {Types::ListIncidentRecordsOutput#next_token #next_token} => String
906
+ #
907
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
908
+ #
909
+ # @example Request syntax with placeholder values
910
+ #
911
+ # resp = client.list_incident_records({
912
+ # filters: [
913
+ # {
914
+ # condition: { # required
915
+ # after: Time.now,
916
+ # before: Time.now,
917
+ # equals: {
918
+ # integer_values: [1],
919
+ # string_values: ["StringListMemberString"],
920
+ # },
921
+ # },
922
+ # key: "FilterKeyString", # required
923
+ # },
924
+ # ],
925
+ # max_results: 1,
926
+ # next_token: "NextToken",
927
+ # })
928
+ #
929
+ # @example Response structure
930
+ #
931
+ # resp.incident_record_summaries #=> Array
932
+ # resp.incident_record_summaries[0].arn #=> String
933
+ # resp.incident_record_summaries[0].creation_time #=> Time
934
+ # resp.incident_record_summaries[0].impact #=> Integer
935
+ # resp.incident_record_summaries[0].incident_record_source.created_by #=> String
936
+ # resp.incident_record_summaries[0].incident_record_source.invoked_by #=> String
937
+ # resp.incident_record_summaries[0].incident_record_source.resource_arn #=> String
938
+ # resp.incident_record_summaries[0].incident_record_source.source #=> String
939
+ # resp.incident_record_summaries[0].resolved_time #=> Time
940
+ # resp.incident_record_summaries[0].status #=> String, one of "OPEN", "RESOLVED"
941
+ # resp.incident_record_summaries[0].title #=> String
942
+ # resp.next_token #=> String
943
+ #
944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListIncidentRecords AWS API Documentation
945
+ #
946
+ # @overload list_incident_records(params = {})
947
+ # @param [Hash] params ({})
948
+ def list_incident_records(params = {}, options = {})
949
+ req = build_request(:list_incident_records, params)
950
+ req.send_request(options)
951
+ end
952
+
953
+ # List all related items for an incident record.
954
+ #
955
+ # @option params [required, String] :incident_record_arn
956
+ # The Amazon Resource Name (ARN) of the incident record that you are
957
+ # listing related items for.
958
+ #
959
+ # @option params [Integer] :max_results
960
+ # The maximum number of related items per page.
961
+ #
962
+ # @option params [String] :next_token
963
+ # The pagination token to continue to the next page of results.
964
+ #
965
+ # @return [Types::ListRelatedItemsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
966
+ #
967
+ # * {Types::ListRelatedItemsOutput#next_token #next_token} => String
968
+ # * {Types::ListRelatedItemsOutput#related_items #related_items} => Array&lt;Types::RelatedItem&gt;
969
+ #
970
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
971
+ #
972
+ # @example Request syntax with placeholder values
973
+ #
974
+ # resp = client.list_related_items({
975
+ # incident_record_arn: "Arn", # required
976
+ # max_results: 1,
977
+ # next_token: "NextToken",
978
+ # })
979
+ #
980
+ # @example Response structure
981
+ #
982
+ # resp.next_token #=> String
983
+ # resp.related_items #=> Array
984
+ # resp.related_items[0].identifier.type #=> String, one of "ANALYSIS", "INCIDENT", "METRIC", "PARENT", "ATTACHMENT", "OTHER"
985
+ # resp.related_items[0].identifier.value.arn #=> String
986
+ # resp.related_items[0].identifier.value.metric_definition #=> String
987
+ # resp.related_items[0].identifier.value.url #=> String
988
+ # resp.related_items[0].title #=> String
989
+ #
990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListRelatedItems AWS API Documentation
991
+ #
992
+ # @overload list_related_items(params = {})
993
+ # @param [Hash] params ({})
994
+ def list_related_items(params = {}, options = {})
995
+ req = build_request(:list_related_items, params)
996
+ req.send_request(options)
997
+ end
998
+
999
+ # Lists details about the replication set configured in your account.
1000
+ #
1001
+ # @option params [Integer] :max_results
1002
+ # The maximum number of results per page.
1003
+ #
1004
+ # @option params [String] :next_token
1005
+ # The pagination token to continue to the next page of results.
1006
+ #
1007
+ # @return [Types::ListReplicationSetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1008
+ #
1009
+ # * {Types::ListReplicationSetsOutput#next_token #next_token} => String
1010
+ # * {Types::ListReplicationSetsOutput#replication_set_arns #replication_set_arns} => Array&lt;String&gt;
1011
+ #
1012
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1013
+ #
1014
+ # @example Request syntax with placeholder values
1015
+ #
1016
+ # resp = client.list_replication_sets({
1017
+ # max_results: 1,
1018
+ # next_token: "NextToken",
1019
+ # })
1020
+ #
1021
+ # @example Response structure
1022
+ #
1023
+ # resp.next_token #=> String
1024
+ # resp.replication_set_arns #=> Array
1025
+ # resp.replication_set_arns[0] #=> String
1026
+ #
1027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListReplicationSets AWS API Documentation
1028
+ #
1029
+ # @overload list_replication_sets(params = {})
1030
+ # @param [Hash] params ({})
1031
+ def list_replication_sets(params = {}, options = {})
1032
+ req = build_request(:list_replication_sets, params)
1033
+ req.send_request(options)
1034
+ end
1035
+
1036
+ # Lists all response plans in your account.
1037
+ #
1038
+ # @option params [Integer] :max_results
1039
+ # The maximum number of response plans per page.
1040
+ #
1041
+ # @option params [String] :next_token
1042
+ # The pagination token to continue to the next page of results.
1043
+ #
1044
+ # @return [Types::ListResponsePlansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1045
+ #
1046
+ # * {Types::ListResponsePlansOutput#next_token #next_token} => String
1047
+ # * {Types::ListResponsePlansOutput#response_plan_summaries #response_plan_summaries} => Array&lt;Types::ResponsePlanSummary&gt;
1048
+ #
1049
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1050
+ #
1051
+ # @example Request syntax with placeholder values
1052
+ #
1053
+ # resp = client.list_response_plans({
1054
+ # max_results: 1,
1055
+ # next_token: "NextToken",
1056
+ # })
1057
+ #
1058
+ # @example Response structure
1059
+ #
1060
+ # resp.next_token #=> String
1061
+ # resp.response_plan_summaries #=> Array
1062
+ # resp.response_plan_summaries[0].arn #=> String
1063
+ # resp.response_plan_summaries[0].display_name #=> String
1064
+ # resp.response_plan_summaries[0].name #=> String
1065
+ #
1066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListResponsePlans AWS API Documentation
1067
+ #
1068
+ # @overload list_response_plans(params = {})
1069
+ # @param [Hash] params ({})
1070
+ def list_response_plans(params = {}, options = {})
1071
+ req = build_request(:list_response_plans, params)
1072
+ req.send_request(options)
1073
+ end
1074
+
1075
+ # Lists the tags that are attached to the specified response plan.
1076
+ #
1077
+ # @option params [required, String] :resource_arn
1078
+ # The Amazon Resource Name (ARN) of the response plan.
1079
+ #
1080
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1081
+ #
1082
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1083
+ #
1084
+ # @example Request syntax with placeholder values
1085
+ #
1086
+ # resp = client.list_tags_for_resource({
1087
+ # resource_arn: "String", # required
1088
+ # })
1089
+ #
1090
+ # @example Response structure
1091
+ #
1092
+ # resp.tags #=> Hash
1093
+ # resp.tags["TagKey"] #=> String
1094
+ #
1095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTagsForResource AWS API Documentation
1096
+ #
1097
+ # @overload list_tags_for_resource(params = {})
1098
+ # @param [Hash] params ({})
1099
+ def list_tags_for_resource(params = {}, options = {})
1100
+ req = build_request(:list_tags_for_resource, params)
1101
+ req.send_request(options)
1102
+ end
1103
+
1104
+ # Lists timeline events of the specified incident record.
1105
+ #
1106
+ # @option params [Array<Types::Filter>] :filters
1107
+ # Filters the timeline events based on the provided conditional values.
1108
+ # You can filter timeline events using the following keys:
1109
+ #
1110
+ # * `eventTime`
1111
+ #
1112
+ # * `eventType`
1113
+ #
1114
+ # @option params [required, String] :incident_record_arn
1115
+ # The Amazon Resource Name (ARN) of the incident that the event is part
1116
+ # of.
1117
+ #
1118
+ # @option params [Integer] :max_results
1119
+ # The maximum number of results per page.
1120
+ #
1121
+ # @option params [String] :next_token
1122
+ # The pagination token to continue to the next page of results.
1123
+ #
1124
+ # @option params [String] :sort_by
1125
+ # Sort by the specified key value pair.
1126
+ #
1127
+ # @option params [String] :sort_order
1128
+ # Sorts the order of timeline events by the value specified in the
1129
+ # `sortBy` field.
1130
+ #
1131
+ # @return [Types::ListTimelineEventsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1132
+ #
1133
+ # * {Types::ListTimelineEventsOutput#event_summaries #event_summaries} => Array&lt;Types::EventSummary&gt;
1134
+ # * {Types::ListTimelineEventsOutput#next_token #next_token} => String
1135
+ #
1136
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1137
+ #
1138
+ # @example Request syntax with placeholder values
1139
+ #
1140
+ # resp = client.list_timeline_events({
1141
+ # filters: [
1142
+ # {
1143
+ # condition: { # required
1144
+ # after: Time.now,
1145
+ # before: Time.now,
1146
+ # equals: {
1147
+ # integer_values: [1],
1148
+ # string_values: ["StringListMemberString"],
1149
+ # },
1150
+ # },
1151
+ # key: "FilterKeyString", # required
1152
+ # },
1153
+ # ],
1154
+ # incident_record_arn: "Arn", # required
1155
+ # max_results: 1,
1156
+ # next_token: "NextToken",
1157
+ # sort_by: "EVENT_TIME", # accepts EVENT_TIME
1158
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1159
+ # })
1160
+ #
1161
+ # @example Response structure
1162
+ #
1163
+ # resp.event_summaries #=> Array
1164
+ # resp.event_summaries[0].event_id #=> String
1165
+ # resp.event_summaries[0].event_time #=> Time
1166
+ # resp.event_summaries[0].event_type #=> String
1167
+ # resp.event_summaries[0].event_updated_time #=> Time
1168
+ # resp.event_summaries[0].incident_record_arn #=> String
1169
+ # resp.next_token #=> String
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTimelineEvents AWS API Documentation
1172
+ #
1173
+ # @overload list_timeline_events(params = {})
1174
+ # @param [Hash] params ({})
1175
+ def list_timeline_events(params = {}, options = {})
1176
+ req = build_request(:list_timeline_events, params)
1177
+ req.send_request(options)
1178
+ end
1179
+
1180
+ # Adds a resource policy to the specified response plan.
1181
+ #
1182
+ # @option params [required, String] :policy
1183
+ # Details of the resource policy.
1184
+ #
1185
+ # @option params [required, String] :resource_arn
1186
+ # The Amazon Resource Name (ARN) of the response plan you're adding the
1187
+ # resource policy to.
1188
+ #
1189
+ # @return [Types::PutResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1190
+ #
1191
+ # * {Types::PutResourcePolicyOutput#policy_id #policy_id} => String
1192
+ #
1193
+ # @example Request syntax with placeholder values
1194
+ #
1195
+ # resp = client.put_resource_policy({
1196
+ # policy: "Policy", # required
1197
+ # resource_arn: "Arn", # required
1198
+ # })
1199
+ #
1200
+ # @example Response structure
1201
+ #
1202
+ # resp.policy_id #=> String
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/PutResourcePolicy AWS API Documentation
1205
+ #
1206
+ # @overload put_resource_policy(params = {})
1207
+ # @param [Hash] params ({})
1208
+ def put_resource_policy(params = {}, options = {})
1209
+ req = build_request(:put_resource_policy, params)
1210
+ req.send_request(options)
1211
+ end
1212
+
1213
+ # Used to start an incident from CloudWatch alarms, EventBridge events,
1214
+ # or manually.
1215
+ #
1216
+ # @option params [String] :client_token
1217
+ # A token ensuring that the action is called only once with the
1218
+ # specified details.
1219
+ #
1220
+ # **A suitable default value is auto-generated.** You should normally
1221
+ # not need to pass this option.**
1222
+ #
1223
+ # @option params [Integer] :impact
1224
+ # Defines the impact to the customers. Providing an impact overwrites
1225
+ # the impact provided by a response plan.
1226
+ #
1227
+ # **Possible impacts:**
1228
+ #
1229
+ # * `1` - Critical impact, this typically relates to full application
1230
+ # failure that impacts many to all customers.
1231
+ #
1232
+ # * `2` - High impact, partial application failure with impact to many
1233
+ # customers.
1234
+ #
1235
+ # * `3` - Medium impact, the application is providing reduced service to
1236
+ # customers.
1237
+ #
1238
+ # * `4` - Low impact, customer might aren't impacted by the problem
1239
+ # yet.
1240
+ #
1241
+ # * `5` - No impact, customers aren't currently impacted but urgent
1242
+ # action is needed to avoid impact.
1243
+ #
1244
+ # @option params [Array<Types::RelatedItem>] :related_items
1245
+ # Add related items to the incident for other responders to use. Related
1246
+ # items are AWS resources, external links, or files uploaded to an S3
1247
+ # bucket.
1248
+ #
1249
+ # @option params [required, String] :response_plan_arn
1250
+ # The Amazon Resource Name (ARN) of the response plan that pre-defines
1251
+ # summary, chat channels, SNS topics, runbooks, title, and impact of the
1252
+ # incident.
1253
+ #
1254
+ # @option params [String] :title
1255
+ # Provide a title for the incident. Providing a title overwrites the
1256
+ # title provided by the response plan.
1257
+ #
1258
+ # @option params [Types::TriggerDetails] :trigger_details
1259
+ # Details of what created the incident record in Incident Manager.
1260
+ #
1261
+ # @return [Types::StartIncidentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1262
+ #
1263
+ # * {Types::StartIncidentOutput#incident_record_arn #incident_record_arn} => String
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ #
1267
+ # resp = client.start_incident({
1268
+ # client_token: "ClientToken",
1269
+ # impact: 1,
1270
+ # related_items: [
1271
+ # {
1272
+ # identifier: { # required
1273
+ # type: "ANALYSIS", # required, accepts ANALYSIS, INCIDENT, METRIC, PARENT, ATTACHMENT, OTHER
1274
+ # value: { # required
1275
+ # arn: "Arn",
1276
+ # metric_definition: "MetricDefinition",
1277
+ # url: "Url",
1278
+ # },
1279
+ # },
1280
+ # title: "RelatedItemTitleString",
1281
+ # },
1282
+ # ],
1283
+ # response_plan_arn: "Arn", # required
1284
+ # title: "IncidentTitle",
1285
+ # trigger_details: {
1286
+ # raw_data: "RawData",
1287
+ # source: "IncidentSource", # required
1288
+ # timestamp: Time.now, # required
1289
+ # trigger_arn: "Arn",
1290
+ # },
1291
+ # })
1292
+ #
1293
+ # @example Response structure
1294
+ #
1295
+ # resp.incident_record_arn #=> String
1296
+ #
1297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/StartIncident AWS API Documentation
1298
+ #
1299
+ # @overload start_incident(params = {})
1300
+ # @param [Hash] params ({})
1301
+ def start_incident(params = {}, options = {})
1302
+ req = build_request(:start_incident, params)
1303
+ req.send_request(options)
1304
+ end
1305
+
1306
+ # Adds a tag to a response plan.
1307
+ #
1308
+ # @option params [required, String] :resource_arn
1309
+ # The Amazon Resource Name (ARN) of the response plan you're adding the
1310
+ # tags to.
1311
+ #
1312
+ # @option params [required, Hash<String,String>] :tags
1313
+ # A list of tags that you are adding to the response plan.
1314
+ #
1315
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1316
+ #
1317
+ # @example Request syntax with placeholder values
1318
+ #
1319
+ # resp = client.tag_resource({
1320
+ # resource_arn: "String", # required
1321
+ # tags: { # required
1322
+ # "TagKey" => "TagValue",
1323
+ # },
1324
+ # })
1325
+ #
1326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/TagResource AWS API Documentation
1327
+ #
1328
+ # @overload tag_resource(params = {})
1329
+ # @param [Hash] params ({})
1330
+ def tag_resource(params = {}, options = {})
1331
+ req = build_request(:tag_resource, params)
1332
+ req.send_request(options)
1333
+ end
1334
+
1335
+ # Removes a tag from a resource.
1336
+ #
1337
+ # @option params [required, String] :resource_arn
1338
+ # The Amazon Resource Name (ARN) of the response plan you're removing a
1339
+ # tag from.
1340
+ #
1341
+ # @option params [required, Array<String>] :tag_keys
1342
+ # The name of the tag you're removing from the response plan.
1343
+ #
1344
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1345
+ #
1346
+ # @example Request syntax with placeholder values
1347
+ #
1348
+ # resp = client.untag_resource({
1349
+ # resource_arn: "String", # required
1350
+ # tag_keys: ["TagKey"], # required
1351
+ # })
1352
+ #
1353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UntagResource AWS API Documentation
1354
+ #
1355
+ # @overload untag_resource(params = {})
1356
+ # @param [Hash] params ({})
1357
+ def untag_resource(params = {}, options = {})
1358
+ req = build_request(:untag_resource, params)
1359
+ req.send_request(options)
1360
+ end
1361
+
1362
+ # Update deletion protection to either allow or deny deletion of the
1363
+ # final Region in a replication set.
1364
+ #
1365
+ # @option params [required, String] :arn
1366
+ # The Amazon Resource Name (ARN) of the replication set you're
1367
+ # updating.
1368
+ #
1369
+ # @option params [String] :client_token
1370
+ # A token ensuring that the action is called only once with the
1371
+ # specified details.
1372
+ #
1373
+ # **A suitable default value is auto-generated.** You should normally
1374
+ # not need to pass this option.**
1375
+ #
1376
+ # @option params [required, Boolean] :deletion_protected
1377
+ # Details if deletion protection is enabled or disabled in your account.
1378
+ #
1379
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1380
+ #
1381
+ # @example Request syntax with placeholder values
1382
+ #
1383
+ # resp = client.update_deletion_protection({
1384
+ # arn: "Arn", # required
1385
+ # client_token: "ClientToken",
1386
+ # deletion_protected: false, # required
1387
+ # })
1388
+ #
1389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateDeletionProtection AWS API Documentation
1390
+ #
1391
+ # @overload update_deletion_protection(params = {})
1392
+ # @param [Hash] params ({})
1393
+ def update_deletion_protection(params = {}, options = {})
1394
+ req = build_request(:update_deletion_protection, params)
1395
+ req.send_request(options)
1396
+ end
1397
+
1398
+ # Update the details of an incident record. You can use this action to
1399
+ # update an incident record from the defined chat channel. For more
1400
+ # information about using actions in chat channels, see [Interacting
1401
+ # through chat][1].
1402
+ #
1403
+ #
1404
+ #
1405
+ # [1]: https://docs.aws.amazon.com/incident-manager/latest/userguide/chat.html#chat-interact
1406
+ #
1407
+ # @option params [required, String] :arn
1408
+ # The Amazon Resource Name (ARN) of the incident record you are
1409
+ # updating.
1410
+ #
1411
+ # @option params [Types::ChatChannel] :chat_channel
1412
+ # The AWS Chatbot chat channel for responders to collaborate in.
1413
+ #
1414
+ # @option params [String] :client_token
1415
+ # A token ensuring that the action is called only once with the
1416
+ # specified details.
1417
+ #
1418
+ # **A suitable default value is auto-generated.** You should normally
1419
+ # not need to pass this option.**
1420
+ #
1421
+ # @option params [Integer] :impact
1422
+ # Defines the impact to customers and applications. Providing an impact
1423
+ # overwrites the impact provided by the response plan.
1424
+ #
1425
+ # **Possible impacts:**
1426
+ #
1427
+ # * `1` - Critical impact, this typically relates to full application
1428
+ # failure that impacts many to all customers.
1429
+ #
1430
+ # * `2` - High impact, partial application failure with impact to many
1431
+ # customers.
1432
+ #
1433
+ # * `3` - Medium impact, the application is providing reduced service to
1434
+ # customers.
1435
+ #
1436
+ # * `4` - Low impact, customer might aren't impacted by the problem
1437
+ # yet.
1438
+ #
1439
+ # * `5` - No impact, customers aren't currently impacted but urgent
1440
+ # action is needed to avoid impact.
1441
+ #
1442
+ # @option params [Array<Types::NotificationTargetItem>] :notification_targets
1443
+ # The SNS targets that AWS Chatbot uses to notify the chat channel of
1444
+ # updates to an incident. You can also make updates to the incident
1445
+ # through the chat channel using the SNS topics.
1446
+ #
1447
+ # Using multiple SNS topics creates redundancy in the case that a Region
1448
+ # is down during the incident.
1449
+ #
1450
+ # @option params [String] :status
1451
+ # The status of the incident. An incident can be `Open` or `Resolved`.
1452
+ #
1453
+ # @option params [String] :summary
1454
+ # The summary describes what has happened during the incident.
1455
+ #
1456
+ # @option params [String] :title
1457
+ # The title of the incident is a brief and easily recognizable.
1458
+ #
1459
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1460
+ #
1461
+ # @example Request syntax with placeholder values
1462
+ #
1463
+ # resp = client.update_incident_record({
1464
+ # arn: "Arn", # required
1465
+ # chat_channel: {
1466
+ # chatbot_sns: ["SnsArn"],
1467
+ # empty: {
1468
+ # },
1469
+ # },
1470
+ # client_token: "ClientToken",
1471
+ # impact: 1,
1472
+ # notification_targets: [
1473
+ # {
1474
+ # sns_topic_arn: "Arn",
1475
+ # },
1476
+ # ],
1477
+ # status: "OPEN", # accepts OPEN, RESOLVED
1478
+ # summary: "IncidentSummary",
1479
+ # title: "IncidentTitle",
1480
+ # })
1481
+ #
1482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateIncidentRecord AWS API Documentation
1483
+ #
1484
+ # @overload update_incident_record(params = {})
1485
+ # @param [Hash] params ({})
1486
+ def update_incident_record(params = {}, options = {})
1487
+ req = build_request(:update_incident_record, params)
1488
+ req.send_request(options)
1489
+ end
1490
+
1491
+ # Add or remove related items from the related items tab of an incident
1492
+ # record.
1493
+ #
1494
+ # @option params [String] :client_token
1495
+ # A token ensuring that the action is called only once with the
1496
+ # specified details.
1497
+ #
1498
+ # **A suitable default value is auto-generated.** You should normally
1499
+ # not need to pass this option.**
1500
+ #
1501
+ # @option params [required, String] :incident_record_arn
1502
+ # The Amazon Resource Name (ARN) of the incident record you are updating
1503
+ # related items in.
1504
+ #
1505
+ # @option params [required, Types::RelatedItemsUpdate] :related_items_update
1506
+ # Details about the item you are adding or deleting.
1507
+ #
1508
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1509
+ #
1510
+ # @example Request syntax with placeholder values
1511
+ #
1512
+ # resp = client.update_related_items({
1513
+ # client_token: "ClientToken",
1514
+ # incident_record_arn: "Arn", # required
1515
+ # related_items_update: { # required
1516
+ # item_to_add: {
1517
+ # identifier: { # required
1518
+ # type: "ANALYSIS", # required, accepts ANALYSIS, INCIDENT, METRIC, PARENT, ATTACHMENT, OTHER
1519
+ # value: { # required
1520
+ # arn: "Arn",
1521
+ # metric_definition: "MetricDefinition",
1522
+ # url: "Url",
1523
+ # },
1524
+ # },
1525
+ # title: "RelatedItemTitleString",
1526
+ # },
1527
+ # item_to_remove: {
1528
+ # type: "ANALYSIS", # required, accepts ANALYSIS, INCIDENT, METRIC, PARENT, ATTACHMENT, OTHER
1529
+ # value: { # required
1530
+ # arn: "Arn",
1531
+ # metric_definition: "MetricDefinition",
1532
+ # url: "Url",
1533
+ # },
1534
+ # },
1535
+ # },
1536
+ # })
1537
+ #
1538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateRelatedItems AWS API Documentation
1539
+ #
1540
+ # @overload update_related_items(params = {})
1541
+ # @param [Hash] params ({})
1542
+ def update_related_items(params = {}, options = {})
1543
+ req = build_request(:update_related_items, params)
1544
+ req.send_request(options)
1545
+ end
1546
+
1547
+ # Add or delete Regions from your replication set.
1548
+ #
1549
+ # @option params [required, Array<Types::UpdateReplicationSetAction>] :actions
1550
+ # An action to add or delete a Region.
1551
+ #
1552
+ # @option params [required, String] :arn
1553
+ # The Amazon Resource Name (ARN) of the replication set you're
1554
+ # updating.
1555
+ #
1556
+ # @option params [String] :client_token
1557
+ # A token ensuring that the action is called only once with the
1558
+ # specified details.
1559
+ #
1560
+ # **A suitable default value is auto-generated.** You should normally
1561
+ # not need to pass this option.**
1562
+ #
1563
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1564
+ #
1565
+ # @example Request syntax with placeholder values
1566
+ #
1567
+ # resp = client.update_replication_set({
1568
+ # actions: [ # required
1569
+ # {
1570
+ # add_region_action: {
1571
+ # region_name: "RegionName", # required
1572
+ # sse_kms_key_id: "SseKmsKey",
1573
+ # },
1574
+ # delete_region_action: {
1575
+ # region_name: "RegionName", # required
1576
+ # },
1577
+ # },
1578
+ # ],
1579
+ # arn: "Arn", # required
1580
+ # client_token: "ClientToken",
1581
+ # })
1582
+ #
1583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateReplicationSet AWS API Documentation
1584
+ #
1585
+ # @overload update_replication_set(params = {})
1586
+ # @param [Hash] params ({})
1587
+ def update_replication_set(params = {}, options = {})
1588
+ req = build_request(:update_replication_set, params)
1589
+ req.send_request(options)
1590
+ end
1591
+
1592
+ # Updates the specified response plan.
1593
+ #
1594
+ # @option params [Array<Types::Action>] :actions
1595
+ # The actions that this response plan takes at the beginning of an
1596
+ # incident.
1597
+ #
1598
+ # @option params [required, String] :arn
1599
+ # The Amazon Resource Name (ARN) of the response plan.
1600
+ #
1601
+ # @option params [Types::ChatChannel] :chat_channel
1602
+ # The AWS Chatbot chat channel used for collaboration during an
1603
+ # incident.
1604
+ #
1605
+ # @option params [String] :client_token
1606
+ # A token ensuring that the action is called only once with the
1607
+ # specified details.
1608
+ #
1609
+ # **A suitable default value is auto-generated.** You should normally
1610
+ # not need to pass this option.**
1611
+ #
1612
+ # @option params [String] :display_name
1613
+ # The long format name of the response plan. Can't contain spaces.
1614
+ #
1615
+ # @option params [Array<String>] :engagements
1616
+ # The contacts and escalation plans that Incident Manager engages at the
1617
+ # start of the incident.
1618
+ #
1619
+ # @option params [String] :incident_template_dedupe_string
1620
+ # Used to create only one incident record for an incident.
1621
+ #
1622
+ # @option params [Integer] :incident_template_impact
1623
+ # Defines the impact to the customers. Providing an impact overwrites
1624
+ # the impact provided by a response plan.
1625
+ #
1626
+ # **Possible impacts:**
1627
+ #
1628
+ # * `5` - Severe impact
1629
+ #
1630
+ # * `4` - High impact
1631
+ #
1632
+ # * `3` - Medium impact
1633
+ #
1634
+ # * `2` - Low impact
1635
+ #
1636
+ # * `1` - No impact
1637
+ #
1638
+ # @option params [Array<Types::NotificationTargetItem>] :incident_template_notification_targets
1639
+ # The SNS targets that AWS Chatbot uses to notify the chat channels and
1640
+ # perform actions on the incident record.
1641
+ #
1642
+ # @option params [String] :incident_template_summary
1643
+ # A brief summary of the incident. This typically contains what has
1644
+ # happened, what's currently happening, and next steps.
1645
+ #
1646
+ # @option params [String] :incident_template_title
1647
+ # The short format name of the incident. Can't contain spaces.
1648
+ #
1649
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1650
+ #
1651
+ # @example Request syntax with placeholder values
1652
+ #
1653
+ # resp = client.update_response_plan({
1654
+ # actions: [
1655
+ # {
1656
+ # ssm_automation: {
1657
+ # document_name: "SsmAutomationDocumentNameString", # required
1658
+ # document_version: "SsmAutomationDocumentVersionString",
1659
+ # parameters: {
1660
+ # "SsmParametersKeyString" => ["SsmParameterValuesMemberString"],
1661
+ # },
1662
+ # role_arn: "RoleArn", # required
1663
+ # target_account: "RESPONSE_PLAN_OWNER_ACCOUNT", # accepts RESPONSE_PLAN_OWNER_ACCOUNT, IMPACTED_ACCOUNT
1664
+ # },
1665
+ # },
1666
+ # ],
1667
+ # arn: "Arn", # required
1668
+ # chat_channel: {
1669
+ # chatbot_sns: ["SnsArn"],
1670
+ # empty: {
1671
+ # },
1672
+ # },
1673
+ # client_token: "ClientToken",
1674
+ # display_name: "ResponsePlanDisplayName",
1675
+ # engagements: ["SsmContactsArn"],
1676
+ # incident_template_dedupe_string: "DedupeString",
1677
+ # incident_template_impact: 1,
1678
+ # incident_template_notification_targets: [
1679
+ # {
1680
+ # sns_topic_arn: "Arn",
1681
+ # },
1682
+ # ],
1683
+ # incident_template_summary: "IncidentSummary",
1684
+ # incident_template_title: "IncidentTitle",
1685
+ # })
1686
+ #
1687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan AWS API Documentation
1688
+ #
1689
+ # @overload update_response_plan(params = {})
1690
+ # @param [Hash] params ({})
1691
+ def update_response_plan(params = {}, options = {})
1692
+ req = build_request(:update_response_plan, params)
1693
+ req.send_request(options)
1694
+ end
1695
+
1696
+ # Updates a timeline event. You can update events of type `Custom
1697
+ # Event`.
1698
+ #
1699
+ # @option params [required, String] :client_token
1700
+ # A token ensuring that the action is called only once with the
1701
+ # specified details.
1702
+ #
1703
+ # **A suitable default value is auto-generated.** You should normally
1704
+ # not need to pass this option.**
1705
+ #
1706
+ # @option params [String] :event_data
1707
+ # A short description of the event.
1708
+ #
1709
+ # @option params [required, String] :event_id
1710
+ # The ID of the event you are updating. You can find this by using
1711
+ # `ListTimelineEvents`.
1712
+ #
1713
+ # @option params [Time,DateTime,Date,Integer,String] :event_time
1714
+ # The time that the event occurred.
1715
+ #
1716
+ # @option params [String] :event_type
1717
+ # The type of the event. You can update events of type `Custom Event`.
1718
+ #
1719
+ # @option params [required, String] :incident_record_arn
1720
+ # The Amazon Resource Name (ARN) of the incident that the timeline event
1721
+ # is part of.
1722
+ #
1723
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1724
+ #
1725
+ # @example Request syntax with placeholder values
1726
+ #
1727
+ # resp = client.update_timeline_event({
1728
+ # client_token: "ClientToken", # required
1729
+ # event_data: "EventData",
1730
+ # event_id: "UUID", # required
1731
+ # event_time: Time.now,
1732
+ # event_type: "TimelineEventType",
1733
+ # incident_record_arn: "Arn", # required
1734
+ # })
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateTimelineEvent AWS API Documentation
1737
+ #
1738
+ # @overload update_timeline_event(params = {})
1739
+ # @param [Hash] params ({})
1740
+ def update_timeline_event(params = {}, options = {})
1741
+ req = build_request(:update_timeline_event, params)
1742
+ req.send_request(options)
1743
+ end
1744
+
1745
+ # @!endgroup
1746
+
1747
+ # @param params ({})
1748
+ # @api private
1749
+ def build_request(operation_name, params = {})
1750
+ handlers = @handlers.for(operation_name)
1751
+ context = Seahorse::Client::RequestContext.new(
1752
+ operation_name: operation_name,
1753
+ operation: config.api.operation(operation_name),
1754
+ client: self,
1755
+ params: params,
1756
+ config: config)
1757
+ context[:gem_name] = 'aws-sdk-ssmincidents'
1758
+ context[:gem_version] = '1.0.0'
1759
+ Seahorse::Client::Request.new(handlers, context)
1760
+ end
1761
+
1762
+ # Polls an API operation until a resource enters a desired state.
1763
+ #
1764
+ # ## Basic Usage
1765
+ #
1766
+ # A waiter will call an API operation until:
1767
+ #
1768
+ # * It is successful
1769
+ # * It enters a terminal state
1770
+ # * It makes the maximum number of attempts
1771
+ #
1772
+ # In between attempts, the waiter will sleep.
1773
+ #
1774
+ # # polls in a loop, sleeping between attempts
1775
+ # client.wait_until(waiter_name, params)
1776
+ #
1777
+ # ## Configuration
1778
+ #
1779
+ # You can configure the maximum number of polling attempts, and the
1780
+ # delay (in seconds) between each polling attempt. You can pass
1781
+ # configuration as the final arguments hash.
1782
+ #
1783
+ # # poll for ~25 seconds
1784
+ # client.wait_until(waiter_name, params, {
1785
+ # max_attempts: 5,
1786
+ # delay: 5,
1787
+ # })
1788
+ #
1789
+ # ## Callbacks
1790
+ #
1791
+ # You can be notified before each polling attempt and before each
1792
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1793
+ # it will terminate the waiter.
1794
+ #
1795
+ # started_at = Time.now
1796
+ # client.wait_until(waiter_name, params, {
1797
+ #
1798
+ # # disable max attempts
1799
+ # max_attempts: nil,
1800
+ #
1801
+ # # poll for 1 hour, instead of a number of attempts
1802
+ # before_wait: -> (attempts, response) do
1803
+ # throw :failure if Time.now - started_at > 3600
1804
+ # end
1805
+ # })
1806
+ #
1807
+ # ## Handling Errors
1808
+ #
1809
+ # When a waiter is unsuccessful, it will raise an error.
1810
+ # All of the failure errors extend from
1811
+ # {Aws::Waiters::Errors::WaiterFailed}.
1812
+ #
1813
+ # begin
1814
+ # client.wait_until(...)
1815
+ # rescue Aws::Waiters::Errors::WaiterFailed
1816
+ # # resource did not enter the desired state in time
1817
+ # end
1818
+ #
1819
+ # ## Valid Waiters
1820
+ #
1821
+ # The following table lists the valid waiter names, the operations they call,
1822
+ # and the default `:delay` and `:max_attempts` values.
1823
+ #
1824
+ # | waiter_name | params | :delay | :max_attempts |
1825
+ # | -------------------------------- | ---------------------------- | -------- | ------------- |
1826
+ # | wait_for_replication_set_active | {Client#get_replication_set} | 30 | 5 |
1827
+ # | wait_for_replication_set_deleted | {Client#get_replication_set} | 30 | 5 |
1828
+ #
1829
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1830
+ # because the waiter has entered a state that it will not transition
1831
+ # out of, preventing success.
1832
+ #
1833
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1834
+ # maximum number of attempts have been made, and the waiter is not
1835
+ # yet successful.
1836
+ #
1837
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1838
+ # while polling for a resource that is not expected.
1839
+ #
1840
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1841
+ # for an unknown state.
1842
+ #
1843
+ # @return [Boolean] Returns `true` if the waiter was successful.
1844
+ # @param [Symbol] waiter_name
1845
+ # @param [Hash] params ({})
1846
+ # @param [Hash] options ({})
1847
+ # @option options [Integer] :max_attempts
1848
+ # @option options [Integer] :delay
1849
+ # @option options [Proc] :before_attempt
1850
+ # @option options [Proc] :before_wait
1851
+ def wait_until(waiter_name, params = {}, options = {})
1852
+ w = waiter(waiter_name, options)
1853
+ yield(w.waiter) if block_given? # deprecated
1854
+ w.wait(params)
1855
+ end
1856
+
1857
+ # @api private
1858
+ # @deprecated
1859
+ def waiter_names
1860
+ waiters.keys
1861
+ end
1862
+
1863
+ private
1864
+
1865
+ # @param [Symbol] waiter_name
1866
+ # @param [Hash] options ({})
1867
+ def waiter(waiter_name, options = {})
1868
+ waiter_class = waiters[waiter_name]
1869
+ if waiter_class
1870
+ waiter_class.new(options.merge(client: self))
1871
+ else
1872
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
1873
+ end
1874
+ end
1875
+
1876
+ def waiters
1877
+ {
1878
+ wait_for_replication_set_active: Waiters::WaitForReplicationSetActive,
1879
+ wait_for_replication_set_deleted: Waiters::WaitForReplicationSetDeleted
1880
+ }
1881
+ end
1882
+
1883
+ class << self
1884
+
1885
+ # @api private
1886
+ attr_reader :identifier
1887
+
1888
+ # @api private
1889
+ def errors_module
1890
+ Errors
1891
+ end
1892
+
1893
+ end
1894
+ end
1895
+ end