aws-sdk-resiliencehub 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2725 @@
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(:resiliencehub)
34
+
35
+ module Aws::ResilienceHub
36
+ # An API client for ResilienceHub. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::ResilienceHub::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 = :resiliencehub
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] :use_dualstack_endpoint
279
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
280
+ # will be used if available.
281
+ #
282
+ # @option options [Boolean] :use_fips_endpoint
283
+ # When set to `true`, fips compatible endpoints will be used if available.
284
+ # When a `fips` region is used, the region is normalized and this config
285
+ # is set to `true`.
286
+ #
287
+ # @option options [Boolean] :validate_params (true)
288
+ # When `true`, request parameters are validated before
289
+ # sending the request.
290
+ #
291
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
292
+ # requests through. Formatted like 'http://proxy.com:123'.
293
+ #
294
+ # @option options [Float] :http_open_timeout (15) The number of
295
+ # seconds to wait when opening a HTTP session before raising a
296
+ # `Timeout::Error`.
297
+ #
298
+ # @option options [Integer] :http_read_timeout (60) The default
299
+ # number of seconds to wait for response data. This value can
300
+ # safely be set per-request on the session.
301
+ #
302
+ # @option options [Float] :http_idle_timeout (5) The number of
303
+ # seconds a connection is allowed to sit idle before it is
304
+ # considered stale. Stale connections are closed and removed
305
+ # from the pool before making a request.
306
+ #
307
+ # @option options [Float] :http_continue_timeout (1) The number of
308
+ # seconds to wait for a 100-continue response before sending the
309
+ # request body. This option has no effect unless the request has
310
+ # "Expect" header set to "100-continue". Defaults to `nil` which
311
+ # disables this behaviour. This value can safely be set per
312
+ # request on the session.
313
+ #
314
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
315
+ # HTTP debug output will be sent to the `:logger`.
316
+ #
317
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
318
+ # SSL peer certificates are verified when establishing a
319
+ # connection.
320
+ #
321
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
322
+ # certificate authority bundle file that should be used when
323
+ # verifying peer certificates. If you do not pass
324
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
325
+ # will be used if available.
326
+ #
327
+ # @option options [String] :ssl_ca_directory Full path of the
328
+ # directory that contains the unbundled SSL certificate
329
+ # authority files for verifying peer certificates. If you do
330
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
331
+ # system default will be used if available.
332
+ #
333
+ def initialize(*args)
334
+ super
335
+ end
336
+
337
+ # @!group API Operations
338
+
339
+ # Adds the resource mapping for the draft application version.
340
+ #
341
+ # @option params [required, String] :app_arn
342
+ # The Amazon Resource Name (ARN) of the application. The format for this
343
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
344
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
345
+ # the *AWS General Reference*.
346
+ #
347
+ #
348
+ #
349
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
350
+ #
351
+ # @option params [required, Array<Types::ResourceMapping>] :resource_mappings
352
+ # Mappings used to map logical resources from the template to physical
353
+ # resources. You can use the mapping type `CFN_STACK` if the application
354
+ # template uses a logical stack name. Or you can map individual
355
+ # resources by using the mapping type `RESOURCE`. We recommend using the
356
+ # mapping type `CFN_STACK` if the application is backed by a
357
+ # CloudFormation stack.
358
+ #
359
+ # @return [Types::AddDraftAppVersionResourceMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
360
+ #
361
+ # * {Types::AddDraftAppVersionResourceMappingsResponse#app_arn #app_arn} => String
362
+ # * {Types::AddDraftAppVersionResourceMappingsResponse#app_version #app_version} => String
363
+ # * {Types::AddDraftAppVersionResourceMappingsResponse#resource_mappings #resource_mappings} => Array&lt;Types::ResourceMapping&gt;
364
+ #
365
+ # @example Request syntax with placeholder values
366
+ #
367
+ # resp = client.add_draft_app_version_resource_mappings({
368
+ # app_arn: "Arn", # required
369
+ # resource_mappings: [ # required
370
+ # {
371
+ # app_registry_app_name: "EntityName",
372
+ # logical_stack_name: "String255",
373
+ # mapping_type: "CfnStack", # required, accepts CfnStack, Resource, AppRegistryApp, ResourceGroup
374
+ # physical_resource_id: { # required
375
+ # aws_account_id: "CustomerId",
376
+ # aws_region: "AwsRegion",
377
+ # identifier: "String255", # required
378
+ # type: "Arn", # required, accepts Arn, Native
379
+ # },
380
+ # resource_group_name: "EntityName",
381
+ # resource_name: "EntityName",
382
+ # },
383
+ # ],
384
+ # })
385
+ #
386
+ # @example Response structure
387
+ #
388
+ # resp.app_arn #=> String
389
+ # resp.app_version #=> String
390
+ # resp.resource_mappings #=> Array
391
+ # resp.resource_mappings[0].app_registry_app_name #=> String
392
+ # resp.resource_mappings[0].logical_stack_name #=> String
393
+ # resp.resource_mappings[0].mapping_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup"
394
+ # resp.resource_mappings[0].physical_resource_id.aws_account_id #=> String
395
+ # resp.resource_mappings[0].physical_resource_id.aws_region #=> String
396
+ # resp.resource_mappings[0].physical_resource_id.identifier #=> String
397
+ # resp.resource_mappings[0].physical_resource_id.type #=> String, one of "Arn", "Native"
398
+ # resp.resource_mappings[0].resource_group_name #=> String
399
+ # resp.resource_mappings[0].resource_name #=> String
400
+ #
401
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/AddDraftAppVersionResourceMappings AWS API Documentation
402
+ #
403
+ # @overload add_draft_app_version_resource_mappings(params = {})
404
+ # @param [Hash] params ({})
405
+ def add_draft_app_version_resource_mappings(params = {}, options = {})
406
+ req = build_request(:add_draft_app_version_resource_mappings, params)
407
+ req.send_request(options)
408
+ end
409
+
410
+ # Creates a Resilience Hub application. A Resilience Hub application is
411
+ # a collection of Amazon Web Services resources structured to prevent
412
+ # and recover Amazon Web Services application disruptions. To describe a
413
+ # Resilience Hub application, you provide an application name, resources
414
+ # from one or more–up to five–CloudFormation stacks, and an appropriate
415
+ # resiliency policy.
416
+ #
417
+ # <p>After you create a Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).</p>
418
+ #
419
+ # @option params [String] :client_token
420
+ # Used for an idempotency token. A client token is a unique,
421
+ # case-sensitive string of up to 64 ASCII characters. You should not
422
+ # reuse the same client token for other API requests.
423
+ #
424
+ # **A suitable default value is auto-generated.** You should normally
425
+ # not need to pass this option.**
426
+ #
427
+ # @option params [String] :description
428
+ # The optional description for an app.
429
+ #
430
+ # @option params [required, String] :name
431
+ # The name for the application.
432
+ #
433
+ # @option params [String] :policy_arn
434
+ # The Amazon Resource Name (ARN) of the resiliency policy. The format
435
+ # for this ARN is:
436
+ # arn:`partition`\:dcps:`region`\:`account`\:resiliency-policy/`policy-id`.
437
+ # For more information about ARNs, see [ Amazon Resource Names
438
+ # (ARNs)][1] in the *AWS General Reference*.
439
+ #
440
+ #
441
+ #
442
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
443
+ #
444
+ # @option params [Hash<String,String>] :tags
445
+ # The tags assigned to the resource. A tag is a label that you assign to
446
+ # an Amazon Web Services resource. Each tag consists of a key/value
447
+ # pair.
448
+ #
449
+ # @return [Types::CreateAppResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
450
+ #
451
+ # * {Types::CreateAppResponse#app #app} => Types::App
452
+ #
453
+ # @example Request syntax with placeholder values
454
+ #
455
+ # resp = client.create_app({
456
+ # client_token: "ClientToken",
457
+ # description: "EntityDescription",
458
+ # name: "EntityName", # required
459
+ # policy_arn: "Arn",
460
+ # tags: {
461
+ # "TagKey" => "TagValue",
462
+ # },
463
+ # })
464
+ #
465
+ # @example Response structure
466
+ #
467
+ # resp.app.app_arn #=> String
468
+ # resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
469
+ # resp.app.creation_time #=> Time
470
+ # resp.app.description #=> String
471
+ # resp.app.last_app_compliance_evaluation_time #=> Time
472
+ # resp.app.last_resiliency_score_evaluation_time #=> Time
473
+ # resp.app.name #=> String
474
+ # resp.app.policy_arn #=> String
475
+ # resp.app.resiliency_score #=> Float
476
+ # resp.app.status #=> String, one of "Active", "Deleting"
477
+ # resp.app.tags #=> Hash
478
+ # resp.app.tags["TagKey"] #=> String
479
+ #
480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/CreateApp AWS API Documentation
481
+ #
482
+ # @overload create_app(params = {})
483
+ # @param [Hash] params ({})
484
+ def create_app(params = {}, options = {})
485
+ req = build_request(:create_app, params)
486
+ req.send_request(options)
487
+ end
488
+
489
+ # Creates a new recommendation template.
490
+ #
491
+ # @option params [required, String] :assessment_arn
492
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
493
+ # ARN is:
494
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
495
+ # For more information about ARNs, see [ Amazon Resource Names
496
+ # (ARNs)][1] in the *AWS General Reference*.
497
+ #
498
+ #
499
+ #
500
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
501
+ #
502
+ # @option params [String] :bucket_name
503
+ # The name of the Amazon S3 bucket that will contain the recommendation
504
+ # template.
505
+ #
506
+ # @option params [String] :client_token
507
+ # Used for an idempotency token. A client token is a unique,
508
+ # case-sensitive string of up to 64 ASCII characters. You should not
509
+ # reuse the same client token for other API requests.
510
+ #
511
+ # **A suitable default value is auto-generated.** You should normally
512
+ # not need to pass this option.**
513
+ #
514
+ # @option params [String] :format
515
+ # The format for the recommendation template.
516
+ #
517
+ # CfnJson
518
+ #
519
+ # : The template is CloudFormation JSON.
520
+ #
521
+ # CfnYaml
522
+ #
523
+ # : The template is CloudFormation YAML.
524
+ #
525
+ # @option params [required, String] :name
526
+ # The name for the recommendation template.
527
+ #
528
+ # @option params [Array<String>] :recommendation_ids
529
+ # Identifiers for the recommendations used to create a recommendation
530
+ # template.
531
+ #
532
+ # @option params [Array<String>] :recommendation_types
533
+ # An array of strings that specify the recommendation template type or
534
+ # types.
535
+ #
536
+ # Alarm
537
+ #
538
+ # : The template is an AlarmRecommendation template.
539
+ #
540
+ # Sop
541
+ #
542
+ # : The template is a SopRecommendation template.
543
+ #
544
+ # Test
545
+ #
546
+ # : The template is a TestRecommendation template.
547
+ #
548
+ # @option params [Hash<String,String>] :tags
549
+ # The tags assigned to the resource. A tag is a label that you assign to
550
+ # an Amazon Web Services resource. Each tag consists of a key/value
551
+ # pair.
552
+ #
553
+ # @return [Types::CreateRecommendationTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::CreateRecommendationTemplateResponse#recommendation_template #recommendation_template} => Types::RecommendationTemplate
556
+ #
557
+ # @example Request syntax with placeholder values
558
+ #
559
+ # resp = client.create_recommendation_template({
560
+ # assessment_arn: "Arn", # required
561
+ # bucket_name: "EntityName",
562
+ # client_token: "ClientToken",
563
+ # format: "CfnYaml", # accepts CfnYaml, CfnJson
564
+ # name: "EntityName", # required
565
+ # recommendation_ids: ["Uuid"],
566
+ # recommendation_types: ["Alarm"], # accepts Alarm, Sop, Test
567
+ # tags: {
568
+ # "TagKey" => "TagValue",
569
+ # },
570
+ # })
571
+ #
572
+ # @example Response structure
573
+ #
574
+ # resp.recommendation_template.app_arn #=> String
575
+ # resp.recommendation_template.assessment_arn #=> String
576
+ # resp.recommendation_template.end_time #=> Time
577
+ # resp.recommendation_template.format #=> String, one of "CfnYaml", "CfnJson"
578
+ # resp.recommendation_template.message #=> String
579
+ # resp.recommendation_template.name #=> String
580
+ # resp.recommendation_template.needs_replacements #=> Boolean
581
+ # resp.recommendation_template.recommendation_ids #=> Array
582
+ # resp.recommendation_template.recommendation_ids[0] #=> String
583
+ # resp.recommendation_template.recommendation_template_arn #=> String
584
+ # resp.recommendation_template.recommendation_types #=> Array
585
+ # resp.recommendation_template.recommendation_types[0] #=> String, one of "Alarm", "Sop", "Test"
586
+ # resp.recommendation_template.start_time #=> Time
587
+ # resp.recommendation_template.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
588
+ # resp.recommendation_template.tags #=> Hash
589
+ # resp.recommendation_template.tags["TagKey"] #=> String
590
+ # resp.recommendation_template.templates_location.bucket #=> String
591
+ # resp.recommendation_template.templates_location.prefix #=> String
592
+ #
593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/CreateRecommendationTemplate AWS API Documentation
594
+ #
595
+ # @overload create_recommendation_template(params = {})
596
+ # @param [Hash] params ({})
597
+ def create_recommendation_template(params = {}, options = {})
598
+ req = build_request(:create_recommendation_template, params)
599
+ req.send_request(options)
600
+ end
601
+
602
+ # Creates a resiliency policy for an application.
603
+ #
604
+ # @option params [String] :client_token
605
+ # Used for an idempotency token. A client token is a unique,
606
+ # case-sensitive string of up to 64 ASCII characters. You should not
607
+ # reuse the same client token for other API requests.
608
+ #
609
+ # **A suitable default value is auto-generated.** You should normally
610
+ # not need to pass this option.**
611
+ #
612
+ # @option params [String] :data_location_constraint
613
+ # Specifies a high-level geographical location constraint for where your
614
+ # resilience policy data can be stored.
615
+ #
616
+ # @option params [required, Hash<String,Types::FailurePolicy>] :policy
617
+ # The type of resiliency policy to be created, including the recovery
618
+ # time objective (RTO) and recovery point objective (RPO) in seconds.
619
+ #
620
+ # @option params [String] :policy_description
621
+ # The description for the policy.
622
+ #
623
+ # @option params [required, String] :policy_name
624
+ # The name of the policy
625
+ #
626
+ # @option params [Hash<String,String>] :tags
627
+ # The tags assigned to the resource. A tag is a label that you assign to
628
+ # an Amazon Web Services resource. Each tag consists of a key/value
629
+ # pair.
630
+ #
631
+ # @option params [required, String] :tier
632
+ # The tier for this resiliency policy, ranging from the highest severity
633
+ # (`MissionCritical`) to lowest (`NonCritical`).
634
+ #
635
+ # @return [Types::CreateResiliencyPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
636
+ #
637
+ # * {Types::CreateResiliencyPolicyResponse#policy #policy} => Types::ResiliencyPolicy
638
+ #
639
+ # @example Request syntax with placeholder values
640
+ #
641
+ # resp = client.create_resiliency_policy({
642
+ # client_token: "ClientToken",
643
+ # data_location_constraint: "AnyLocation", # accepts AnyLocation, SameContinent, SameCountry
644
+ # policy: { # required
645
+ # "Software" => {
646
+ # rpo_in_secs: 1, # required
647
+ # rto_in_secs: 1, # required
648
+ # },
649
+ # },
650
+ # policy_description: "EntityDescription",
651
+ # policy_name: "EntityName", # required
652
+ # tags: {
653
+ # "TagKey" => "TagValue",
654
+ # },
655
+ # tier: "MissionCritical", # required, accepts MissionCritical, Critical, Important, CoreServices, NonCritical
656
+ # })
657
+ #
658
+ # @example Response structure
659
+ #
660
+ # resp.policy.creation_time #=> Time
661
+ # resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
662
+ # resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
663
+ # resp.policy.policy #=> Hash
664
+ # resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
665
+ # resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
666
+ # resp.policy.policy_arn #=> String
667
+ # resp.policy.policy_description #=> String
668
+ # resp.policy.policy_name #=> String
669
+ # resp.policy.tags #=> Hash
670
+ # resp.policy.tags["TagKey"] #=> String
671
+ # resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
672
+ #
673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/CreateResiliencyPolicy AWS API Documentation
674
+ #
675
+ # @overload create_resiliency_policy(params = {})
676
+ # @param [Hash] params ({})
677
+ def create_resiliency_policy(params = {}, options = {})
678
+ req = build_request(:create_resiliency_policy, params)
679
+ req.send_request(options)
680
+ end
681
+
682
+ # Deletes an AWS Resilience Hub application. This is a destructive
683
+ # action that can't be undone.
684
+ #
685
+ # @option params [required, String] :app_arn
686
+ # The Amazon Resource Name (ARN) of the application. The format for this
687
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
688
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
689
+ # the *AWS General Reference*.
690
+ #
691
+ #
692
+ #
693
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
694
+ #
695
+ # @option params [String] :client_token
696
+ # Used for an idempotency token. A client token is a unique,
697
+ # case-sensitive string of up to 64 ASCII characters. You should not
698
+ # reuse the same client token for other API requests.
699
+ #
700
+ # **A suitable default value is auto-generated.** You should normally
701
+ # not need to pass this option.**
702
+ #
703
+ # @option params [Boolean] :force_delete
704
+ # A boolean option to force the deletion of a Resilience Hub
705
+ # application.
706
+ #
707
+ # @return [Types::DeleteAppResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
708
+ #
709
+ # * {Types::DeleteAppResponse#app_arn #app_arn} => String
710
+ #
711
+ # @example Request syntax with placeholder values
712
+ #
713
+ # resp = client.delete_app({
714
+ # app_arn: "Arn", # required
715
+ # client_token: "ClientToken",
716
+ # force_delete: false,
717
+ # })
718
+ #
719
+ # @example Response structure
720
+ #
721
+ # resp.app_arn #=> String
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DeleteApp AWS API Documentation
724
+ #
725
+ # @overload delete_app(params = {})
726
+ # @param [Hash] params ({})
727
+ def delete_app(params = {}, options = {})
728
+ req = build_request(:delete_app, params)
729
+ req.send_request(options)
730
+ end
731
+
732
+ # Deletes an AWS Resilience Hub application assessment. This is a
733
+ # destructive action that can't be undone.
734
+ #
735
+ # @option params [required, String] :assessment_arn
736
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
737
+ # ARN is:
738
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
739
+ # For more information about ARNs, see [ Amazon Resource Names
740
+ # (ARNs)][1] in the *AWS General Reference*.
741
+ #
742
+ #
743
+ #
744
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
745
+ #
746
+ # @option params [String] :client_token
747
+ # Used for an idempotency token. A client token is a unique,
748
+ # case-sensitive string of up to 64 ASCII characters. You should not
749
+ # reuse the same client token for other API requests.
750
+ #
751
+ # **A suitable default value is auto-generated.** You should normally
752
+ # not need to pass this option.**
753
+ #
754
+ # @return [Types::DeleteAppAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::DeleteAppAssessmentResponse#assessment_arn #assessment_arn} => String
757
+ # * {Types::DeleteAppAssessmentResponse#assessment_status #assessment_status} => String
758
+ #
759
+ # @example Request syntax with placeholder values
760
+ #
761
+ # resp = client.delete_app_assessment({
762
+ # assessment_arn: "Arn", # required
763
+ # client_token: "ClientToken",
764
+ # })
765
+ #
766
+ # @example Response structure
767
+ #
768
+ # resp.assessment_arn #=> String
769
+ # resp.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
770
+ #
771
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DeleteAppAssessment AWS API Documentation
772
+ #
773
+ # @overload delete_app_assessment(params = {})
774
+ # @param [Hash] params ({})
775
+ def delete_app_assessment(params = {}, options = {})
776
+ req = build_request(:delete_app_assessment, params)
777
+ req.send_request(options)
778
+ end
779
+
780
+ # Deletes a recommendation template. This is a destructive action that
781
+ # can't be undone.
782
+ #
783
+ # @option params [String] :client_token
784
+ # Used for an idempotency token. A client token is a unique,
785
+ # case-sensitive string of up to 64 ASCII characters. You should not
786
+ # reuse the same client token for other API requests.
787
+ #
788
+ # **A suitable default value is auto-generated.** You should normally
789
+ # not need to pass this option.**
790
+ #
791
+ # @option params [required, String] :recommendation_template_arn
792
+ # The Amazon Resource Name (ARN) for a recommendation template.
793
+ #
794
+ # @return [Types::DeleteRecommendationTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
+ #
796
+ # * {Types::DeleteRecommendationTemplateResponse#recommendation_template_arn #recommendation_template_arn} => String
797
+ # * {Types::DeleteRecommendationTemplateResponse#status #status} => String
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ #
801
+ # resp = client.delete_recommendation_template({
802
+ # client_token: "ClientToken",
803
+ # recommendation_template_arn: "Arn", # required
804
+ # })
805
+ #
806
+ # @example Response structure
807
+ #
808
+ # resp.recommendation_template_arn #=> String
809
+ # resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
810
+ #
811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DeleteRecommendationTemplate AWS API Documentation
812
+ #
813
+ # @overload delete_recommendation_template(params = {})
814
+ # @param [Hash] params ({})
815
+ def delete_recommendation_template(params = {}, options = {})
816
+ req = build_request(:delete_recommendation_template, params)
817
+ req.send_request(options)
818
+ end
819
+
820
+ # Deletes a resiliency policy. This is a destructive action that can't
821
+ # be undone.
822
+ #
823
+ # @option params [String] :client_token
824
+ # Used for an idempotency token. A client token is a unique,
825
+ # case-sensitive string of up to 64 ASCII characters. You should not
826
+ # reuse the same client token for other API requests.
827
+ #
828
+ # **A suitable default value is auto-generated.** You should normally
829
+ # not need to pass this option.**
830
+ #
831
+ # @option params [required, String] :policy_arn
832
+ # The Amazon Resource Name (ARN) of the resiliency policy. The format
833
+ # for this ARN is:
834
+ # arn:`partition`\:dcps:`region`\:`account`\:resiliency-policy/`policy-id`.
835
+ # For more information about ARNs, see [ Amazon Resource Names
836
+ # (ARNs)][1] in the *AWS General Reference*.
837
+ #
838
+ #
839
+ #
840
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
841
+ #
842
+ # @return [Types::DeleteResiliencyPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
843
+ #
844
+ # * {Types::DeleteResiliencyPolicyResponse#policy_arn #policy_arn} => String
845
+ #
846
+ # @example Request syntax with placeholder values
847
+ #
848
+ # resp = client.delete_resiliency_policy({
849
+ # client_token: "ClientToken",
850
+ # policy_arn: "Arn", # required
851
+ # })
852
+ #
853
+ # @example Response structure
854
+ #
855
+ # resp.policy_arn #=> String
856
+ #
857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DeleteResiliencyPolicy AWS API Documentation
858
+ #
859
+ # @overload delete_resiliency_policy(params = {})
860
+ # @param [Hash] params ({})
861
+ def delete_resiliency_policy(params = {}, options = {})
862
+ req = build_request(:delete_resiliency_policy, params)
863
+ req.send_request(options)
864
+ end
865
+
866
+ # Describes an AWS Resilience Hub application.
867
+ #
868
+ # @option params [required, String] :app_arn
869
+ # The Amazon Resource Name (ARN) of the application. The format for this
870
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
871
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
872
+ # the *AWS General Reference*.
873
+ #
874
+ #
875
+ #
876
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
877
+ #
878
+ # @return [Types::DescribeAppResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
879
+ #
880
+ # * {Types::DescribeAppResponse#app #app} => Types::App
881
+ #
882
+ # @example Request syntax with placeholder values
883
+ #
884
+ # resp = client.describe_app({
885
+ # app_arn: "Arn", # required
886
+ # })
887
+ #
888
+ # @example Response structure
889
+ #
890
+ # resp.app.app_arn #=> String
891
+ # resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
892
+ # resp.app.creation_time #=> Time
893
+ # resp.app.description #=> String
894
+ # resp.app.last_app_compliance_evaluation_time #=> Time
895
+ # resp.app.last_resiliency_score_evaluation_time #=> Time
896
+ # resp.app.name #=> String
897
+ # resp.app.policy_arn #=> String
898
+ # resp.app.resiliency_score #=> Float
899
+ # resp.app.status #=> String, one of "Active", "Deleting"
900
+ # resp.app.tags #=> Hash
901
+ # resp.app.tags["TagKey"] #=> String
902
+ #
903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeApp AWS API Documentation
904
+ #
905
+ # @overload describe_app(params = {})
906
+ # @param [Hash] params ({})
907
+ def describe_app(params = {}, options = {})
908
+ req = build_request(:describe_app, params)
909
+ req.send_request(options)
910
+ end
911
+
912
+ # Describes an assessment for an AWS Resilience Hub application.
913
+ #
914
+ # @option params [required, String] :assessment_arn
915
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
916
+ # ARN is:
917
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
918
+ # For more information about ARNs, see [ Amazon Resource Names
919
+ # (ARNs)][1] in the *AWS General Reference*.
920
+ #
921
+ #
922
+ #
923
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
924
+ #
925
+ # @return [Types::DescribeAppAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
926
+ #
927
+ # * {Types::DescribeAppAssessmentResponse#assessment #assessment} => Types::AppAssessment
928
+ #
929
+ # @example Request syntax with placeholder values
930
+ #
931
+ # resp = client.describe_app_assessment({
932
+ # assessment_arn: "Arn", # required
933
+ # })
934
+ #
935
+ # @example Response structure
936
+ #
937
+ # resp.assessment.app_arn #=> String
938
+ # resp.assessment.app_version #=> String
939
+ # resp.assessment.assessment_arn #=> String
940
+ # resp.assessment.assessment_name #=> String
941
+ # resp.assessment.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
942
+ # resp.assessment.compliance #=> Hash
943
+ # resp.assessment.compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
944
+ # resp.assessment.compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
945
+ # resp.assessment.compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
946
+ # resp.assessment.compliance["DisruptionType"].current_rpo_in_secs #=> Integer
947
+ # resp.assessment.compliance["DisruptionType"].current_rto_in_secs #=> Integer
948
+ # resp.assessment.compliance["DisruptionType"].message #=> String
949
+ # resp.assessment.compliance["DisruptionType"].rpo_description #=> String
950
+ # resp.assessment.compliance["DisruptionType"].rpo_reference_id #=> String
951
+ # resp.assessment.compliance["DisruptionType"].rto_description #=> String
952
+ # resp.assessment.compliance["DisruptionType"].rto_reference_id #=> String
953
+ # resp.assessment.compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
954
+ # resp.assessment.cost.amount #=> Float
955
+ # resp.assessment.cost.currency #=> String
956
+ # resp.assessment.cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
957
+ # resp.assessment.end_time #=> Time
958
+ # resp.assessment.invoker #=> String, one of "User", "System"
959
+ # resp.assessment.message #=> String
960
+ # resp.assessment.policy.creation_time #=> Time
961
+ # resp.assessment.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
962
+ # resp.assessment.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
963
+ # resp.assessment.policy.policy #=> Hash
964
+ # resp.assessment.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
965
+ # resp.assessment.policy.policy["DisruptionType"].rto_in_secs #=> Integer
966
+ # resp.assessment.policy.policy_arn #=> String
967
+ # resp.assessment.policy.policy_description #=> String
968
+ # resp.assessment.policy.policy_name #=> String
969
+ # resp.assessment.policy.tags #=> Hash
970
+ # resp.assessment.policy.tags["TagKey"] #=> String
971
+ # resp.assessment.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
972
+ # resp.assessment.resiliency_score.disruption_score #=> Hash
973
+ # resp.assessment.resiliency_score.disruption_score["DisruptionType"] #=> Float
974
+ # resp.assessment.resiliency_score.score #=> Float
975
+ # resp.assessment.start_time #=> Time
976
+ # resp.assessment.tags #=> Hash
977
+ # resp.assessment.tags["TagKey"] #=> String
978
+ #
979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeAppAssessment AWS API Documentation
980
+ #
981
+ # @overload describe_app_assessment(params = {})
982
+ # @param [Hash] params ({})
983
+ def describe_app_assessment(params = {}, options = {})
984
+ req = build_request(:describe_app_assessment, params)
985
+ req.send_request(options)
986
+ end
987
+
988
+ # Returns the resolution status for the specified resolution identifier
989
+ # for an application version. If `resolutionId` is not specified, the
990
+ # current resolution status is returned.
991
+ #
992
+ # @option params [required, String] :app_arn
993
+ # The Amazon Resource Name (ARN) of the application. The format for this
994
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
995
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
996
+ # the *AWS General Reference*.
997
+ #
998
+ #
999
+ #
1000
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1001
+ #
1002
+ # @option params [required, String] :app_version
1003
+ # The version of the application.
1004
+ #
1005
+ # @option params [String] :resolution_id
1006
+ # The identifier for a specific resolution.
1007
+ #
1008
+ # @return [Types::DescribeAppVersionResourcesResolutionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1009
+ #
1010
+ # * {Types::DescribeAppVersionResourcesResolutionStatusResponse#app_arn #app_arn} => String
1011
+ # * {Types::DescribeAppVersionResourcesResolutionStatusResponse#app_version #app_version} => String
1012
+ # * {Types::DescribeAppVersionResourcesResolutionStatusResponse#error_message #error_message} => String
1013
+ # * {Types::DescribeAppVersionResourcesResolutionStatusResponse#resolution_id #resolution_id} => String
1014
+ # * {Types::DescribeAppVersionResourcesResolutionStatusResponse#status #status} => String
1015
+ #
1016
+ # @example Request syntax with placeholder values
1017
+ #
1018
+ # resp = client.describe_app_version_resources_resolution_status({
1019
+ # app_arn: "Arn", # required
1020
+ # app_version: "EntityVersion", # required
1021
+ # resolution_id: "String255",
1022
+ # })
1023
+ #
1024
+ # @example Response structure
1025
+ #
1026
+ # resp.app_arn #=> String
1027
+ # resp.app_version #=> String
1028
+ # resp.error_message #=> String
1029
+ # resp.resolution_id #=> String
1030
+ # resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
1031
+ #
1032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeAppVersionResourcesResolutionStatus AWS API Documentation
1033
+ #
1034
+ # @overload describe_app_version_resources_resolution_status(params = {})
1035
+ # @param [Hash] params ({})
1036
+ def describe_app_version_resources_resolution_status(params = {}, options = {})
1037
+ req = build_request(:describe_app_version_resources_resolution_status, params)
1038
+ req.send_request(options)
1039
+ end
1040
+
1041
+ # Describes details about an AWS Resilience Hub
1042
+ #
1043
+ # @option params [required, String] :app_arn
1044
+ # The Amazon Resource Name (ARN) of the application. The format for this
1045
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1046
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1047
+ # the *AWS General Reference*.
1048
+ #
1049
+ #
1050
+ #
1051
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1052
+ #
1053
+ # @option params [required, String] :app_version
1054
+ # The version of the application.
1055
+ #
1056
+ # @return [Types::DescribeAppVersionTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1057
+ #
1058
+ # * {Types::DescribeAppVersionTemplateResponse#app_arn #app_arn} => String
1059
+ # * {Types::DescribeAppVersionTemplateResponse#app_template_body #app_template_body} => String
1060
+ # * {Types::DescribeAppVersionTemplateResponse#app_version #app_version} => String
1061
+ #
1062
+ # @example Request syntax with placeholder values
1063
+ #
1064
+ # resp = client.describe_app_version_template({
1065
+ # app_arn: "Arn", # required
1066
+ # app_version: "EntityVersion", # required
1067
+ # })
1068
+ #
1069
+ # @example Response structure
1070
+ #
1071
+ # resp.app_arn #=> String
1072
+ # resp.app_template_body #=> String
1073
+ # resp.app_version #=> String
1074
+ #
1075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeAppVersionTemplate AWS API Documentation
1076
+ #
1077
+ # @overload describe_app_version_template(params = {})
1078
+ # @param [Hash] params ({})
1079
+ def describe_app_version_template(params = {}, options = {})
1080
+ req = build_request(:describe_app_version_template, params)
1081
+ req.send_request(options)
1082
+ end
1083
+
1084
+ # Describes the status of importing resources to an application version.
1085
+ #
1086
+ # @option params [required, String] :app_arn
1087
+ # The Amazon Resource Name (ARN) of the application. The format for this
1088
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1089
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1090
+ # the *AWS General Reference*.
1091
+ #
1092
+ #
1093
+ #
1094
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1095
+ #
1096
+ # @return [Types::DescribeDraftAppVersionResourcesImportStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1097
+ #
1098
+ # * {Types::DescribeDraftAppVersionResourcesImportStatusResponse#app_arn #app_arn} => String
1099
+ # * {Types::DescribeDraftAppVersionResourcesImportStatusResponse#app_version #app_version} => String
1100
+ # * {Types::DescribeDraftAppVersionResourcesImportStatusResponse#error_message #error_message} => String
1101
+ # * {Types::DescribeDraftAppVersionResourcesImportStatusResponse#status #status} => String
1102
+ # * {Types::DescribeDraftAppVersionResourcesImportStatusResponse#status_change_time #status_change_time} => Time
1103
+ #
1104
+ # @example Request syntax with placeholder values
1105
+ #
1106
+ # resp = client.describe_draft_app_version_resources_import_status({
1107
+ # app_arn: "Arn", # required
1108
+ # })
1109
+ #
1110
+ # @example Response structure
1111
+ #
1112
+ # resp.app_arn #=> String
1113
+ # resp.app_version #=> String
1114
+ # resp.error_message #=> String
1115
+ # resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
1116
+ # resp.status_change_time #=> Time
1117
+ #
1118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeDraftAppVersionResourcesImportStatus AWS API Documentation
1119
+ #
1120
+ # @overload describe_draft_app_version_resources_import_status(params = {})
1121
+ # @param [Hash] params ({})
1122
+ def describe_draft_app_version_resources_import_status(params = {}, options = {})
1123
+ req = build_request(:describe_draft_app_version_resources_import_status, params)
1124
+ req.send_request(options)
1125
+ end
1126
+
1127
+ # Describes a specified resiliency policy for an AWS Resilience Hub
1128
+ # application. The returned policy object includes creation time, data
1129
+ # location constraints, the Amazon Resource Name (ARN) for the policy,
1130
+ # tags, tier, and more.
1131
+ #
1132
+ # @option params [required, String] :policy_arn
1133
+ # The Amazon Resource Name (ARN) of the resiliency policy. The format
1134
+ # for this ARN is:
1135
+ # arn:`partition`\:dcps:`region`\:`account`\:resiliency-policy/`policy-id`.
1136
+ # For more information about ARNs, see [ Amazon Resource Names
1137
+ # (ARNs)][1] in the *AWS General Reference*.
1138
+ #
1139
+ #
1140
+ #
1141
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1142
+ #
1143
+ # @return [Types::DescribeResiliencyPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1144
+ #
1145
+ # * {Types::DescribeResiliencyPolicyResponse#policy #policy} => Types::ResiliencyPolicy
1146
+ #
1147
+ # @example Request syntax with placeholder values
1148
+ #
1149
+ # resp = client.describe_resiliency_policy({
1150
+ # policy_arn: "Arn", # required
1151
+ # })
1152
+ #
1153
+ # @example Response structure
1154
+ #
1155
+ # resp.policy.creation_time #=> Time
1156
+ # resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
1157
+ # resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
1158
+ # resp.policy.policy #=> Hash
1159
+ # resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
1160
+ # resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
1161
+ # resp.policy.policy_arn #=> String
1162
+ # resp.policy.policy_description #=> String
1163
+ # resp.policy.policy_name #=> String
1164
+ # resp.policy.tags #=> Hash
1165
+ # resp.policy.tags["TagKey"] #=> String
1166
+ # resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
1167
+ #
1168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/DescribeResiliencyPolicy AWS API Documentation
1169
+ #
1170
+ # @overload describe_resiliency_policy(params = {})
1171
+ # @param [Hash] params ({})
1172
+ def describe_resiliency_policy(params = {}, options = {})
1173
+ req = build_request(:describe_resiliency_policy, params)
1174
+ req.send_request(options)
1175
+ end
1176
+
1177
+ # Imports resources from sources such as a CloudFormation stack,
1178
+ # resource-groups, or application registry app to a draft application
1179
+ # version.
1180
+ #
1181
+ # @option params [required, String] :app_arn
1182
+ # The Amazon Resource Name (ARN) of the application. The format for this
1183
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1184
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1185
+ # the *AWS General Reference*.
1186
+ #
1187
+ #
1188
+ #
1189
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1190
+ #
1191
+ # @option params [required, Array<String>] :source_arns
1192
+ # The Amazon Resource Names (ARNs) for the resources that you want to
1193
+ # import.
1194
+ #
1195
+ # @return [Types::ImportResourcesToDraftAppVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1196
+ #
1197
+ # * {Types::ImportResourcesToDraftAppVersionResponse#app_arn #app_arn} => String
1198
+ # * {Types::ImportResourcesToDraftAppVersionResponse#app_version #app_version} => String
1199
+ # * {Types::ImportResourcesToDraftAppVersionResponse#source_arns #source_arns} => Array&lt;String&gt;
1200
+ # * {Types::ImportResourcesToDraftAppVersionResponse#status #status} => String
1201
+ #
1202
+ # @example Request syntax with placeholder values
1203
+ #
1204
+ # resp = client.import_resources_to_draft_app_version({
1205
+ # app_arn: "Arn", # required
1206
+ # source_arns: ["Arn"], # required
1207
+ # })
1208
+ #
1209
+ # @example Response structure
1210
+ #
1211
+ # resp.app_arn #=> String
1212
+ # resp.app_version #=> String
1213
+ # resp.source_arns #=> Array
1214
+ # resp.source_arns[0] #=> String
1215
+ # resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
1216
+ #
1217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ImportResourcesToDraftAppVersion AWS API Documentation
1218
+ #
1219
+ # @overload import_resources_to_draft_app_version(params = {})
1220
+ # @param [Hash] params ({})
1221
+ def import_resources_to_draft_app_version(params = {}, options = {})
1222
+ req = build_request(:import_resources_to_draft_app_version, params)
1223
+ req.send_request(options)
1224
+ end
1225
+
1226
+ # Lists the alarm recommendations for a AWS Resilience Hub application.
1227
+ #
1228
+ # @option params [required, String] :assessment_arn
1229
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
1230
+ # ARN is:
1231
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
1232
+ # For more information about ARNs, see [ Amazon Resource Names
1233
+ # (ARNs)][1] in the *AWS General Reference*.
1234
+ #
1235
+ #
1236
+ #
1237
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1238
+ #
1239
+ # @option params [Integer] :max_results
1240
+ # The maximum number of results to include in the response. If more
1241
+ # results exist than the specified `MaxResults` value, a token is
1242
+ # included in the response so that the remaining results can be
1243
+ # retrieved.
1244
+ #
1245
+ # @option params [String] :next_token
1246
+ # Null, or the token from a previous call to get the next set of
1247
+ # results.
1248
+ #
1249
+ # @return [Types::ListAlarmRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1250
+ #
1251
+ # * {Types::ListAlarmRecommendationsResponse#alarm_recommendations #alarm_recommendations} => Array&lt;Types::AlarmRecommendation&gt;
1252
+ # * {Types::ListAlarmRecommendationsResponse#next_token #next_token} => String
1253
+ #
1254
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1255
+ #
1256
+ # @example Request syntax with placeholder values
1257
+ #
1258
+ # resp = client.list_alarm_recommendations({
1259
+ # assessment_arn: "Arn", # required
1260
+ # max_results: 1,
1261
+ # next_token: "NextToken",
1262
+ # })
1263
+ #
1264
+ # @example Response structure
1265
+ #
1266
+ # resp.alarm_recommendations #=> Array
1267
+ # resp.alarm_recommendations[0].app_component_name #=> String
1268
+ # resp.alarm_recommendations[0].description #=> String
1269
+ # resp.alarm_recommendations[0].items #=> Array
1270
+ # resp.alarm_recommendations[0].items[0].already_implemented #=> Boolean
1271
+ # resp.alarm_recommendations[0].items[0].resource_id #=> String
1272
+ # resp.alarm_recommendations[0].items[0].target_account_id #=> String
1273
+ # resp.alarm_recommendations[0].items[0].target_region #=> String
1274
+ # resp.alarm_recommendations[0].name #=> String
1275
+ # resp.alarm_recommendations[0].prerequisite #=> String
1276
+ # resp.alarm_recommendations[0].recommendation_id #=> String
1277
+ # resp.alarm_recommendations[0].reference_id #=> String
1278
+ # resp.alarm_recommendations[0].type #=> String, one of "Metric", "Composite", "Canary", "Logs", "Event"
1279
+ # resp.next_token #=> String
1280
+ #
1281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAlarmRecommendations AWS API Documentation
1282
+ #
1283
+ # @overload list_alarm_recommendations(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def list_alarm_recommendations(params = {}, options = {})
1286
+ req = build_request(:list_alarm_recommendations, params)
1287
+ req.send_request(options)
1288
+ end
1289
+
1290
+ # Lists the assessments for an AWS Resilience Hub application. You can
1291
+ # use request parameters to refine the results for the response object.
1292
+ #
1293
+ # @option params [String] :app_arn
1294
+ # The Amazon Resource Name (ARN) of the application. The format for this
1295
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1296
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1297
+ # the *AWS General Reference*.
1298
+ #
1299
+ #
1300
+ #
1301
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1302
+ #
1303
+ # @option params [String] :assessment_name
1304
+ # The name for the assessment.
1305
+ #
1306
+ # @option params [Array<String>] :assessment_status
1307
+ # The current status of the assessment for the resiliency policy.
1308
+ #
1309
+ # @option params [String] :compliance_status
1310
+ # The current status of compliance for the resiliency policy.
1311
+ #
1312
+ # @option params [String] :invoker
1313
+ # Specifies the entity that invoked a specific assessment, either a
1314
+ # `User` or the `System`.
1315
+ #
1316
+ # @option params [Integer] :max_results
1317
+ # The maximum number of results to include in the response. If more
1318
+ # results exist than the specified `MaxResults` value, a token is
1319
+ # included in the response so that the remaining results can be
1320
+ # retrieved.
1321
+ #
1322
+ # @option params [String] :next_token
1323
+ # Null, or the token from a previous call to get the next set of
1324
+ # results.
1325
+ #
1326
+ # @option params [Boolean] :reverse_order
1327
+ # The default is to sort by ascending **startTime**. To sort by
1328
+ # descending **startTime**, set reverseOrder to `true`.
1329
+ #
1330
+ # @return [Types::ListAppAssessmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1331
+ #
1332
+ # * {Types::ListAppAssessmentsResponse#assessment_summaries #assessment_summaries} => Array&lt;Types::AppAssessmentSummary&gt;
1333
+ # * {Types::ListAppAssessmentsResponse#next_token #next_token} => String
1334
+ #
1335
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1336
+ #
1337
+ # @example Request syntax with placeholder values
1338
+ #
1339
+ # resp = client.list_app_assessments({
1340
+ # app_arn: "Arn",
1341
+ # assessment_name: "EntityName",
1342
+ # assessment_status: ["Pending"], # accepts Pending, InProgress, Failed, Success
1343
+ # compliance_status: "PolicyBreached", # accepts PolicyBreached, PolicyMet
1344
+ # invoker: "User", # accepts User, System
1345
+ # max_results: 1,
1346
+ # next_token: "NextToken",
1347
+ # reverse_order: false,
1348
+ # })
1349
+ #
1350
+ # @example Response structure
1351
+ #
1352
+ # resp.assessment_summaries #=> Array
1353
+ # resp.assessment_summaries[0].app_arn #=> String
1354
+ # resp.assessment_summaries[0].app_version #=> String
1355
+ # resp.assessment_summaries[0].assessment_arn #=> String
1356
+ # resp.assessment_summaries[0].assessment_name #=> String
1357
+ # resp.assessment_summaries[0].assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
1358
+ # resp.assessment_summaries[0].compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
1359
+ # resp.assessment_summaries[0].cost.amount #=> Float
1360
+ # resp.assessment_summaries[0].cost.currency #=> String
1361
+ # resp.assessment_summaries[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
1362
+ # resp.assessment_summaries[0].end_time #=> Time
1363
+ # resp.assessment_summaries[0].invoker #=> String, one of "User", "System"
1364
+ # resp.assessment_summaries[0].message #=> String
1365
+ # resp.assessment_summaries[0].resiliency_score #=> Float
1366
+ # resp.assessment_summaries[0].start_time #=> Time
1367
+ # resp.next_token #=> String
1368
+ #
1369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppAssessments AWS API Documentation
1370
+ #
1371
+ # @overload list_app_assessments(params = {})
1372
+ # @param [Hash] params ({})
1373
+ def list_app_assessments(params = {}, options = {})
1374
+ req = build_request(:list_app_assessments, params)
1375
+ req.send_request(options)
1376
+ end
1377
+
1378
+ # Lists the compliances for an AWS Resilience Hub component.
1379
+ #
1380
+ # @option params [required, String] :assessment_arn
1381
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
1382
+ # ARN is:
1383
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
1384
+ # For more information about ARNs, see [ Amazon Resource Names
1385
+ # (ARNs)][1] in the *AWS General Reference*.
1386
+ #
1387
+ #
1388
+ #
1389
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1390
+ #
1391
+ # @option params [Integer] :max_results
1392
+ # The maximum number of results to include in the response. If more
1393
+ # results exist than the specified `MaxResults` value, a token is
1394
+ # included in the response so that the remaining results can be
1395
+ # retrieved.
1396
+ #
1397
+ # @option params [String] :next_token
1398
+ # Null, or the token from a previous call to get the next set of
1399
+ # results.
1400
+ #
1401
+ # @return [Types::ListAppComponentCompliancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1402
+ #
1403
+ # * {Types::ListAppComponentCompliancesResponse#component_compliances #component_compliances} => Array&lt;Types::AppComponentCompliance&gt;
1404
+ # * {Types::ListAppComponentCompliancesResponse#next_token #next_token} => String
1405
+ #
1406
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1407
+ #
1408
+ # @example Request syntax with placeholder values
1409
+ #
1410
+ # resp = client.list_app_component_compliances({
1411
+ # assessment_arn: "Arn", # required
1412
+ # max_results: 1,
1413
+ # next_token: "NextToken",
1414
+ # })
1415
+ #
1416
+ # @example Response structure
1417
+ #
1418
+ # resp.component_compliances #=> Array
1419
+ # resp.component_compliances[0].app_component_name #=> String
1420
+ # resp.component_compliances[0].compliance #=> Hash
1421
+ # resp.component_compliances[0].compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
1422
+ # resp.component_compliances[0].compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
1423
+ # resp.component_compliances[0].compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
1424
+ # resp.component_compliances[0].compliance["DisruptionType"].current_rpo_in_secs #=> Integer
1425
+ # resp.component_compliances[0].compliance["DisruptionType"].current_rto_in_secs #=> Integer
1426
+ # resp.component_compliances[0].compliance["DisruptionType"].message #=> String
1427
+ # resp.component_compliances[0].compliance["DisruptionType"].rpo_description #=> String
1428
+ # resp.component_compliances[0].compliance["DisruptionType"].rpo_reference_id #=> String
1429
+ # resp.component_compliances[0].compliance["DisruptionType"].rto_description #=> String
1430
+ # resp.component_compliances[0].compliance["DisruptionType"].rto_reference_id #=> String
1431
+ # resp.component_compliances[0].cost.amount #=> Float
1432
+ # resp.component_compliances[0].cost.currency #=> String
1433
+ # resp.component_compliances[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
1434
+ # resp.component_compliances[0].message #=> String
1435
+ # resp.component_compliances[0].resiliency_score.disruption_score #=> Hash
1436
+ # resp.component_compliances[0].resiliency_score.disruption_score["DisruptionType"] #=> Float
1437
+ # resp.component_compliances[0].resiliency_score.score #=> Float
1438
+ # resp.component_compliances[0].status #=> String, one of "PolicyBreached", "PolicyMet"
1439
+ # resp.next_token #=> String
1440
+ #
1441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppComponentCompliances AWS API Documentation
1442
+ #
1443
+ # @overload list_app_component_compliances(params = {})
1444
+ # @param [Hash] params ({})
1445
+ def list_app_component_compliances(params = {}, options = {})
1446
+ req = build_request(:list_app_component_compliances, params)
1447
+ req.send_request(options)
1448
+ end
1449
+
1450
+ # Lists the recommendations for an AWS Resilience Hub component.
1451
+ #
1452
+ # @option params [required, String] :assessment_arn
1453
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
1454
+ # ARN is:
1455
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
1456
+ # For more information about ARNs, see [ Amazon Resource Names
1457
+ # (ARNs)][1] in the *AWS General Reference*.
1458
+ #
1459
+ #
1460
+ #
1461
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1462
+ #
1463
+ # @option params [Integer] :max_results
1464
+ # The maximum number of results to include in the response. If more
1465
+ # results exist than the specified `MaxResults` value, a token is
1466
+ # included in the response so that the remaining results can be
1467
+ # retrieved.
1468
+ #
1469
+ # @option params [String] :next_token
1470
+ # Null, or the token from a previous call to get the next set of
1471
+ # results.
1472
+ #
1473
+ # @return [Types::ListAppComponentRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1474
+ #
1475
+ # * {Types::ListAppComponentRecommendationsResponse#component_recommendations #component_recommendations} => Array&lt;Types::ComponentRecommendation&gt;
1476
+ # * {Types::ListAppComponentRecommendationsResponse#next_token #next_token} => String
1477
+ #
1478
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1479
+ #
1480
+ # @example Request syntax with placeholder values
1481
+ #
1482
+ # resp = client.list_app_component_recommendations({
1483
+ # assessment_arn: "Arn", # required
1484
+ # max_results: 1,
1485
+ # next_token: "NextToken",
1486
+ # })
1487
+ #
1488
+ # @example Response structure
1489
+ #
1490
+ # resp.component_recommendations #=> Array
1491
+ # resp.component_recommendations[0].app_component_name #=> String
1492
+ # resp.component_recommendations[0].config_recommendations #=> Array
1493
+ # resp.component_recommendations[0].config_recommendations[0].app_component_name #=> String
1494
+ # resp.component_recommendations[0].config_recommendations[0].compliance #=> Hash
1495
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
1496
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
1497
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
1498
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].current_rpo_in_secs #=> Integer
1499
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].current_rto_in_secs #=> Integer
1500
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].message #=> String
1501
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rpo_description #=> String
1502
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rpo_reference_id #=> String
1503
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rto_description #=> String
1504
+ # resp.component_recommendations[0].config_recommendations[0].compliance["DisruptionType"].rto_reference_id #=> String
1505
+ # resp.component_recommendations[0].config_recommendations[0].cost.amount #=> Float
1506
+ # resp.component_recommendations[0].config_recommendations[0].cost.currency #=> String
1507
+ # resp.component_recommendations[0].config_recommendations[0].cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
1508
+ # resp.component_recommendations[0].config_recommendations[0].description #=> String
1509
+ # resp.component_recommendations[0].config_recommendations[0].ha_architecture #=> String, one of "MultiSite", "WarmStandby", "PilotLight", "BackupAndRestore", "NoRecoveryPlan"
1510
+ # resp.component_recommendations[0].config_recommendations[0].name #=> String
1511
+ # resp.component_recommendations[0].config_recommendations[0].optimization_type #=> String, one of "LeastCost", "LeastChange", "BestAZRecovery", "LeastErrors", "BestAttainable"
1512
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance #=> Hash
1513
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
1514
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rpo_description #=> String
1515
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rpo_in_secs #=> Integer
1516
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rto_description #=> String
1517
+ # resp.component_recommendations[0].config_recommendations[0].recommendation_compliance["DisruptionType"].expected_rto_in_secs #=> Integer
1518
+ # resp.component_recommendations[0].config_recommendations[0].reference_id #=> String
1519
+ # resp.component_recommendations[0].config_recommendations[0].suggested_changes #=> Array
1520
+ # resp.component_recommendations[0].config_recommendations[0].suggested_changes[0] #=> String
1521
+ # resp.component_recommendations[0].recommendation_status #=> String, one of "BreachedUnattainable", "BreachedCanMeet", "MetCanImprove"
1522
+ # resp.next_token #=> String
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppComponentRecommendations AWS API Documentation
1525
+ #
1526
+ # @overload list_app_component_recommendations(params = {})
1527
+ # @param [Hash] params ({})
1528
+ def list_app_component_recommendations(params = {}, options = {})
1529
+ req = build_request(:list_app_component_recommendations, params)
1530
+ req.send_request(options)
1531
+ end
1532
+
1533
+ # Lists how the resources in an application version are mapped/sourced
1534
+ # from. Mappings can be physical resource identifiers, CloudFormation
1535
+ # stacks, resource-groups, or an application registry app.
1536
+ #
1537
+ # @option params [required, String] :app_arn
1538
+ # The Amazon Resource Name (ARN) of the application. The format for this
1539
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1540
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1541
+ # the *AWS General Reference*.
1542
+ #
1543
+ #
1544
+ #
1545
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1546
+ #
1547
+ # @option params [required, String] :app_version
1548
+ # The version of the application.
1549
+ #
1550
+ # @option params [Integer] :max_results
1551
+ # The maximum number of results to include in the response. If more
1552
+ # results exist than the specified `MaxResults` value, a token is
1553
+ # included in the response so that the remaining results can be
1554
+ # retrieved.
1555
+ #
1556
+ # @option params [String] :next_token
1557
+ # Null, or the token from a previous call to get the next set of
1558
+ # results.
1559
+ #
1560
+ # @return [Types::ListAppVersionResourceMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1561
+ #
1562
+ # * {Types::ListAppVersionResourceMappingsResponse#next_token #next_token} => String
1563
+ # * {Types::ListAppVersionResourceMappingsResponse#resource_mappings #resource_mappings} => Array&lt;Types::ResourceMapping&gt;
1564
+ #
1565
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1566
+ #
1567
+ # @example Request syntax with placeholder values
1568
+ #
1569
+ # resp = client.list_app_version_resource_mappings({
1570
+ # app_arn: "Arn", # required
1571
+ # app_version: "EntityVersion", # required
1572
+ # max_results: 1,
1573
+ # next_token: "NextToken",
1574
+ # })
1575
+ #
1576
+ # @example Response structure
1577
+ #
1578
+ # resp.next_token #=> String
1579
+ # resp.resource_mappings #=> Array
1580
+ # resp.resource_mappings[0].app_registry_app_name #=> String
1581
+ # resp.resource_mappings[0].logical_stack_name #=> String
1582
+ # resp.resource_mappings[0].mapping_type #=> String, one of "CfnStack", "Resource", "AppRegistryApp", "ResourceGroup"
1583
+ # resp.resource_mappings[0].physical_resource_id.aws_account_id #=> String
1584
+ # resp.resource_mappings[0].physical_resource_id.aws_region #=> String
1585
+ # resp.resource_mappings[0].physical_resource_id.identifier #=> String
1586
+ # resp.resource_mappings[0].physical_resource_id.type #=> String, one of "Arn", "Native"
1587
+ # resp.resource_mappings[0].resource_group_name #=> String
1588
+ # resp.resource_mappings[0].resource_name #=> String
1589
+ #
1590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppVersionResourceMappings AWS API Documentation
1591
+ #
1592
+ # @overload list_app_version_resource_mappings(params = {})
1593
+ # @param [Hash] params ({})
1594
+ def list_app_version_resource_mappings(params = {}, options = {})
1595
+ req = build_request(:list_app_version_resource_mappings, params)
1596
+ req.send_request(options)
1597
+ end
1598
+
1599
+ # Lists all the resources in an application version.
1600
+ #
1601
+ # @option params [required, String] :app_arn
1602
+ # The Amazon Resource Name (ARN) of the application. The format for this
1603
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1604
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1605
+ # the *AWS General Reference*.
1606
+ #
1607
+ #
1608
+ #
1609
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1610
+ #
1611
+ # @option params [required, String] :app_version
1612
+ # The version of the application.
1613
+ #
1614
+ # @option params [Integer] :max_results
1615
+ # The maximum number of results to include in the response. If more
1616
+ # results exist than the specified `MaxResults` value, a token is
1617
+ # included in the response so that the remaining results can be
1618
+ # retrieved.
1619
+ #
1620
+ # @option params [String] :next_token
1621
+ # Null, or the token from a previous call to get the next set of
1622
+ # results.
1623
+ #
1624
+ # @option params [String] :resolution_id
1625
+ # The identifier for a specific resolution.
1626
+ #
1627
+ # @return [Types::ListAppVersionResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1628
+ #
1629
+ # * {Types::ListAppVersionResourcesResponse#next_token #next_token} => String
1630
+ # * {Types::ListAppVersionResourcesResponse#physical_resources #physical_resources} => Array&lt;Types::PhysicalResource&gt;
1631
+ # * {Types::ListAppVersionResourcesResponse#resolution_id #resolution_id} => String
1632
+ #
1633
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1634
+ #
1635
+ # @example Request syntax with placeholder values
1636
+ #
1637
+ # resp = client.list_app_version_resources({
1638
+ # app_arn: "Arn", # required
1639
+ # app_version: "EntityVersion", # required
1640
+ # max_results: 1,
1641
+ # next_token: "NextToken",
1642
+ # resolution_id: "String255",
1643
+ # })
1644
+ #
1645
+ # @example Response structure
1646
+ #
1647
+ # resp.next_token #=> String
1648
+ # resp.physical_resources #=> Array
1649
+ # resp.physical_resources[0].app_components #=> Array
1650
+ # resp.physical_resources[0].app_components[0].name #=> String
1651
+ # resp.physical_resources[0].app_components[0].type #=> String
1652
+ # resp.physical_resources[0].logical_resource_id.identifier #=> String
1653
+ # resp.physical_resources[0].logical_resource_id.logical_stack_name #=> String
1654
+ # resp.physical_resources[0].logical_resource_id.resource_group_name #=> String
1655
+ # resp.physical_resources[0].physical_resource_id.aws_account_id #=> String
1656
+ # resp.physical_resources[0].physical_resource_id.aws_region #=> String
1657
+ # resp.physical_resources[0].physical_resource_id.identifier #=> String
1658
+ # resp.physical_resources[0].physical_resource_id.type #=> String, one of "Arn", "Native"
1659
+ # resp.physical_resources[0].resource_name #=> String
1660
+ # resp.physical_resources[0].resource_type #=> String
1661
+ # resp.resolution_id #=> String
1662
+ #
1663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppVersionResources AWS API Documentation
1664
+ #
1665
+ # @overload list_app_version_resources(params = {})
1666
+ # @param [Hash] params ({})
1667
+ def list_app_version_resources(params = {}, options = {})
1668
+ req = build_request(:list_app_version_resources, params)
1669
+ req.send_request(options)
1670
+ end
1671
+
1672
+ # Lists the different versions for the Resilience Hub applications.
1673
+ #
1674
+ # @option params [required, String] :app_arn
1675
+ # The Amazon Resource Name (ARN) of the application. The format for this
1676
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1677
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1678
+ # the *AWS General Reference*.
1679
+ #
1680
+ #
1681
+ #
1682
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1683
+ #
1684
+ # @option params [Integer] :max_results
1685
+ # The maximum number of results to include in the response. If more
1686
+ # results exist than the specified `MaxResults` value, a token is
1687
+ # included in the response so that the remaining results can be
1688
+ # retrieved.
1689
+ #
1690
+ # @option params [String] :next_token
1691
+ # Null, or the token from a previous call to get the next set of
1692
+ # results.
1693
+ #
1694
+ # @return [Types::ListAppVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1695
+ #
1696
+ # * {Types::ListAppVersionsResponse#app_versions #app_versions} => Array&lt;Types::AppVersionSummary&gt;
1697
+ # * {Types::ListAppVersionsResponse#next_token #next_token} => String
1698
+ #
1699
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1700
+ #
1701
+ # @example Request syntax with placeholder values
1702
+ #
1703
+ # resp = client.list_app_versions({
1704
+ # app_arn: "Arn", # required
1705
+ # max_results: 1,
1706
+ # next_token: "NextToken",
1707
+ # })
1708
+ #
1709
+ # @example Response structure
1710
+ #
1711
+ # resp.app_versions #=> Array
1712
+ # resp.app_versions[0].app_version #=> String
1713
+ # resp.next_token #=> String
1714
+ #
1715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListAppVersions AWS API Documentation
1716
+ #
1717
+ # @overload list_app_versions(params = {})
1718
+ # @param [Hash] params ({})
1719
+ def list_app_versions(params = {}, options = {})
1720
+ req = build_request(:list_app_versions, params)
1721
+ req.send_request(options)
1722
+ end
1723
+
1724
+ # Lists your Resilience Hub applications.
1725
+ #
1726
+ # @option params [String] :app_arn
1727
+ # The Amazon Resource Name (ARN) of the application. The format for this
1728
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
1729
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
1730
+ # the *AWS General Reference*.
1731
+ #
1732
+ #
1733
+ #
1734
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1735
+ #
1736
+ # @option params [Integer] :max_results
1737
+ # The maximum number of results to include in the response. If more
1738
+ # results exist than the specified `MaxResults` value, a token is
1739
+ # included in the response so that the remaining results can be
1740
+ # retrieved.
1741
+ #
1742
+ # @option params [String] :name
1743
+ # The name for the one of the listed applications.
1744
+ #
1745
+ # @option params [String] :next_token
1746
+ # Null, or the token from a previous call to get the next set of
1747
+ # results.
1748
+ #
1749
+ # @return [Types::ListAppsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1750
+ #
1751
+ # * {Types::ListAppsResponse#app_summaries #app_summaries} => Array&lt;Types::AppSummary&gt;
1752
+ # * {Types::ListAppsResponse#next_token #next_token} => String
1753
+ #
1754
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1755
+ #
1756
+ # @example Request syntax with placeholder values
1757
+ #
1758
+ # resp = client.list_apps({
1759
+ # app_arn: "Arn",
1760
+ # max_results: 1,
1761
+ # name: "EntityName",
1762
+ # next_token: "NextToken",
1763
+ # })
1764
+ #
1765
+ # @example Response structure
1766
+ #
1767
+ # resp.app_summaries #=> Array
1768
+ # resp.app_summaries[0].app_arn #=> String
1769
+ # resp.app_summaries[0].compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
1770
+ # resp.app_summaries[0].creation_time #=> Time
1771
+ # resp.app_summaries[0].description #=> String
1772
+ # resp.app_summaries[0].name #=> String
1773
+ # resp.app_summaries[0].resiliency_score #=> Float
1774
+ # resp.next_token #=> String
1775
+ #
1776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListApps AWS API Documentation
1777
+ #
1778
+ # @overload list_apps(params = {})
1779
+ # @param [Hash] params ({})
1780
+ def list_apps(params = {}, options = {})
1781
+ req = build_request(:list_apps, params)
1782
+ req.send_request(options)
1783
+ end
1784
+
1785
+ # Lists the recommendation templates for the Resilience Hub
1786
+ # applications.
1787
+ #
1788
+ # @option params [required, String] :assessment_arn
1789
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
1790
+ # ARN is:
1791
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
1792
+ # For more information about ARNs, see [ Amazon Resource Names
1793
+ # (ARNs)][1] in the *AWS General Reference*.
1794
+ #
1795
+ #
1796
+ #
1797
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1798
+ #
1799
+ # @option params [Integer] :max_results
1800
+ # The maximum number of results to include in the response. If more
1801
+ # results exist than the specified `MaxResults` value, a token is
1802
+ # included in the response so that the remaining results can be
1803
+ # retrieved.
1804
+ #
1805
+ # @option params [String] :name
1806
+ # The name for one of the listed recommendation templates.
1807
+ #
1808
+ # @option params [String] :next_token
1809
+ # Null, or the token from a previous call to get the next set of
1810
+ # results.
1811
+ #
1812
+ # @option params [String] :recommendation_template_arn
1813
+ # The Amazon Resource Name (ARN) for a recommendation template.
1814
+ #
1815
+ # @option params [Boolean] :reverse_order
1816
+ # The default is to sort by ascending **startTime**. To sort by
1817
+ # descending **startTime**, set reverseOrder to `true`.
1818
+ #
1819
+ # @option params [Array<String>] :status
1820
+ # The status of the action.
1821
+ #
1822
+ # @return [Types::ListRecommendationTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1823
+ #
1824
+ # * {Types::ListRecommendationTemplatesResponse#next_token #next_token} => String
1825
+ # * {Types::ListRecommendationTemplatesResponse#recommendation_templates #recommendation_templates} => Array&lt;Types::RecommendationTemplate&gt;
1826
+ #
1827
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1828
+ #
1829
+ # @example Request syntax with placeholder values
1830
+ #
1831
+ # resp = client.list_recommendation_templates({
1832
+ # assessment_arn: "Arn", # required
1833
+ # max_results: 1,
1834
+ # name: "EntityName",
1835
+ # next_token: "NextToken",
1836
+ # recommendation_template_arn: "Arn",
1837
+ # reverse_order: false,
1838
+ # status: ["Pending"], # accepts Pending, InProgress, Failed, Success
1839
+ # })
1840
+ #
1841
+ # @example Response structure
1842
+ #
1843
+ # resp.next_token #=> String
1844
+ # resp.recommendation_templates #=> Array
1845
+ # resp.recommendation_templates[0].app_arn #=> String
1846
+ # resp.recommendation_templates[0].assessment_arn #=> String
1847
+ # resp.recommendation_templates[0].end_time #=> Time
1848
+ # resp.recommendation_templates[0].format #=> String, one of "CfnYaml", "CfnJson"
1849
+ # resp.recommendation_templates[0].message #=> String
1850
+ # resp.recommendation_templates[0].name #=> String
1851
+ # resp.recommendation_templates[0].needs_replacements #=> Boolean
1852
+ # resp.recommendation_templates[0].recommendation_ids #=> Array
1853
+ # resp.recommendation_templates[0].recommendation_ids[0] #=> String
1854
+ # resp.recommendation_templates[0].recommendation_template_arn #=> String
1855
+ # resp.recommendation_templates[0].recommendation_types #=> Array
1856
+ # resp.recommendation_templates[0].recommendation_types[0] #=> String, one of "Alarm", "Sop", "Test"
1857
+ # resp.recommendation_templates[0].start_time #=> Time
1858
+ # resp.recommendation_templates[0].status #=> String, one of "Pending", "InProgress", "Failed", "Success"
1859
+ # resp.recommendation_templates[0].tags #=> Hash
1860
+ # resp.recommendation_templates[0].tags["TagKey"] #=> String
1861
+ # resp.recommendation_templates[0].templates_location.bucket #=> String
1862
+ # resp.recommendation_templates[0].templates_location.prefix #=> String
1863
+ #
1864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListRecommendationTemplates AWS API Documentation
1865
+ #
1866
+ # @overload list_recommendation_templates(params = {})
1867
+ # @param [Hash] params ({})
1868
+ def list_recommendation_templates(params = {}, options = {})
1869
+ req = build_request(:list_recommendation_templates, params)
1870
+ req.send_request(options)
1871
+ end
1872
+
1873
+ # Lists the resiliency policies for the Resilience Hub applications.
1874
+ #
1875
+ # @option params [Integer] :max_results
1876
+ # The maximum number of results to include in the response. If more
1877
+ # results exist than the specified `MaxResults` value, a token is
1878
+ # included in the response so that the remaining results can be
1879
+ # retrieved.
1880
+ #
1881
+ # @option params [String] :next_token
1882
+ # Null, or the token from a previous call to get the next set of
1883
+ # results.
1884
+ #
1885
+ # @option params [String] :policy_name
1886
+ # The name of the policy
1887
+ #
1888
+ # @return [Types::ListResiliencyPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1889
+ #
1890
+ # * {Types::ListResiliencyPoliciesResponse#next_token #next_token} => String
1891
+ # * {Types::ListResiliencyPoliciesResponse#resiliency_policies #resiliency_policies} => Array&lt;Types::ResiliencyPolicy&gt;
1892
+ #
1893
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1894
+ #
1895
+ # @example Request syntax with placeholder values
1896
+ #
1897
+ # resp = client.list_resiliency_policies({
1898
+ # max_results: 1,
1899
+ # next_token: "NextToken",
1900
+ # policy_name: "EntityName",
1901
+ # })
1902
+ #
1903
+ # @example Response structure
1904
+ #
1905
+ # resp.next_token #=> String
1906
+ # resp.resiliency_policies #=> Array
1907
+ # resp.resiliency_policies[0].creation_time #=> Time
1908
+ # resp.resiliency_policies[0].data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
1909
+ # resp.resiliency_policies[0].estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
1910
+ # resp.resiliency_policies[0].policy #=> Hash
1911
+ # resp.resiliency_policies[0].policy["DisruptionType"].rpo_in_secs #=> Integer
1912
+ # resp.resiliency_policies[0].policy["DisruptionType"].rto_in_secs #=> Integer
1913
+ # resp.resiliency_policies[0].policy_arn #=> String
1914
+ # resp.resiliency_policies[0].policy_description #=> String
1915
+ # resp.resiliency_policies[0].policy_name #=> String
1916
+ # resp.resiliency_policies[0].tags #=> Hash
1917
+ # resp.resiliency_policies[0].tags["TagKey"] #=> String
1918
+ # resp.resiliency_policies[0].tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
1919
+ #
1920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListResiliencyPolicies AWS API Documentation
1921
+ #
1922
+ # @overload list_resiliency_policies(params = {})
1923
+ # @param [Hash] params ({})
1924
+ def list_resiliency_policies(params = {}, options = {})
1925
+ req = build_request(:list_resiliency_policies, params)
1926
+ req.send_request(options)
1927
+ end
1928
+
1929
+ # Lists the standard operating procedure (SOP) recommendations for the
1930
+ # Resilience Hub applications.
1931
+ #
1932
+ # @option params [required, String] :assessment_arn
1933
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
1934
+ # ARN is:
1935
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
1936
+ # For more information about ARNs, see [ Amazon Resource Names
1937
+ # (ARNs)][1] in the *AWS General Reference*.
1938
+ #
1939
+ #
1940
+ #
1941
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1942
+ #
1943
+ # @option params [Integer] :max_results
1944
+ # The maximum number of results to include in the response. If more
1945
+ # results exist than the specified `MaxResults` value, a token is
1946
+ # included in the response so that the remaining results can be
1947
+ # retrieved.
1948
+ #
1949
+ # @option params [String] :next_token
1950
+ # Null, or the token from a previous call to get the next set of
1951
+ # results.
1952
+ #
1953
+ # @return [Types::ListSopRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1954
+ #
1955
+ # * {Types::ListSopRecommendationsResponse#next_token #next_token} => String
1956
+ # * {Types::ListSopRecommendationsResponse#sop_recommendations #sop_recommendations} => Array&lt;Types::SopRecommendation&gt;
1957
+ #
1958
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1959
+ #
1960
+ # @example Request syntax with placeholder values
1961
+ #
1962
+ # resp = client.list_sop_recommendations({
1963
+ # assessment_arn: "Arn", # required
1964
+ # max_results: 1,
1965
+ # next_token: "NextToken",
1966
+ # })
1967
+ #
1968
+ # @example Response structure
1969
+ #
1970
+ # resp.next_token #=> String
1971
+ # resp.sop_recommendations #=> Array
1972
+ # resp.sop_recommendations[0].app_component_name #=> String
1973
+ # resp.sop_recommendations[0].description #=> String
1974
+ # resp.sop_recommendations[0].items #=> Array
1975
+ # resp.sop_recommendations[0].items[0].already_implemented #=> Boolean
1976
+ # resp.sop_recommendations[0].items[0].resource_id #=> String
1977
+ # resp.sop_recommendations[0].items[0].target_account_id #=> String
1978
+ # resp.sop_recommendations[0].items[0].target_region #=> String
1979
+ # resp.sop_recommendations[0].name #=> String
1980
+ # resp.sop_recommendations[0].prerequisite #=> String
1981
+ # resp.sop_recommendations[0].recommendation_id #=> String
1982
+ # resp.sop_recommendations[0].reference_id #=> String
1983
+ # resp.sop_recommendations[0].service_type #=> String, one of "SSM"
1984
+ #
1985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListSopRecommendations AWS API Documentation
1986
+ #
1987
+ # @overload list_sop_recommendations(params = {})
1988
+ # @param [Hash] params ({})
1989
+ def list_sop_recommendations(params = {}, options = {})
1990
+ req = build_request(:list_sop_recommendations, params)
1991
+ req.send_request(options)
1992
+ end
1993
+
1994
+ # Lists the suggested resiliency policies for the Resilience Hub
1995
+ # applications.
1996
+ #
1997
+ # @option params [Integer] :max_results
1998
+ # The maximum number of results to include in the response. If more
1999
+ # results exist than the specified `MaxResults` value, a token is
2000
+ # included in the response so that the remaining results can be
2001
+ # retrieved.
2002
+ #
2003
+ # @option params [String] :next_token
2004
+ # Null, or the token from a previous call to get the next set of
2005
+ # results.
2006
+ #
2007
+ # @return [Types::ListSuggestedResiliencyPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2008
+ #
2009
+ # * {Types::ListSuggestedResiliencyPoliciesResponse#next_token #next_token} => String
2010
+ # * {Types::ListSuggestedResiliencyPoliciesResponse#resiliency_policies #resiliency_policies} => Array&lt;Types::ResiliencyPolicy&gt;
2011
+ #
2012
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2013
+ #
2014
+ # @example Request syntax with placeholder values
2015
+ #
2016
+ # resp = client.list_suggested_resiliency_policies({
2017
+ # max_results: 1,
2018
+ # next_token: "NextToken",
2019
+ # })
2020
+ #
2021
+ # @example Response structure
2022
+ #
2023
+ # resp.next_token #=> String
2024
+ # resp.resiliency_policies #=> Array
2025
+ # resp.resiliency_policies[0].creation_time #=> Time
2026
+ # resp.resiliency_policies[0].data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
2027
+ # resp.resiliency_policies[0].estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
2028
+ # resp.resiliency_policies[0].policy #=> Hash
2029
+ # resp.resiliency_policies[0].policy["DisruptionType"].rpo_in_secs #=> Integer
2030
+ # resp.resiliency_policies[0].policy["DisruptionType"].rto_in_secs #=> Integer
2031
+ # resp.resiliency_policies[0].policy_arn #=> String
2032
+ # resp.resiliency_policies[0].policy_description #=> String
2033
+ # resp.resiliency_policies[0].policy_name #=> String
2034
+ # resp.resiliency_policies[0].tags #=> Hash
2035
+ # resp.resiliency_policies[0].tags["TagKey"] #=> String
2036
+ # resp.resiliency_policies[0].tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
2037
+ #
2038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListSuggestedResiliencyPolicies AWS API Documentation
2039
+ #
2040
+ # @overload list_suggested_resiliency_policies(params = {})
2041
+ # @param [Hash] params ({})
2042
+ def list_suggested_resiliency_policies(params = {}, options = {})
2043
+ req = build_request(:list_suggested_resiliency_policies, params)
2044
+ req.send_request(options)
2045
+ end
2046
+
2047
+ # Lists the tags for your resources in your Resilience Hub applications.
2048
+ #
2049
+ # @option params [required, String] :resource_arn
2050
+ # The Amazon Resource Name (ARN) for a specific resource in your
2051
+ # Resilience Hub application.
2052
+ #
2053
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2054
+ #
2055
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2056
+ #
2057
+ # @example Request syntax with placeholder values
2058
+ #
2059
+ # resp = client.list_tags_for_resource({
2060
+ # resource_arn: "Arn", # required
2061
+ # })
2062
+ #
2063
+ # @example Response structure
2064
+ #
2065
+ # resp.tags #=> Hash
2066
+ # resp.tags["TagKey"] #=> String
2067
+ #
2068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListTagsForResource AWS API Documentation
2069
+ #
2070
+ # @overload list_tags_for_resource(params = {})
2071
+ # @param [Hash] params ({})
2072
+ def list_tags_for_resource(params = {}, options = {})
2073
+ req = build_request(:list_tags_for_resource, params)
2074
+ req.send_request(options)
2075
+ end
2076
+
2077
+ # Lists the test recommendations for the Resilience Hub application.
2078
+ #
2079
+ # @option params [required, String] :assessment_arn
2080
+ # The Amazon Resource Name (ARN) of the assessment. The format for this
2081
+ # ARN is:
2082
+ # arn:`partition`\:dcps:`region`\:`account`\:app-assessment/`app-id`.
2083
+ # For more information about ARNs, see [ Amazon Resource Names
2084
+ # (ARNs)][1] in the *AWS General Reference*.
2085
+ #
2086
+ #
2087
+ #
2088
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2089
+ #
2090
+ # @option params [Integer] :max_results
2091
+ # The maximum number of results to include in the response. If more
2092
+ # results exist than the specified `MaxResults` value, a token is
2093
+ # included in the response so that the remaining results can be
2094
+ # retrieved.
2095
+ #
2096
+ # @option params [String] :next_token
2097
+ # Null, or the token from a previous call to get the next set of
2098
+ # results.
2099
+ #
2100
+ # @return [Types::ListTestRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2101
+ #
2102
+ # * {Types::ListTestRecommendationsResponse#next_token #next_token} => String
2103
+ # * {Types::ListTestRecommendationsResponse#test_recommendations #test_recommendations} => Array&lt;Types::TestRecommendation&gt;
2104
+ #
2105
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2106
+ #
2107
+ # @example Request syntax with placeholder values
2108
+ #
2109
+ # resp = client.list_test_recommendations({
2110
+ # assessment_arn: "Arn", # required
2111
+ # max_results: 1,
2112
+ # next_token: "NextToken",
2113
+ # })
2114
+ #
2115
+ # @example Response structure
2116
+ #
2117
+ # resp.next_token #=> String
2118
+ # resp.test_recommendations #=> Array
2119
+ # resp.test_recommendations[0].app_component_name #=> String
2120
+ # resp.test_recommendations[0].description #=> String
2121
+ # resp.test_recommendations[0].intent #=> String
2122
+ # resp.test_recommendations[0].items #=> Array
2123
+ # resp.test_recommendations[0].items[0].already_implemented #=> Boolean
2124
+ # resp.test_recommendations[0].items[0].resource_id #=> String
2125
+ # resp.test_recommendations[0].items[0].target_account_id #=> String
2126
+ # resp.test_recommendations[0].items[0].target_region #=> String
2127
+ # resp.test_recommendations[0].name #=> String
2128
+ # resp.test_recommendations[0].prerequisite #=> String
2129
+ # resp.test_recommendations[0].recommendation_id #=> String
2130
+ # resp.test_recommendations[0].reference_id #=> String
2131
+ # resp.test_recommendations[0].risk #=> String, one of "Small", "Medium", "High"
2132
+ # resp.test_recommendations[0].type #=> String, one of "Software", "Hardware", "AZ", "Region"
2133
+ #
2134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListTestRecommendations AWS API Documentation
2135
+ #
2136
+ # @overload list_test_recommendations(params = {})
2137
+ # @param [Hash] params ({})
2138
+ def list_test_recommendations(params = {}, options = {})
2139
+ req = build_request(:list_test_recommendations, params)
2140
+ req.send_request(options)
2141
+ end
2142
+
2143
+ # Lists the resources that are not currently supported in AWS Resilience
2144
+ # Hub. An unsupported resource is a resource that exists in the object
2145
+ # that was used to create an app, but is not supported by Resilience
2146
+ # Hub.
2147
+ #
2148
+ # @option params [required, String] :app_arn
2149
+ # The Amazon Resource Name (ARN) of the application. The format for this
2150
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2151
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2152
+ # the *AWS General Reference*.
2153
+ #
2154
+ #
2155
+ #
2156
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2157
+ #
2158
+ # @option params [required, String] :app_version
2159
+ # The version of the application.
2160
+ #
2161
+ # @option params [Integer] :max_results
2162
+ # The maximum number of results to include in the response. If more
2163
+ # results exist than the specified `MaxResults` value, a token is
2164
+ # included in the response so that the remaining results can be
2165
+ # retrieved.
2166
+ #
2167
+ # @option params [String] :next_token
2168
+ # Null, or the token from a previous call to get the next set of
2169
+ # results.
2170
+ #
2171
+ # @option params [String] :resolution_id
2172
+ # The identifier for a specific resolution.
2173
+ #
2174
+ # @return [Types::ListUnsupportedAppVersionResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2175
+ #
2176
+ # * {Types::ListUnsupportedAppVersionResourcesResponse#next_token #next_token} => String
2177
+ # * {Types::ListUnsupportedAppVersionResourcesResponse#resolution_id #resolution_id} => String
2178
+ # * {Types::ListUnsupportedAppVersionResourcesResponse#unsupported_resources #unsupported_resources} => Array&lt;Types::UnsupportedResource&gt;
2179
+ #
2180
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2181
+ #
2182
+ # @example Request syntax with placeholder values
2183
+ #
2184
+ # resp = client.list_unsupported_app_version_resources({
2185
+ # app_arn: "Arn", # required
2186
+ # app_version: "EntityVersion", # required
2187
+ # max_results: 1,
2188
+ # next_token: "NextToken",
2189
+ # resolution_id: "String255",
2190
+ # })
2191
+ #
2192
+ # @example Response structure
2193
+ #
2194
+ # resp.next_token #=> String
2195
+ # resp.resolution_id #=> String
2196
+ # resp.unsupported_resources #=> Array
2197
+ # resp.unsupported_resources[0].logical_resource_id.identifier #=> String
2198
+ # resp.unsupported_resources[0].logical_resource_id.logical_stack_name #=> String
2199
+ # resp.unsupported_resources[0].logical_resource_id.resource_group_name #=> String
2200
+ # resp.unsupported_resources[0].physical_resource_id.aws_account_id #=> String
2201
+ # resp.unsupported_resources[0].physical_resource_id.aws_region #=> String
2202
+ # resp.unsupported_resources[0].physical_resource_id.identifier #=> String
2203
+ # resp.unsupported_resources[0].physical_resource_id.type #=> String, one of "Arn", "Native"
2204
+ # resp.unsupported_resources[0].resource_type #=> String
2205
+ #
2206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ListUnsupportedAppVersionResources AWS API Documentation
2207
+ #
2208
+ # @overload list_unsupported_app_version_resources(params = {})
2209
+ # @param [Hash] params ({})
2210
+ def list_unsupported_app_version_resources(params = {}, options = {})
2211
+ req = build_request(:list_unsupported_app_version_resources, params)
2212
+ req.send_request(options)
2213
+ end
2214
+
2215
+ # Publishes a new version of a specific Resilience Hub application.
2216
+ #
2217
+ # @option params [required, String] :app_arn
2218
+ # The Amazon Resource Name (ARN) of the application. The format for this
2219
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2220
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2221
+ # the *AWS General Reference*.
2222
+ #
2223
+ #
2224
+ #
2225
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2226
+ #
2227
+ # @return [Types::PublishAppVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2228
+ #
2229
+ # * {Types::PublishAppVersionResponse#app_arn #app_arn} => String
2230
+ # * {Types::PublishAppVersionResponse#app_version #app_version} => String
2231
+ #
2232
+ # @example Request syntax with placeholder values
2233
+ #
2234
+ # resp = client.publish_app_version({
2235
+ # app_arn: "Arn", # required
2236
+ # })
2237
+ #
2238
+ # @example Response structure
2239
+ #
2240
+ # resp.app_arn #=> String
2241
+ # resp.app_version #=> String
2242
+ #
2243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/PublishAppVersion AWS API Documentation
2244
+ #
2245
+ # @overload publish_app_version(params = {})
2246
+ # @param [Hash] params ({})
2247
+ def publish_app_version(params = {}, options = {})
2248
+ req = build_request(:publish_app_version, params)
2249
+ req.send_request(options)
2250
+ end
2251
+
2252
+ # Adds or updates the app template for a draft version of a Resilience
2253
+ # Hub app.
2254
+ #
2255
+ # @option params [required, String] :app_arn
2256
+ # The Amazon Resource Name (ARN) of the application. The format for this
2257
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2258
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2259
+ # the *AWS General Reference*.
2260
+ #
2261
+ #
2262
+ #
2263
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2264
+ #
2265
+ # @option params [required, String] :app_template_body
2266
+ # A JSON string that contains the body of the app template.
2267
+ #
2268
+ # @return [Types::PutDraftAppVersionTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2269
+ #
2270
+ # * {Types::PutDraftAppVersionTemplateResponse#app_arn #app_arn} => String
2271
+ # * {Types::PutDraftAppVersionTemplateResponse#app_version #app_version} => String
2272
+ #
2273
+ # @example Request syntax with placeholder values
2274
+ #
2275
+ # resp = client.put_draft_app_version_template({
2276
+ # app_arn: "Arn", # required
2277
+ # app_template_body: "AppTemplateBody", # required
2278
+ # })
2279
+ #
2280
+ # @example Response structure
2281
+ #
2282
+ # resp.app_arn #=> String
2283
+ # resp.app_version #=> String
2284
+ #
2285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/PutDraftAppVersionTemplate AWS API Documentation
2286
+ #
2287
+ # @overload put_draft_app_version_template(params = {})
2288
+ # @param [Hash] params ({})
2289
+ def put_draft_app_version_template(params = {}, options = {})
2290
+ req = build_request(:put_draft_app_version_template, params)
2291
+ req.send_request(options)
2292
+ end
2293
+
2294
+ # Removes resource mappings from a draft application version.
2295
+ #
2296
+ # @option params [required, String] :app_arn
2297
+ # The Amazon Resource Name (ARN) of the application. The format for this
2298
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2299
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2300
+ # the *AWS General Reference*.
2301
+ #
2302
+ #
2303
+ #
2304
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2305
+ #
2306
+ # @option params [Array<String>] :app_registry_app_names
2307
+ # The names of the registered applications to remove from the resource
2308
+ # mappings.
2309
+ #
2310
+ # @option params [Array<String>] :logical_stack_names
2311
+ # The names of the CloudFormation stacks to remove from the resource
2312
+ # mappings.
2313
+ #
2314
+ # @option params [Array<String>] :resource_group_names
2315
+ # The names of the resource groups to remove from the resource mappings.
2316
+ #
2317
+ # @option params [Array<String>] :resource_names
2318
+ # The names of the resources to remove from the resource mappings.
2319
+ #
2320
+ # @return [Types::RemoveDraftAppVersionResourceMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2321
+ #
2322
+ # * {Types::RemoveDraftAppVersionResourceMappingsResponse#app_arn #app_arn} => String
2323
+ # * {Types::RemoveDraftAppVersionResourceMappingsResponse#app_version #app_version} => String
2324
+ #
2325
+ # @example Request syntax with placeholder values
2326
+ #
2327
+ # resp = client.remove_draft_app_version_resource_mappings({
2328
+ # app_arn: "Arn", # required
2329
+ # app_registry_app_names: ["EntityName"],
2330
+ # logical_stack_names: ["String255"],
2331
+ # resource_group_names: ["EntityName"],
2332
+ # resource_names: ["EntityName"],
2333
+ # })
2334
+ #
2335
+ # @example Response structure
2336
+ #
2337
+ # resp.app_arn #=> String
2338
+ # resp.app_version #=> String
2339
+ #
2340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/RemoveDraftAppVersionResourceMappings AWS API Documentation
2341
+ #
2342
+ # @overload remove_draft_app_version_resource_mappings(params = {})
2343
+ # @param [Hash] params ({})
2344
+ def remove_draft_app_version_resource_mappings(params = {}, options = {})
2345
+ req = build_request(:remove_draft_app_version_resource_mappings, params)
2346
+ req.send_request(options)
2347
+ end
2348
+
2349
+ # Resolves the resources for an application version.
2350
+ #
2351
+ # @option params [required, String] :app_arn
2352
+ # The Amazon Resource Name (ARN) of the application. The format for this
2353
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2354
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2355
+ # the *AWS General Reference*.
2356
+ #
2357
+ #
2358
+ #
2359
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2360
+ #
2361
+ # @option params [required, String] :app_version
2362
+ # The version of the application.
2363
+ #
2364
+ # @return [Types::ResolveAppVersionResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2365
+ #
2366
+ # * {Types::ResolveAppVersionResourcesResponse#app_arn #app_arn} => String
2367
+ # * {Types::ResolveAppVersionResourcesResponse#app_version #app_version} => String
2368
+ # * {Types::ResolveAppVersionResourcesResponse#resolution_id #resolution_id} => String
2369
+ # * {Types::ResolveAppVersionResourcesResponse#status #status} => String
2370
+ #
2371
+ # @example Request syntax with placeholder values
2372
+ #
2373
+ # resp = client.resolve_app_version_resources({
2374
+ # app_arn: "Arn", # required
2375
+ # app_version: "EntityVersion", # required
2376
+ # })
2377
+ #
2378
+ # @example Response structure
2379
+ #
2380
+ # resp.app_arn #=> String
2381
+ # resp.app_version #=> String
2382
+ # resp.resolution_id #=> String
2383
+ # resp.status #=> String, one of "Pending", "InProgress", "Failed", "Success"
2384
+ #
2385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/ResolveAppVersionResources AWS API Documentation
2386
+ #
2387
+ # @overload resolve_app_version_resources(params = {})
2388
+ # @param [Hash] params ({})
2389
+ def resolve_app_version_resources(params = {}, options = {})
2390
+ req = build_request(:resolve_app_version_resources, params)
2391
+ req.send_request(options)
2392
+ end
2393
+
2394
+ # Creates a new application assessment for an application.
2395
+ #
2396
+ # @option params [required, String] :app_arn
2397
+ # The Amazon Resource Name (ARN) of the application. The format for this
2398
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2399
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2400
+ # the *AWS General Reference*.
2401
+ #
2402
+ #
2403
+ #
2404
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2405
+ #
2406
+ # @option params [required, String] :app_version
2407
+ # The version of the application.
2408
+ #
2409
+ # @option params [required, String] :assessment_name
2410
+ # The name for the assessment.
2411
+ #
2412
+ # @option params [String] :client_token
2413
+ # Used for an idempotency token. A client token is a unique,
2414
+ # case-sensitive string of up to 64 ASCII characters. You should not
2415
+ # reuse the same client token for other API requests.
2416
+ #
2417
+ # **A suitable default value is auto-generated.** You should normally
2418
+ # not need to pass this option.**
2419
+ #
2420
+ # @option params [Hash<String,String>] :tags
2421
+ # The tags assigned to the resource. A tag is a label that you assign to
2422
+ # an Amazon Web Services resource. Each tag consists of a key/value
2423
+ # pair.
2424
+ #
2425
+ # @return [Types::StartAppAssessmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2426
+ #
2427
+ # * {Types::StartAppAssessmentResponse#assessment #assessment} => Types::AppAssessment
2428
+ #
2429
+ # @example Request syntax with placeholder values
2430
+ #
2431
+ # resp = client.start_app_assessment({
2432
+ # app_arn: "Arn", # required
2433
+ # app_version: "EntityVersion", # required
2434
+ # assessment_name: "EntityName", # required
2435
+ # client_token: "ClientToken",
2436
+ # tags: {
2437
+ # "TagKey" => "TagValue",
2438
+ # },
2439
+ # })
2440
+ #
2441
+ # @example Response structure
2442
+ #
2443
+ # resp.assessment.app_arn #=> String
2444
+ # resp.assessment.app_version #=> String
2445
+ # resp.assessment.assessment_arn #=> String
2446
+ # resp.assessment.assessment_name #=> String
2447
+ # resp.assessment.assessment_status #=> String, one of "Pending", "InProgress", "Failed", "Success"
2448
+ # resp.assessment.compliance #=> Hash
2449
+ # resp.assessment.compliance["DisruptionType"].achievable_rpo_in_secs #=> Integer
2450
+ # resp.assessment.compliance["DisruptionType"].achievable_rto_in_secs #=> Integer
2451
+ # resp.assessment.compliance["DisruptionType"].compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
2452
+ # resp.assessment.compliance["DisruptionType"].current_rpo_in_secs #=> Integer
2453
+ # resp.assessment.compliance["DisruptionType"].current_rto_in_secs #=> Integer
2454
+ # resp.assessment.compliance["DisruptionType"].message #=> String
2455
+ # resp.assessment.compliance["DisruptionType"].rpo_description #=> String
2456
+ # resp.assessment.compliance["DisruptionType"].rpo_reference_id #=> String
2457
+ # resp.assessment.compliance["DisruptionType"].rto_description #=> String
2458
+ # resp.assessment.compliance["DisruptionType"].rto_reference_id #=> String
2459
+ # resp.assessment.compliance_status #=> String, one of "PolicyBreached", "PolicyMet"
2460
+ # resp.assessment.cost.amount #=> Float
2461
+ # resp.assessment.cost.currency #=> String
2462
+ # resp.assessment.cost.frequency #=> String, one of "Hourly", "Daily", "Monthly", "Yearly"
2463
+ # resp.assessment.end_time #=> Time
2464
+ # resp.assessment.invoker #=> String, one of "User", "System"
2465
+ # resp.assessment.message #=> String
2466
+ # resp.assessment.policy.creation_time #=> Time
2467
+ # resp.assessment.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
2468
+ # resp.assessment.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
2469
+ # resp.assessment.policy.policy #=> Hash
2470
+ # resp.assessment.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
2471
+ # resp.assessment.policy.policy["DisruptionType"].rto_in_secs #=> Integer
2472
+ # resp.assessment.policy.policy_arn #=> String
2473
+ # resp.assessment.policy.policy_description #=> String
2474
+ # resp.assessment.policy.policy_name #=> String
2475
+ # resp.assessment.policy.tags #=> Hash
2476
+ # resp.assessment.policy.tags["TagKey"] #=> String
2477
+ # resp.assessment.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
2478
+ # resp.assessment.resiliency_score.disruption_score #=> Hash
2479
+ # resp.assessment.resiliency_score.disruption_score["DisruptionType"] #=> Float
2480
+ # resp.assessment.resiliency_score.score #=> Float
2481
+ # resp.assessment.start_time #=> Time
2482
+ # resp.assessment.tags #=> Hash
2483
+ # resp.assessment.tags["TagKey"] #=> String
2484
+ #
2485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/StartAppAssessment AWS API Documentation
2486
+ #
2487
+ # @overload start_app_assessment(params = {})
2488
+ # @param [Hash] params ({})
2489
+ def start_app_assessment(params = {}, options = {})
2490
+ req = build_request(:start_app_assessment, params)
2491
+ req.send_request(options)
2492
+ end
2493
+
2494
+ # Applies one or more tags to a resource.
2495
+ #
2496
+ # @option params [required, String] :resource_arn
2497
+ # The Amazon Resource Name (ARN) of the resource.
2498
+ #
2499
+ # @option params [required, Hash<String,String>] :tags
2500
+ # The tags to assign to the resource. Each tag consists of a key/value
2501
+ # pair.
2502
+ #
2503
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2504
+ #
2505
+ # @example Request syntax with placeholder values
2506
+ #
2507
+ # resp = client.tag_resource({
2508
+ # resource_arn: "Arn", # required
2509
+ # tags: { # required
2510
+ # "TagKey" => "TagValue",
2511
+ # },
2512
+ # })
2513
+ #
2514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/TagResource AWS API Documentation
2515
+ #
2516
+ # @overload tag_resource(params = {})
2517
+ # @param [Hash] params ({})
2518
+ def tag_resource(params = {}, options = {})
2519
+ req = build_request(:tag_resource, params)
2520
+ req.send_request(options)
2521
+ end
2522
+
2523
+ # Removes one or more tags from a resource.
2524
+ #
2525
+ # @option params [required, String] :resource_arn
2526
+ # The Amazon Resource Name (ARN) of the resource.
2527
+ #
2528
+ # @option params [required, Array<String>] :tag_keys
2529
+ # The keys of the tags to remove.
2530
+ #
2531
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2532
+ #
2533
+ # @example Request syntax with placeholder values
2534
+ #
2535
+ # resp = client.untag_resource({
2536
+ # resource_arn: "Arn", # required
2537
+ # tag_keys: ["TagKey"], # required
2538
+ # })
2539
+ #
2540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/UntagResource AWS API Documentation
2541
+ #
2542
+ # @overload untag_resource(params = {})
2543
+ # @param [Hash] params ({})
2544
+ def untag_resource(params = {}, options = {})
2545
+ req = build_request(:untag_resource, params)
2546
+ req.send_request(options)
2547
+ end
2548
+
2549
+ # Updates an application.
2550
+ #
2551
+ # @option params [required, String] :app_arn
2552
+ # The Amazon Resource Name (ARN) of the application. The format for this
2553
+ # ARN is: arn:`partition`\:dcps:`region`\:`account`\:app/`app-id`. For
2554
+ # more information about ARNs, see [ Amazon Resource Names (ARNs)][1] in
2555
+ # the *AWS General Reference*.
2556
+ #
2557
+ #
2558
+ #
2559
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2560
+ #
2561
+ # @option params [Boolean] :clear_resiliency_policy_arn
2562
+ # Specifies if the resiliency policy ARN should be cleared.
2563
+ #
2564
+ # @option params [String] :description
2565
+ # The optional description for an app.
2566
+ #
2567
+ # @option params [String] :policy_arn
2568
+ # The Amazon Resource Name (ARN) of the resiliency policy. The format
2569
+ # for this ARN is:
2570
+ # arn:`partition`\:dcps:`region`\:`account`\:resiliency-policy/`policy-id`.
2571
+ # For more information about ARNs, see [ Amazon Resource Names
2572
+ # (ARNs)][1] in the *AWS General Reference*.
2573
+ #
2574
+ #
2575
+ #
2576
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2577
+ #
2578
+ # @return [Types::UpdateAppResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2579
+ #
2580
+ # * {Types::UpdateAppResponse#app #app} => Types::App
2581
+ #
2582
+ # @example Request syntax with placeholder values
2583
+ #
2584
+ # resp = client.update_app({
2585
+ # app_arn: "Arn", # required
2586
+ # clear_resiliency_policy_arn: false,
2587
+ # description: "EntityDescription",
2588
+ # policy_arn: "Arn",
2589
+ # })
2590
+ #
2591
+ # @example Response structure
2592
+ #
2593
+ # resp.app.app_arn #=> String
2594
+ # resp.app.compliance_status #=> String, one of "PolicyBreached", "PolicyMet", "NotAssessed", "ChangesDetected"
2595
+ # resp.app.creation_time #=> Time
2596
+ # resp.app.description #=> String
2597
+ # resp.app.last_app_compliance_evaluation_time #=> Time
2598
+ # resp.app.last_resiliency_score_evaluation_time #=> Time
2599
+ # resp.app.name #=> String
2600
+ # resp.app.policy_arn #=> String
2601
+ # resp.app.resiliency_score #=> Float
2602
+ # resp.app.status #=> String, one of "Active", "Deleting"
2603
+ # resp.app.tags #=> Hash
2604
+ # resp.app.tags["TagKey"] #=> String
2605
+ #
2606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/UpdateApp AWS API Documentation
2607
+ #
2608
+ # @overload update_app(params = {})
2609
+ # @param [Hash] params ({})
2610
+ def update_app(params = {}, options = {})
2611
+ req = build_request(:update_app, params)
2612
+ req.send_request(options)
2613
+ end
2614
+
2615
+ # Updates a resiliency policy.
2616
+ #
2617
+ # @option params [String] :data_location_constraint
2618
+ # Specifies a high-level geographical location constraint for where your
2619
+ # resilience policy data can be stored.
2620
+ #
2621
+ # @option params [Hash<String,Types::FailurePolicy>] :policy
2622
+ # The type of resiliency policy to be created, including the recovery
2623
+ # time objective (RTO) and recovery point objective (RPO) in seconds.
2624
+ #
2625
+ # @option params [required, String] :policy_arn
2626
+ # The Amazon Resource Name (ARN) of the resiliency policy. The format
2627
+ # for this ARN is:
2628
+ # arn:`partition`\:dcps:`region`\:`account`\:resiliency-policy/`policy-id`.
2629
+ # For more information about ARNs, see [ Amazon Resource Names
2630
+ # (ARNs)][1] in the *AWS General Reference*.
2631
+ #
2632
+ #
2633
+ #
2634
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2635
+ #
2636
+ # @option params [String] :policy_description
2637
+ # The description for the policy.
2638
+ #
2639
+ # @option params [String] :policy_name
2640
+ # The name of the policy
2641
+ #
2642
+ # @option params [String] :tier
2643
+ # The tier for this resiliency policy, ranging from the highest severity
2644
+ # (`MissionCritical`) to lowest (`NonCritical`).
2645
+ #
2646
+ # @return [Types::UpdateResiliencyPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2647
+ #
2648
+ # * {Types::UpdateResiliencyPolicyResponse#policy #policy} => Types::ResiliencyPolicy
2649
+ #
2650
+ # @example Request syntax with placeholder values
2651
+ #
2652
+ # resp = client.update_resiliency_policy({
2653
+ # data_location_constraint: "AnyLocation", # accepts AnyLocation, SameContinent, SameCountry
2654
+ # policy: {
2655
+ # "Software" => {
2656
+ # rpo_in_secs: 1, # required
2657
+ # rto_in_secs: 1, # required
2658
+ # },
2659
+ # },
2660
+ # policy_arn: "Arn", # required
2661
+ # policy_description: "EntityDescription",
2662
+ # policy_name: "EntityName",
2663
+ # tier: "MissionCritical", # accepts MissionCritical, Critical, Important, CoreServices, NonCritical
2664
+ # })
2665
+ #
2666
+ # @example Response structure
2667
+ #
2668
+ # resp.policy.creation_time #=> Time
2669
+ # resp.policy.data_location_constraint #=> String, one of "AnyLocation", "SameContinent", "SameCountry"
2670
+ # resp.policy.estimated_cost_tier #=> String, one of "L1", "L2", "L3", "L4"
2671
+ # resp.policy.policy #=> Hash
2672
+ # resp.policy.policy["DisruptionType"].rpo_in_secs #=> Integer
2673
+ # resp.policy.policy["DisruptionType"].rto_in_secs #=> Integer
2674
+ # resp.policy.policy_arn #=> String
2675
+ # resp.policy.policy_description #=> String
2676
+ # resp.policy.policy_name #=> String
2677
+ # resp.policy.tags #=> Hash
2678
+ # resp.policy.tags["TagKey"] #=> String
2679
+ # resp.policy.tier #=> String, one of "MissionCritical", "Critical", "Important", "CoreServices", "NonCritical"
2680
+ #
2681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resiliencehub-2020-04-30/UpdateResiliencyPolicy AWS API Documentation
2682
+ #
2683
+ # @overload update_resiliency_policy(params = {})
2684
+ # @param [Hash] params ({})
2685
+ def update_resiliency_policy(params = {}, options = {})
2686
+ req = build_request(:update_resiliency_policy, params)
2687
+ req.send_request(options)
2688
+ end
2689
+
2690
+ # @!endgroup
2691
+
2692
+ # @param params ({})
2693
+ # @api private
2694
+ def build_request(operation_name, params = {})
2695
+ handlers = @handlers.for(operation_name)
2696
+ context = Seahorse::Client::RequestContext.new(
2697
+ operation_name: operation_name,
2698
+ operation: config.api.operation(operation_name),
2699
+ client: self,
2700
+ params: params,
2701
+ config: config)
2702
+ context[:gem_name] = 'aws-sdk-resiliencehub'
2703
+ context[:gem_version] = '1.0.0'
2704
+ Seahorse::Client::Request.new(handlers, context)
2705
+ end
2706
+
2707
+ # @api private
2708
+ # @deprecated
2709
+ def waiter_names
2710
+ []
2711
+ end
2712
+
2713
+ class << self
2714
+
2715
+ # @api private
2716
+ attr_reader :identifier
2717
+
2718
+ # @api private
2719
+ def errors_module
2720
+ Errors
2721
+ end
2722
+
2723
+ end
2724
+ end
2725
+ end