aws-sdk-ssmincidents 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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