aws-sdk-mpa 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1628 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
38
+
39
+ module Aws::MPA
40
+ # An API client for MPA. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::MPA::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :mpa
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::MPA::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials. This can be an instance of any one of the
99
+ # following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following
128
+ # locations will be searched for credentials:
129
+ #
130
+ # * `Aws.config[:credentials]`
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
+ # * `~/.aws/credentials`
136
+ # * `~/.aws/config`
137
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
+ # are very aggressive. Construct and pass an instance of
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
+ # enable retries and extended timeouts. Instance profile credential
141
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
+ # to true.
143
+ #
144
+ # @option options [required, String] :region
145
+ # The AWS region to connect to. The configured `:region` is
146
+ # used to determine the service `:endpoint`. When not passed,
147
+ # a default `:region` is searched for in the following locations:
148
+ #
149
+ # * `Aws.config[:region]`
150
+ # * `ENV['AWS_REGION']`
151
+ # * `ENV['AMAZON_REGION']`
152
+ # * `ENV['AWS_DEFAULT_REGION']`
153
+ # * `~/.aws/credentials`
154
+ # * `~/.aws/config`
155
+ #
156
+ # @option options [String] :access_key_id
157
+ #
158
+ # @option options [String] :account_id
159
+ #
160
+ # @option options [Boolean] :active_endpoint_cache (false)
161
+ # When set to `true`, a thread polling for endpoints will be running in
162
+ # the background every 60 secs (default). Defaults to `false`.
163
+ #
164
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
165
+ # Used only in `adaptive` retry mode. When true, the request will sleep
166
+ # until there is sufficent client side capacity to retry the request.
167
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
+ # not retry instead of sleeping.
169
+ #
170
+ # @option options [Boolean] :client_side_monitoring (false)
171
+ # When `true`, client-side metrics will be collected for all API requests from
172
+ # this client.
173
+ #
174
+ # @option options [String] :client_side_monitoring_client_id ("")
175
+ # Allows you to provide an identifier for this client which will be attached to
176
+ # all generated client side metrics. Defaults to an empty string.
177
+ #
178
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
179
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
180
+ # side monitoring agent is running on, where client metrics will be published via UDP.
181
+ #
182
+ # @option options [Integer] :client_side_monitoring_port (31000)
183
+ # Required for publishing client metrics. The port that the client side monitoring
184
+ # agent is running on, where client metrics will be published via UDP.
185
+ #
186
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
187
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
188
+ # will use the Client Side Monitoring Agent Publisher.
189
+ #
190
+ # @option options [Boolean] :convert_params (true)
191
+ # When `true`, an attempt is made to coerce request parameters into
192
+ # the required types.
193
+ #
194
+ # @option options [Boolean] :correct_clock_skew (true)
195
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
196
+ # a clock skew correction and retry requests with skewed client clocks.
197
+ #
198
+ # @option options [String] :defaults_mode ("legacy")
199
+ # See {Aws::DefaultsModeConfiguration} for a list of the
200
+ # accepted modes and the configuration defaults that are included.
201
+ #
202
+ # @option options [Boolean] :disable_host_prefix_injection (false)
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
204
+ #
205
+ # @option options [Boolean] :disable_request_compression (false)
206
+ # When set to 'true' the request body will not be compressed
207
+ # for supported operations.
208
+ #
209
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
210
+ # Normally you should not configure the `:endpoint` option
211
+ # directly. This is normally constructed from the `:region`
212
+ # option. Configuring `:endpoint` is normally reserved for
213
+ # connecting to test or custom endpoints. The endpoint should
214
+ # be a URI formatted like:
215
+ #
216
+ # 'http://example.com'
217
+ # 'https://example.com'
218
+ # 'http://example.com:123'
219
+ #
220
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
221
+ # Used for the maximum size limit of the LRU cache storing endpoints data
222
+ # for endpoint discovery enabled operations. Defaults to 1000.
223
+ #
224
+ # @option options [Integer] :endpoint_cache_max_threads (10)
225
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
226
+ #
227
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
228
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
229
+ # Use this option to config the time interval in seconds for making
230
+ # requests fetching endpoints information. Defaults to 60 sec.
231
+ #
232
+ # @option options [Boolean] :endpoint_discovery (false)
233
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
234
+ #
235
+ # @option options [Boolean] :ignore_configured_endpoint_urls
236
+ # Setting to true disables use of endpoint URLs provided via environment
237
+ # variables and the shared configuration file.
238
+ #
239
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
240
+ # The log formatter.
241
+ #
242
+ # @option options [Symbol] :log_level (:info)
243
+ # The log level to send messages to the `:logger` at.
244
+ #
245
+ # @option options [Logger] :logger
246
+ # The Logger instance to send log messages to. If this option
247
+ # is not set, logging will be disabled.
248
+ #
249
+ # @option options [Integer] :max_attempts (3)
250
+ # An integer representing the maximum number attempts that will be made for
251
+ # a single request, including the initial attempt. For example,
252
+ # setting this value to 5 will result in a request being retried up to
253
+ # 4 times. Used in `standard` and `adaptive` retry modes.
254
+ #
255
+ # @option options [String] :profile ("default")
256
+ # Used when loading credentials from the shared credentials file
257
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
258
+ #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
271
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
272
+ # The minimum size in bytes that triggers compression for request
273
+ # bodies. The value must be non-negative integer value between 0
274
+ # and 10485780 bytes inclusive.
275
+ #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
287
+ # @option options [Proc] :retry_backoff
288
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
289
+ # This option is only used in the `legacy` retry mode.
290
+ #
291
+ # @option options [Float] :retry_base_delay (0.3)
292
+ # The base delay in seconds used by the default backoff function. This option
293
+ # is only used in the `legacy` retry mode.
294
+ #
295
+ # @option options [Symbol] :retry_jitter (:none)
296
+ # A delay randomiser function used by the default backoff function.
297
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
298
+ # otherwise a Proc that takes and returns a number. This option is only used
299
+ # in the `legacy` retry mode.
300
+ #
301
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
302
+ #
303
+ # @option options [Integer] :retry_limit (3)
304
+ # The maximum number of times to retry failed requests. Only
305
+ # ~ 500 level server errors and certain ~ 400 level client errors
306
+ # are retried. Generally, these are throttling errors, data
307
+ # checksum errors, networking errors, timeout errors, auth errors,
308
+ # endpoint discovery, and errors from expired credentials.
309
+ # This option is only used in the `legacy` retry mode.
310
+ #
311
+ # @option options [Integer] :retry_max_delay (0)
312
+ # The maximum number of seconds to delay between retries (0 for no limit)
313
+ # used by the default backoff function. This option is only used in the
314
+ # `legacy` retry mode.
315
+ #
316
+ # @option options [String] :retry_mode ("legacy")
317
+ # Specifies which retry algorithm to use. Values are:
318
+ #
319
+ # * `legacy` - The pre-existing retry behavior. This is default value if
320
+ # no retry mode is provided.
321
+ #
322
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
323
+ # This includes support for retry quotas, which limit the number of
324
+ # unsuccessful retries a client can make.
325
+ #
326
+ # * `adaptive` - An experimental retry mode that includes all the
327
+ # functionality of `standard` mode along with automatic client side
328
+ # throttling. This is a provisional mode that may change behavior
329
+ # in the future.
330
+ #
331
+ # @option options [String] :sdk_ua_app_id
332
+ # A unique and opaque application ID that is appended to the
333
+ # User-Agent header as app/sdk_ua_app_id. It should have a
334
+ # maximum length of 50. This variable is sourced from environment
335
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
336
+ #
337
+ # @option options [String] :secret_access_key
338
+ #
339
+ # @option options [String] :session_token
340
+ #
341
+ # @option options [Array] :sigv4a_signing_region_set
342
+ # A list of regions that should be signed with SigV4a signing. When
343
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
344
+ # in the following locations:
345
+ #
346
+ # * `Aws.config[:sigv4a_signing_region_set]`
347
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
348
+ # * `~/.aws/config`
349
+ #
350
+ # @option options [Boolean] :stub_responses (false)
351
+ # Causes the client to return stubbed responses. By default
352
+ # fake responses are generated and returned. You can specify
353
+ # the response data to return or errors to raise by calling
354
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
355
+ #
356
+ # ** Please note ** When response stubbing is enabled, no HTTP
357
+ # requests are made, and retries are disabled.
358
+ #
359
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
360
+ # Allows you to provide a telemetry provider, which is used to
361
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
362
+ # will not record or emit any telemetry data. The SDK supports the
363
+ # following telemetry providers:
364
+ #
365
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
366
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
367
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
+ #
369
+ # @option options [Aws::TokenProvider] :token_provider
370
+ # A Bearer Token Provider. This can be an instance of any one of the
371
+ # following classes:
372
+ #
373
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
374
+ # tokens.
375
+ #
376
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
377
+ # access token generated from `aws login`.
378
+ #
379
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
380
+ # will be used to search for tokens configured for your profile in shared configuration files.
381
+ #
382
+ # @option options [Boolean] :use_dualstack_endpoint
383
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
384
+ # will be used if available.
385
+ #
386
+ # @option options [Boolean] :use_fips_endpoint
387
+ # When set to `true`, fips compatible endpoints will be used if available.
388
+ # When a `fips` region is used, the region is normalized and this config
389
+ # is set to `true`.
390
+ #
391
+ # @option options [Boolean] :validate_params (true)
392
+ # When `true`, request parameters are validated before
393
+ # sending the request.
394
+ #
395
+ # @option options [Aws::MPA::EndpointProvider] :endpoint_provider
396
+ # The endpoint provider used to resolve endpoints. Any object that responds to
397
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
398
+ # `Aws::MPA::EndpointParameters`.
399
+ #
400
+ # @option options [Float] :http_continue_timeout (1)
401
+ # The number of seconds to wait for a 100-continue response before sending the
402
+ # request body. This option has no effect unless the request has "Expect"
403
+ # header set to "100-continue". Defaults to `nil` which disables this
404
+ # behaviour. This value can safely be set per request on the session.
405
+ #
406
+ # @option options [Float] :http_idle_timeout (5)
407
+ # The number of seconds a connection is allowed to sit idle before it
408
+ # is considered stale. Stale connections are closed and removed from the
409
+ # pool before making a request.
410
+ #
411
+ # @option options [Float] :http_open_timeout (15)
412
+ # The default number of seconds to wait for response data.
413
+ # This value can safely be set per-request on the session.
414
+ #
415
+ # @option options [URI::HTTP,String] :http_proxy
416
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
417
+ #
418
+ # @option options [Float] :http_read_timeout (60)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [Boolean] :http_wire_trace (false)
423
+ # When `true`, HTTP debug output will be sent to the `:logger`.
424
+ #
425
+ # @option options [Proc] :on_chunk_received
426
+ # When a Proc object is provided, it will be used as callback when each chunk
427
+ # of the response body is received. It provides three arguments: the chunk,
428
+ # the number of bytes received, and the total number of
429
+ # bytes in the response (or nil if the server did not send a `content-length`).
430
+ #
431
+ # @option options [Proc] :on_chunk_sent
432
+ # When a Proc object is provided, it will be used as callback when each chunk
433
+ # of the request body is sent. It provides three arguments: the chunk,
434
+ # the number of bytes read from the body, and the total number of
435
+ # bytes in the body.
436
+ #
437
+ # @option options [Boolean] :raise_response_errors (true)
438
+ # When `true`, response errors are raised.
439
+ #
440
+ # @option options [String] :ssl_ca_bundle
441
+ # Full path to the SSL certificate authority bundle file that should be used when
442
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
443
+ # `:ssl_ca_directory` the the system default will be used if available.
444
+ #
445
+ # @option options [String] :ssl_ca_directory
446
+ # Full path of the directory that contains the unbundled SSL certificate
447
+ # authority files for verifying peer certificates. If you do
448
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
449
+ # default will be used if available.
450
+ #
451
+ # @option options [String] :ssl_ca_store
452
+ # Sets the X509::Store to verify peer certificate.
453
+ #
454
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
455
+ # Sets a client certificate when creating http connections.
456
+ #
457
+ # @option options [OpenSSL::PKey] :ssl_key
458
+ # Sets a client key when creating http connections.
459
+ #
460
+ # @option options [Float] :ssl_timeout
461
+ # Sets the SSL timeout in seconds
462
+ #
463
+ # @option options [Boolean] :ssl_verify_peer (true)
464
+ # When `true`, SSL peer certificates are verified when establishing a connection.
465
+ #
466
+ def initialize(*args)
467
+ super
468
+ end
469
+
470
+ # @!group API Operations
471
+
472
+ # Cancels an approval session. For more information, see [Session][1] in
473
+ # the *Multi-party approval User Guide*.
474
+ #
475
+ #
476
+ #
477
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
478
+ #
479
+ # @option params [required, String] :session_arn
480
+ # Amazon Resource Name (ARN) for the session.
481
+ #
482
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
483
+ #
484
+ # @example Request syntax with placeholder values
485
+ #
486
+ # resp = client.cancel_session({
487
+ # session_arn: "SessionArn", # required
488
+ # })
489
+ #
490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/CancelSession AWS API Documentation
491
+ #
492
+ # @overload cancel_session(params = {})
493
+ # @param [Hash] params ({})
494
+ def cancel_session(params = {}, options = {})
495
+ req = build_request(:cancel_session, params)
496
+ req.send_request(options)
497
+ end
498
+
499
+ # Creates a new approval team. For more information, see [Approval
500
+ # team][1] in the *Multi-party approval User Guide*.
501
+ #
502
+ #
503
+ #
504
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
505
+ #
506
+ # @option params [String] :client_token
507
+ # Unique, case-sensitive identifier that you provide to ensure the
508
+ # idempotency of the request. If not provided, the Amazon Web Services
509
+ # populates this field.
510
+ #
511
+ # <note markdown="1"> **What is idempotency?**
512
+ #
513
+ # When you make a mutating API request, the request typically returns a
514
+ # result before the operation's asynchronous workflows have completed.
515
+ # Operations might also time out or encounter other server issues before
516
+ # they complete, even though the request has already returned a result.
517
+ # This could make it difficult to determine whether the request
518
+ # succeeded or not, and could lead to multiple retries to ensure that
519
+ # the operation completes successfully. However, if the original request
520
+ # and the subsequent retries are successful, the operation is completed
521
+ # multiple times. This means that you might create more resources than
522
+ # you intended.
523
+ #
524
+ # *Idempotency* ensures that an API request completes no more than one
525
+ # time. With an idempotent request, if the original request completes
526
+ # successfully, any subsequent retries complete successfully without
527
+ # performing any further actions.
528
+ #
529
+ # </note>
530
+ #
531
+ # **A suitable default value is auto-generated.** You should normally
532
+ # not need to pass this option.**
533
+ #
534
+ # @option params [required, Types::ApprovalStrategy] :approval_strategy
535
+ # An `ApprovalStrategy` object. Contains details for how the team grants
536
+ # approval.
537
+ #
538
+ # @option params [required, Array<Types::ApprovalTeamRequestApprover>] :approvers
539
+ # An array of `ApprovalTeamRequesterApprovers` objects. Contains details
540
+ # for the approvers in the team.
541
+ #
542
+ # @option params [required, String] :description
543
+ # Description for the team.
544
+ #
545
+ # @option params [required, Array<Types::PolicyReference>] :policies
546
+ # An array of `PolicyReference` objects. Contains a list of policies
547
+ # that define the permissions for team resources.
548
+ #
549
+ # The protected operation for a service integration might require
550
+ # specific permissions. For more information, see [How other services
551
+ # work with Multi-party approval][1] in the *Multi-party approval User
552
+ # Guide*.
553
+ #
554
+ #
555
+ #
556
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-integrations.html
557
+ #
558
+ # @option params [required, String] :name
559
+ # Name of the team.
560
+ #
561
+ # @option params [Hash<String,String>] :tags
562
+ # Tags you want to attach to the team.
563
+ #
564
+ # @return [Types::CreateApprovalTeamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
565
+ #
566
+ # * {Types::CreateApprovalTeamResponse#creation_time #creation_time} => Time
567
+ # * {Types::CreateApprovalTeamResponse#arn #arn} => String
568
+ # * {Types::CreateApprovalTeamResponse#name #name} => String
569
+ # * {Types::CreateApprovalTeamResponse#version_id #version_id} => String
570
+ #
571
+ # @example Request syntax with placeholder values
572
+ #
573
+ # resp = client.create_approval_team({
574
+ # client_token: "Token",
575
+ # approval_strategy: { # required
576
+ # mof_n: {
577
+ # min_approvals_required: 1, # required
578
+ # },
579
+ # },
580
+ # approvers: [ # required
581
+ # {
582
+ # primary_identity_id: "IdentityId", # required
583
+ # primary_identity_source_arn: "String", # required
584
+ # },
585
+ # ],
586
+ # description: "Description", # required
587
+ # policies: [ # required
588
+ # {
589
+ # policy_arn: "QualifiedPolicyArn", # required
590
+ # },
591
+ # ],
592
+ # name: "ApprovalTeamName", # required
593
+ # tags: {
594
+ # "TagKey" => "TagValue",
595
+ # },
596
+ # })
597
+ #
598
+ # @example Response structure
599
+ #
600
+ # resp.creation_time #=> Time
601
+ # resp.arn #=> String
602
+ # resp.name #=> String
603
+ # resp.version_id #=> String
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/CreateApprovalTeam AWS API Documentation
606
+ #
607
+ # @overload create_approval_team(params = {})
608
+ # @param [Hash] params ({})
609
+ def create_approval_team(params = {}, options = {})
610
+ req = build_request(:create_approval_team, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Creates a new identity source. For more information, see [Identity
615
+ # Source][1] in the *Multi-party approval User Guide*.
616
+ #
617
+ #
618
+ #
619
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
620
+ #
621
+ # @option params [required, Types::IdentitySourceParameters] :identity_source_parameters
622
+ # A ` IdentitySourceParameters` object. Contains details for the
623
+ # resource that provides identities to the identity source. For example,
624
+ # an IAM Identity Center instance.
625
+ #
626
+ # @option params [String] :client_token
627
+ # Unique, case-sensitive identifier that you provide to ensure the
628
+ # idempotency of the request. If not provided, the Amazon Web Services
629
+ # populates this field.
630
+ #
631
+ # <note markdown="1"> **What is idempotency?**
632
+ #
633
+ # When you make a mutating API request, the request typically returns a
634
+ # result before the operation's asynchronous workflows have completed.
635
+ # Operations might also time out or encounter other server issues before
636
+ # they complete, even though the request has already returned a result.
637
+ # This could make it difficult to determine whether the request
638
+ # succeeded or not, and could lead to multiple retries to ensure that
639
+ # the operation completes successfully. However, if the original request
640
+ # and the subsequent retries are successful, the operation is completed
641
+ # multiple times. This means that you might create more resources than
642
+ # you intended.
643
+ #
644
+ # *Idempotency* ensures that an API request completes no more than one
645
+ # time. With an idempotent request, if the original request completes
646
+ # successfully, any subsequent retries complete successfully without
647
+ # performing any further actions.
648
+ #
649
+ # </note>
650
+ #
651
+ # **A suitable default value is auto-generated.** You should normally
652
+ # not need to pass this option.**
653
+ #
654
+ # @option params [Hash<String,String>] :tags
655
+ # Tag you want to attach to the identity source.
656
+ #
657
+ # @return [Types::CreateIdentitySourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
658
+ #
659
+ # * {Types::CreateIdentitySourceResponse#identity_source_type #identity_source_type} => String
660
+ # * {Types::CreateIdentitySourceResponse#identity_source_arn #identity_source_arn} => String
661
+ # * {Types::CreateIdentitySourceResponse#creation_time #creation_time} => Time
662
+ #
663
+ # @example Request syntax with placeholder values
664
+ #
665
+ # resp = client.create_identity_source({
666
+ # identity_source_parameters: { # required
667
+ # iam_identity_center: {
668
+ # instance_arn: "IdcInstanceArn", # required
669
+ # region: "String", # required
670
+ # },
671
+ # },
672
+ # client_token: "Token",
673
+ # tags: {
674
+ # "TagKey" => "TagValue",
675
+ # },
676
+ # })
677
+ #
678
+ # @example Response structure
679
+ #
680
+ # resp.identity_source_type #=> String, one of "IAM_IDENTITY_CENTER"
681
+ # resp.identity_source_arn #=> String
682
+ # resp.creation_time #=> Time
683
+ #
684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/CreateIdentitySource AWS API Documentation
685
+ #
686
+ # @overload create_identity_source(params = {})
687
+ # @param [Hash] params ({})
688
+ def create_identity_source(params = {}, options = {})
689
+ req = build_request(:create_identity_source, params)
690
+ req.send_request(options)
691
+ end
692
+
693
+ # Deletes an identity source. For more information, see [Identity
694
+ # Source][1] in the *Multi-party approval User Guide*.
695
+ #
696
+ #
697
+ #
698
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
699
+ #
700
+ # @option params [required, String] :identity_source_arn
701
+ # Amazon Resource Name (ARN) for identity source.
702
+ #
703
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
704
+ #
705
+ # @example Request syntax with placeholder values
706
+ #
707
+ # resp = client.delete_identity_source({
708
+ # identity_source_arn: "String", # required
709
+ # })
710
+ #
711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/DeleteIdentitySource AWS API Documentation
712
+ #
713
+ # @overload delete_identity_source(params = {})
714
+ # @param [Hash] params ({})
715
+ def delete_identity_source(params = {}, options = {})
716
+ req = build_request(:delete_identity_source, params)
717
+ req.send_request(options)
718
+ end
719
+
720
+ # Deletes an inactive approval team. For more information, see [Team
721
+ # health][1] in the *Multi-party approval User Guide*.
722
+ #
723
+ # You can also use this operation to delete a team draft. For more
724
+ # information, see [Interacting with drafts][2] in the *Multi-party
725
+ # approval User Guide*.
726
+ #
727
+ #
728
+ #
729
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-health.html
730
+ # [2]: https://docs.aws.amazon.com/mpa/latest/userguide/update-team.html#update-team-draft-status
731
+ #
732
+ # @option params [required, String] :arn
733
+ # Amaazon Resource Name (ARN) for the team.
734
+ #
735
+ # @option params [required, String] :version_id
736
+ # Version ID for the team.
737
+ #
738
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
739
+ #
740
+ # @example Request syntax with placeholder values
741
+ #
742
+ # resp = client.delete_inactive_approval_team_version({
743
+ # arn: "ApprovalTeamArn", # required
744
+ # version_id: "String", # required
745
+ # })
746
+ #
747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/DeleteInactiveApprovalTeamVersion AWS API Documentation
748
+ #
749
+ # @overload delete_inactive_approval_team_version(params = {})
750
+ # @param [Hash] params ({})
751
+ def delete_inactive_approval_team_version(params = {}, options = {})
752
+ req = build_request(:delete_inactive_approval_team_version, params)
753
+ req.send_request(options)
754
+ end
755
+
756
+ # Returns details for an approval team.
757
+ #
758
+ # @option params [required, String] :arn
759
+ # Amazon Resource Name (ARN) for the team.
760
+ #
761
+ # @return [Types::GetApprovalTeamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
762
+ #
763
+ # * {Types::GetApprovalTeamResponse#creation_time #creation_time} => Time
764
+ # * {Types::GetApprovalTeamResponse#approval_strategy #approval_strategy} => Types::ApprovalStrategyResponse
765
+ # * {Types::GetApprovalTeamResponse#number_of_approvers #number_of_approvers} => Integer
766
+ # * {Types::GetApprovalTeamResponse#approvers #approvers} => Array&lt;Types::GetApprovalTeamResponseApprover&gt;
767
+ # * {Types::GetApprovalTeamResponse#arn #arn} => String
768
+ # * {Types::GetApprovalTeamResponse#description #description} => String
769
+ # * {Types::GetApprovalTeamResponse#name #name} => String
770
+ # * {Types::GetApprovalTeamResponse#status #status} => String
771
+ # * {Types::GetApprovalTeamResponse#status_code #status_code} => String
772
+ # * {Types::GetApprovalTeamResponse#status_message #status_message} => String
773
+ # * {Types::GetApprovalTeamResponse#update_session_arn #update_session_arn} => String
774
+ # * {Types::GetApprovalTeamResponse#version_id #version_id} => String
775
+ # * {Types::GetApprovalTeamResponse#policies #policies} => Array&lt;Types::PolicyReference&gt;
776
+ # * {Types::GetApprovalTeamResponse#last_update_time #last_update_time} => Time
777
+ # * {Types::GetApprovalTeamResponse#pending_update #pending_update} => Types::PendingUpdate
778
+ #
779
+ # @example Request syntax with placeholder values
780
+ #
781
+ # resp = client.get_approval_team({
782
+ # arn: "ApprovalTeamArn", # required
783
+ # })
784
+ #
785
+ # @example Response structure
786
+ #
787
+ # resp.creation_time #=> Time
788
+ # resp.approval_strategy.mof_n.min_approvals_required #=> Integer
789
+ # resp.number_of_approvers #=> Integer
790
+ # resp.approvers #=> Array
791
+ # resp.approvers[0].approver_id #=> String
792
+ # resp.approvers[0].response_time #=> Time
793
+ # resp.approvers[0].primary_identity_id #=> String
794
+ # resp.approvers[0].primary_identity_source_arn #=> String
795
+ # resp.approvers[0].primary_identity_status #=> String, one of "PENDING", "ACCEPTED", "REJECTED", "INVALID"
796
+ # resp.arn #=> String
797
+ # resp.description #=> String
798
+ # resp.name #=> String
799
+ # resp.status #=> String, one of "ACTIVE", "INACTIVE", "DELETING", "PENDING"
800
+ # resp.status_code #=> String, one of "VALIDATING", "PENDING_ACTIVATION", "FAILED_VALIDATION", "FAILED_ACTIVATION", "UPDATE_PENDING_APPROVAL", "UPDATE_PENDING_ACTIVATION", "UPDATE_FAILED_APPROVAL", "UPDATE_FAILED_ACTIVATION", "UPDATE_FAILED_VALIDATION", "DELETE_PENDING_APPROVAL", "DELETE_FAILED_APPROVAL", "DELETE_FAILED_VALIDATION"
801
+ # resp.status_message #=> String
802
+ # resp.update_session_arn #=> String
803
+ # resp.version_id #=> String
804
+ # resp.policies #=> Array
805
+ # resp.policies[0].policy_arn #=> String
806
+ # resp.last_update_time #=> Time
807
+ # resp.pending_update.version_id #=> String
808
+ # resp.pending_update.description #=> String
809
+ # resp.pending_update.approval_strategy.mof_n.min_approvals_required #=> Integer
810
+ # resp.pending_update.number_of_approvers #=> Integer
811
+ # resp.pending_update.status #=> String, one of "ACTIVE", "INACTIVE", "DELETING", "PENDING"
812
+ # resp.pending_update.status_code #=> String, one of "VALIDATING", "PENDING_ACTIVATION", "FAILED_VALIDATION", "FAILED_ACTIVATION", "UPDATE_PENDING_APPROVAL", "UPDATE_PENDING_ACTIVATION", "UPDATE_FAILED_APPROVAL", "UPDATE_FAILED_ACTIVATION", "UPDATE_FAILED_VALIDATION", "DELETE_PENDING_APPROVAL", "DELETE_FAILED_APPROVAL", "DELETE_FAILED_VALIDATION"
813
+ # resp.pending_update.status_message #=> String
814
+ # resp.pending_update.approvers #=> Array
815
+ # resp.pending_update.approvers[0].approver_id #=> String
816
+ # resp.pending_update.approvers[0].response_time #=> Time
817
+ # resp.pending_update.approvers[0].primary_identity_id #=> String
818
+ # resp.pending_update.approvers[0].primary_identity_source_arn #=> String
819
+ # resp.pending_update.approvers[0].primary_identity_status #=> String, one of "PENDING", "ACCEPTED", "REJECTED", "INVALID"
820
+ # resp.pending_update.update_initiation_time #=> Time
821
+ #
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/GetApprovalTeam AWS API Documentation
823
+ #
824
+ # @overload get_approval_team(params = {})
825
+ # @param [Hash] params ({})
826
+ def get_approval_team(params = {}, options = {})
827
+ req = build_request(:get_approval_team, params)
828
+ req.send_request(options)
829
+ end
830
+
831
+ # Returns details for an identity source. For more information, see
832
+ # [Identity Source][1] in the *Multi-party approval User Guide*.
833
+ #
834
+ #
835
+ #
836
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
837
+ #
838
+ # @option params [required, String] :identity_source_arn
839
+ # Amazon Resource Name (ARN) for the identity source.
840
+ #
841
+ # @return [Types::GetIdentitySourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
842
+ #
843
+ # * {Types::GetIdentitySourceResponse#identity_source_type #identity_source_type} => String
844
+ # * {Types::GetIdentitySourceResponse#identity_source_parameters #identity_source_parameters} => Types::IdentitySourceParametersForGet
845
+ # * {Types::GetIdentitySourceResponse#identity_source_arn #identity_source_arn} => String
846
+ # * {Types::GetIdentitySourceResponse#creation_time #creation_time} => Time
847
+ # * {Types::GetIdentitySourceResponse#status #status} => String
848
+ # * {Types::GetIdentitySourceResponse#status_code #status_code} => String
849
+ # * {Types::GetIdentitySourceResponse#status_message #status_message} => String
850
+ #
851
+ # @example Request syntax with placeholder values
852
+ #
853
+ # resp = client.get_identity_source({
854
+ # identity_source_arn: "String", # required
855
+ # })
856
+ #
857
+ # @example Response structure
858
+ #
859
+ # resp.identity_source_type #=> String, one of "IAM_IDENTITY_CENTER"
860
+ # resp.identity_source_parameters.iam_identity_center.instance_arn #=> String
861
+ # resp.identity_source_parameters.iam_identity_center.approval_portal_url #=> String
862
+ # resp.identity_source_parameters.iam_identity_center.region #=> String
863
+ # resp.identity_source_arn #=> String
864
+ # resp.creation_time #=> Time
865
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "ERROR"
866
+ # resp.status_code #=> String, one of "ACCESS_DENIED", "DELETION_FAILED", "IDC_INSTANCE_NOT_FOUND", "IDC_INSTANCE_NOT_VALID"
867
+ # resp.status_message #=> String
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/GetIdentitySource AWS API Documentation
870
+ #
871
+ # @overload get_identity_source(params = {})
872
+ # @param [Hash] params ({})
873
+ def get_identity_source(params = {}, options = {})
874
+ req = build_request(:get_identity_source, params)
875
+ req.send_request(options)
876
+ end
877
+
878
+ # Returns details for the version of a policy. Policies define the
879
+ # permissions for team resources.
880
+ #
881
+ # The protected operation for a service integration might require
882
+ # specific permissions. For more information, see [How other services
883
+ # work with Multi-party approval][1] in the *Multi-party approval User
884
+ # Guide*.
885
+ #
886
+ #
887
+ #
888
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-integrations.html
889
+ #
890
+ # @option params [required, String] :policy_version_arn
891
+ # Amazon Resource Name (ARN) for the policy.
892
+ #
893
+ # @return [Types::GetPolicyVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
894
+ #
895
+ # * {Types::GetPolicyVersionResponse#policy_version #policy_version} => Types::PolicyVersion
896
+ #
897
+ # @example Request syntax with placeholder values
898
+ #
899
+ # resp = client.get_policy_version({
900
+ # policy_version_arn: "QualifiedPolicyArn", # required
901
+ # })
902
+ #
903
+ # @example Response structure
904
+ #
905
+ # resp.policy_version.arn #=> String
906
+ # resp.policy_version.policy_arn #=> String
907
+ # resp.policy_version.version_id #=> Integer
908
+ # resp.policy_version.policy_type #=> String, one of "AWS_MANAGED", "AWS_RAM"
909
+ # resp.policy_version.is_default #=> Boolean
910
+ # resp.policy_version.name #=> String
911
+ # resp.policy_version.status #=> String, one of "ATTACHABLE", "DEPRECATED"
912
+ # resp.policy_version.creation_time #=> Time
913
+ # resp.policy_version.last_updated_time #=> Time
914
+ # resp.policy_version.document #=> String
915
+ #
916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/GetPolicyVersion AWS API Documentation
917
+ #
918
+ # @overload get_policy_version(params = {})
919
+ # @param [Hash] params ({})
920
+ def get_policy_version(params = {}, options = {})
921
+ req = build_request(:get_policy_version, params)
922
+ req.send_request(options)
923
+ end
924
+
925
+ # Returns details about a policy for a resource.
926
+ #
927
+ # @option params [required, String] :resource_arn
928
+ # Amazon Resource Name (ARN) for the resource.
929
+ #
930
+ # @option params [required, String] :policy_name
931
+ # Name of the policy.
932
+ #
933
+ # @option params [required, String] :policy_type
934
+ # The type of policy.
935
+ #
936
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
937
+ #
938
+ # * {Types::GetResourcePolicyResponse#resource_arn #resource_arn} => String
939
+ # * {Types::GetResourcePolicyResponse#policy_type #policy_type} => String
940
+ # * {Types::GetResourcePolicyResponse#policy_version_arn #policy_version_arn} => String
941
+ # * {Types::GetResourcePolicyResponse#policy_name #policy_name} => String
942
+ # * {Types::GetResourcePolicyResponse#policy_document #policy_document} => String
943
+ #
944
+ # @example Request syntax with placeholder values
945
+ #
946
+ # resp = client.get_resource_policy({
947
+ # resource_arn: "String", # required
948
+ # policy_name: "String", # required
949
+ # policy_type: "AWS_MANAGED", # required, accepts AWS_MANAGED, AWS_RAM
950
+ # })
951
+ #
952
+ # @example Response structure
953
+ #
954
+ # resp.resource_arn #=> String
955
+ # resp.policy_type #=> String, one of "AWS_MANAGED", "AWS_RAM"
956
+ # resp.policy_version_arn #=> String
957
+ # resp.policy_name #=> String
958
+ # resp.policy_document #=> String
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/GetResourcePolicy AWS API Documentation
961
+ #
962
+ # @overload get_resource_policy(params = {})
963
+ # @param [Hash] params ({})
964
+ def get_resource_policy(params = {}, options = {})
965
+ req = build_request(:get_resource_policy, params)
966
+ req.send_request(options)
967
+ end
968
+
969
+ # Returns details for an approval session. For more information, see
970
+ # [Session][1] in the *Multi-party approval User Guide*.
971
+ #
972
+ #
973
+ #
974
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
975
+ #
976
+ # @option params [required, String] :session_arn
977
+ # Amazon Resource Name (ARN) for the session.
978
+ #
979
+ # @return [Types::GetSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
980
+ #
981
+ # * {Types::GetSessionResponse#session_arn #session_arn} => String
982
+ # * {Types::GetSessionResponse#approval_team_arn #approval_team_arn} => String
983
+ # * {Types::GetSessionResponse#approval_team_name #approval_team_name} => String
984
+ # * {Types::GetSessionResponse#protected_resource_arn #protected_resource_arn} => String
985
+ # * {Types::GetSessionResponse#approval_strategy #approval_strategy} => Types::ApprovalStrategyResponse
986
+ # * {Types::GetSessionResponse#number_of_approvers #number_of_approvers} => Integer
987
+ # * {Types::GetSessionResponse#initiation_time #initiation_time} => Time
988
+ # * {Types::GetSessionResponse#expiration_time #expiration_time} => Time
989
+ # * {Types::GetSessionResponse#completion_time #completion_time} => Time
990
+ # * {Types::GetSessionResponse#description #description} => String
991
+ # * {Types::GetSessionResponse#metadata #metadata} => Hash&lt;String,String&gt;
992
+ # * {Types::GetSessionResponse#status #status} => String
993
+ # * {Types::GetSessionResponse#status_code #status_code} => String
994
+ # * {Types::GetSessionResponse#status_message #status_message} => String
995
+ # * {Types::GetSessionResponse#execution_status #execution_status} => String
996
+ # * {Types::GetSessionResponse#action_name #action_name} => String
997
+ # * {Types::GetSessionResponse#requester_service_principal #requester_service_principal} => String
998
+ # * {Types::GetSessionResponse#requester_principal_arn #requester_principal_arn} => String
999
+ # * {Types::GetSessionResponse#requester_account_id #requester_account_id} => String
1000
+ # * {Types::GetSessionResponse#requester_region #requester_region} => String
1001
+ # * {Types::GetSessionResponse#requester_comment #requester_comment} => String
1002
+ # * {Types::GetSessionResponse#action_completion_strategy #action_completion_strategy} => String
1003
+ # * {Types::GetSessionResponse#approver_responses #approver_responses} => Array&lt;Types::GetSessionResponseApproverResponse&gt;
1004
+ #
1005
+ # @example Request syntax with placeholder values
1006
+ #
1007
+ # resp = client.get_session({
1008
+ # session_arn: "SessionArn", # required
1009
+ # })
1010
+ #
1011
+ # @example Response structure
1012
+ #
1013
+ # resp.session_arn #=> String
1014
+ # resp.approval_team_arn #=> String
1015
+ # resp.approval_team_name #=> String
1016
+ # resp.protected_resource_arn #=> String
1017
+ # resp.approval_strategy.mof_n.min_approvals_required #=> Integer
1018
+ # resp.number_of_approvers #=> Integer
1019
+ # resp.initiation_time #=> Time
1020
+ # resp.expiration_time #=> Time
1021
+ # resp.completion_time #=> Time
1022
+ # resp.description #=> String
1023
+ # resp.metadata #=> Hash
1024
+ # resp.metadata["SessionKey"] #=> String
1025
+ # resp.status #=> String, one of "PENDING", "CANCELLED", "APPROVED", "FAILED", "CREATING"
1026
+ # resp.status_code #=> String, one of "REJECTED", "EXPIRED", "CONFIGURATION_CHANGED"
1027
+ # resp.status_message #=> String
1028
+ # resp.execution_status #=> String, one of "EXECUTED", "FAILED", "PENDING"
1029
+ # resp.action_name #=> String
1030
+ # resp.requester_service_principal #=> String
1031
+ # resp.requester_principal_arn #=> String
1032
+ # resp.requester_account_id #=> String
1033
+ # resp.requester_region #=> String
1034
+ # resp.requester_comment #=> String
1035
+ # resp.action_completion_strategy #=> String, one of "AUTO_COMPLETION_UPON_APPROVAL"
1036
+ # resp.approver_responses #=> Array
1037
+ # resp.approver_responses[0].approver_id #=> String
1038
+ # resp.approver_responses[0].identity_source_arn #=> String
1039
+ # resp.approver_responses[0].identity_id #=> String
1040
+ # resp.approver_responses[0].response #=> String, one of "APPROVED", "REJECTED", "NO_RESPONSE"
1041
+ # resp.approver_responses[0].response_time #=> Time
1042
+ #
1043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/GetSession AWS API Documentation
1044
+ #
1045
+ # @overload get_session(params = {})
1046
+ # @param [Hash] params ({})
1047
+ def get_session(params = {}, options = {})
1048
+ req = build_request(:get_session, params)
1049
+ req.send_request(options)
1050
+ end
1051
+
1052
+ # Returns a list of approval teams.
1053
+ #
1054
+ # @option params [Integer] :max_results
1055
+ # The maximum number of items to return in the response. If more results
1056
+ # exist than the specified `MaxResults` value, a token is included in
1057
+ # the response so that you can retrieve the remaining results.
1058
+ #
1059
+ # @option params [String] :next_token
1060
+ # If present, indicates that more output is available than is included
1061
+ # in the current response. Use this value in the `NextToken` request
1062
+ # parameter in a next call to the operation to get more output. You can
1063
+ # repeat this until the `NextToken` response element returns `null`.
1064
+ #
1065
+ # @return [Types::ListApprovalTeamsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1066
+ #
1067
+ # * {Types::ListApprovalTeamsResponse#next_token #next_token} => String
1068
+ # * {Types::ListApprovalTeamsResponse#approval_teams #approval_teams} => Array&lt;Types::ListApprovalTeamsResponseApprovalTeam&gt;
1069
+ #
1070
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1071
+ #
1072
+ # @example Request syntax with placeholder values
1073
+ #
1074
+ # resp = client.list_approval_teams({
1075
+ # max_results: 1,
1076
+ # next_token: "Token",
1077
+ # })
1078
+ #
1079
+ # @example Response structure
1080
+ #
1081
+ # resp.next_token #=> String
1082
+ # resp.approval_teams #=> Array
1083
+ # resp.approval_teams[0].creation_time #=> Time
1084
+ # resp.approval_teams[0].approval_strategy.mof_n.min_approvals_required #=> Integer
1085
+ # resp.approval_teams[0].number_of_approvers #=> Integer
1086
+ # resp.approval_teams[0].arn #=> String
1087
+ # resp.approval_teams[0].name #=> String
1088
+ # resp.approval_teams[0].description #=> String
1089
+ # resp.approval_teams[0].status #=> String, one of "ACTIVE", "INACTIVE", "DELETING", "PENDING"
1090
+ # resp.approval_teams[0].status_code #=> String, one of "VALIDATING", "PENDING_ACTIVATION", "FAILED_VALIDATION", "FAILED_ACTIVATION", "UPDATE_PENDING_APPROVAL", "UPDATE_PENDING_ACTIVATION", "UPDATE_FAILED_APPROVAL", "UPDATE_FAILED_ACTIVATION", "UPDATE_FAILED_VALIDATION", "DELETE_PENDING_APPROVAL", "DELETE_FAILED_APPROVAL", "DELETE_FAILED_VALIDATION"
1091
+ # resp.approval_teams[0].status_message #=> String
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListApprovalTeams AWS API Documentation
1094
+ #
1095
+ # @overload list_approval_teams(params = {})
1096
+ # @param [Hash] params ({})
1097
+ def list_approval_teams(params = {}, options = {})
1098
+ req = build_request(:list_approval_teams, params)
1099
+ req.send_request(options)
1100
+ end
1101
+
1102
+ # Returns a list of identity sources. For more information, see
1103
+ # [Identity Source][1] in the *Multi-party approval User Guide*.
1104
+ #
1105
+ #
1106
+ #
1107
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
1108
+ #
1109
+ # @option params [Integer] :max_results
1110
+ # The maximum number of items to return in the response. If more results
1111
+ # exist than the specified `MaxResults` value, a token is included in
1112
+ # the response so that you can retrieve the remaining results.
1113
+ #
1114
+ # @option params [String] :next_token
1115
+ # If present, indicates that more output is available than is included
1116
+ # in the current response. Use this value in the `NextToken` request
1117
+ # parameter in a next call to the operation to get more output. You can
1118
+ # repeat this until the `NextToken` response element returns `null`.
1119
+ #
1120
+ # @return [Types::ListIdentitySourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1121
+ #
1122
+ # * {Types::ListIdentitySourcesResponse#next_token #next_token} => String
1123
+ # * {Types::ListIdentitySourcesResponse#identity_sources #identity_sources} => Array&lt;Types::IdentitySourceForList&gt;
1124
+ #
1125
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1126
+ #
1127
+ # @example Request syntax with placeholder values
1128
+ #
1129
+ # resp = client.list_identity_sources({
1130
+ # max_results: 1,
1131
+ # next_token: "Token",
1132
+ # })
1133
+ #
1134
+ # @example Response structure
1135
+ #
1136
+ # resp.next_token #=> String
1137
+ # resp.identity_sources #=> Array
1138
+ # resp.identity_sources[0].identity_source_type #=> String, one of "IAM_IDENTITY_CENTER"
1139
+ # resp.identity_sources[0].identity_source_parameters.iam_identity_center.instance_arn #=> String
1140
+ # resp.identity_sources[0].identity_source_parameters.iam_identity_center.approval_portal_url #=> String
1141
+ # resp.identity_sources[0].identity_source_parameters.iam_identity_center.region #=> String
1142
+ # resp.identity_sources[0].identity_source_arn #=> String
1143
+ # resp.identity_sources[0].creation_time #=> Time
1144
+ # resp.identity_sources[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "ERROR"
1145
+ # resp.identity_sources[0].status_code #=> String, one of "ACCESS_DENIED", "DELETION_FAILED", "IDC_INSTANCE_NOT_FOUND", "IDC_INSTANCE_NOT_VALID"
1146
+ # resp.identity_sources[0].status_message #=> String
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListIdentitySources AWS API Documentation
1149
+ #
1150
+ # @overload list_identity_sources(params = {})
1151
+ # @param [Hash] params ({})
1152
+ def list_identity_sources(params = {}, options = {})
1153
+ req = build_request(:list_identity_sources, params)
1154
+ req.send_request(options)
1155
+ end
1156
+
1157
+ # Returns a list of policies. Policies define the permissions for team
1158
+ # resources.
1159
+ #
1160
+ # The protected operation for a service integration might require
1161
+ # specific permissions. For more information, see [How other services
1162
+ # work with Multi-party approval][1] in the *Multi-party approval User
1163
+ # Guide*.
1164
+ #
1165
+ #
1166
+ #
1167
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-integrations.html
1168
+ #
1169
+ # @option params [Integer] :max_results
1170
+ # The maximum number of items to return in the response. If more results
1171
+ # exist than the specified `MaxResults` value, a token is included in
1172
+ # the response so that you can retrieve the remaining results.
1173
+ #
1174
+ # @option params [String] :next_token
1175
+ # If present, indicates that more output is available than is included
1176
+ # in the current response. Use this value in the `NextToken` request
1177
+ # parameter in a next call to the operation to get more output. You can
1178
+ # repeat this until the `NextToken` response element returns `null`.
1179
+ #
1180
+ # @return [Types::ListPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1181
+ #
1182
+ # * {Types::ListPoliciesResponse#next_token #next_token} => String
1183
+ # * {Types::ListPoliciesResponse#policies #policies} => Array&lt;Types::Policy&gt;
1184
+ #
1185
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1186
+ #
1187
+ # @example Request syntax with placeholder values
1188
+ #
1189
+ # resp = client.list_policies({
1190
+ # max_results: 1,
1191
+ # next_token: "Token",
1192
+ # })
1193
+ #
1194
+ # @example Response structure
1195
+ #
1196
+ # resp.next_token #=> String
1197
+ # resp.policies #=> Array
1198
+ # resp.policies[0].arn #=> String
1199
+ # resp.policies[0].default_version #=> Integer
1200
+ # resp.policies[0].policy_type #=> String, one of "AWS_MANAGED", "AWS_RAM"
1201
+ # resp.policies[0].name #=> String
1202
+ #
1203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListPolicies AWS API Documentation
1204
+ #
1205
+ # @overload list_policies(params = {})
1206
+ # @param [Hash] params ({})
1207
+ def list_policies(params = {}, options = {})
1208
+ req = build_request(:list_policies, params)
1209
+ req.send_request(options)
1210
+ end
1211
+
1212
+ # Returns a list of the versions for policies. Policies define the
1213
+ # permissions for team resources.
1214
+ #
1215
+ # The protected operation for a service integration might require
1216
+ # specific permissions. For more information, see [How other services
1217
+ # work with Multi-party approval][1] in the *Multi-party approval User
1218
+ # Guide*.
1219
+ #
1220
+ #
1221
+ #
1222
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-integrations.html
1223
+ #
1224
+ # @option params [Integer] :max_results
1225
+ # The maximum number of items to return in the response. If more results
1226
+ # exist than the specified `MaxResults` value, a token is included in
1227
+ # the response so that you can retrieve the remaining results.
1228
+ #
1229
+ # @option params [String] :next_token
1230
+ # If present, indicates that more output is available than is included
1231
+ # in the current response. Use this value in the `NextToken` request
1232
+ # parameter in a next call to the operation to get more output. You can
1233
+ # repeat this until the `NextToken` response element returns `null`.
1234
+ #
1235
+ # @option params [required, String] :policy_arn
1236
+ # Amazon Resource Name (ARN) for the policy.
1237
+ #
1238
+ # @return [Types::ListPolicyVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1239
+ #
1240
+ # * {Types::ListPolicyVersionsResponse#next_token #next_token} => String
1241
+ # * {Types::ListPolicyVersionsResponse#policy_versions #policy_versions} => Array&lt;Types::PolicyVersionSummary&gt;
1242
+ #
1243
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1244
+ #
1245
+ # @example Request syntax with placeholder values
1246
+ #
1247
+ # resp = client.list_policy_versions({
1248
+ # max_results: 1,
1249
+ # next_token: "Token",
1250
+ # policy_arn: "UnqualifiedPolicyArn", # required
1251
+ # })
1252
+ #
1253
+ # @example Response structure
1254
+ #
1255
+ # resp.next_token #=> String
1256
+ # resp.policy_versions #=> Array
1257
+ # resp.policy_versions[0].arn #=> String
1258
+ # resp.policy_versions[0].policy_arn #=> String
1259
+ # resp.policy_versions[0].version_id #=> Integer
1260
+ # resp.policy_versions[0].policy_type #=> String, one of "AWS_MANAGED", "AWS_RAM"
1261
+ # resp.policy_versions[0].is_default #=> Boolean
1262
+ # resp.policy_versions[0].name #=> String
1263
+ # resp.policy_versions[0].status #=> String, one of "ATTACHABLE", "DEPRECATED"
1264
+ # resp.policy_versions[0].creation_time #=> Time
1265
+ # resp.policy_versions[0].last_updated_time #=> Time
1266
+ #
1267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListPolicyVersions AWS API Documentation
1268
+ #
1269
+ # @overload list_policy_versions(params = {})
1270
+ # @param [Hash] params ({})
1271
+ def list_policy_versions(params = {}, options = {})
1272
+ req = build_request(:list_policy_versions, params)
1273
+ req.send_request(options)
1274
+ end
1275
+
1276
+ # Returns a list of policies for a resource.
1277
+ #
1278
+ # @option params [required, String] :resource_arn
1279
+ # Amazon Resource Name (ARN) for the resource.
1280
+ #
1281
+ # @option params [Integer] :max_results
1282
+ # The maximum number of items to return in the response. If more results
1283
+ # exist than the specified `MaxResults` value, a token is included in
1284
+ # the response so that you can retrieve the remaining results.
1285
+ #
1286
+ # @option params [String] :next_token
1287
+ # If present, indicates that more output is available than is included
1288
+ # in the current response. Use this value in the `NextToken` request
1289
+ # parameter in a next call to the operation to get more output. You can
1290
+ # repeat this until the `NextToken` response element returns `null`.
1291
+ #
1292
+ # @return [Types::ListResourcePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1293
+ #
1294
+ # * {Types::ListResourcePoliciesResponse#next_token #next_token} => String
1295
+ # * {Types::ListResourcePoliciesResponse#resource_policies #resource_policies} => Array&lt;Types::ListResourcePoliciesResponseResourcePolicy&gt;
1296
+ #
1297
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1298
+ #
1299
+ # @example Request syntax with placeholder values
1300
+ #
1301
+ # resp = client.list_resource_policies({
1302
+ # resource_arn: "String", # required
1303
+ # max_results: 1,
1304
+ # next_token: "Token",
1305
+ # })
1306
+ #
1307
+ # @example Response structure
1308
+ #
1309
+ # resp.next_token #=> String
1310
+ # resp.resource_policies #=> Array
1311
+ # resp.resource_policies[0].policy_arn #=> String
1312
+ # resp.resource_policies[0].policy_type #=> String, one of "AWS_MANAGED", "AWS_RAM"
1313
+ # resp.resource_policies[0].policy_name #=> String
1314
+ #
1315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListResourcePolicies AWS API Documentation
1316
+ #
1317
+ # @overload list_resource_policies(params = {})
1318
+ # @param [Hash] params ({})
1319
+ def list_resource_policies(params = {}, options = {})
1320
+ req = build_request(:list_resource_policies, params)
1321
+ req.send_request(options)
1322
+ end
1323
+
1324
+ # Returns a list of approval sessions. For more information, see
1325
+ # [Session][1] in the *Multi-party approval User Guide*.
1326
+ #
1327
+ #
1328
+ #
1329
+ # [1]: https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html
1330
+ #
1331
+ # @option params [required, String] :approval_team_arn
1332
+ # Amazon Resource Name (ARN) for the approval team.
1333
+ #
1334
+ # @option params [Integer] :max_results
1335
+ # The maximum number of items to return in the response. If more results
1336
+ # exist than the specified `MaxResults` value, a token is included in
1337
+ # the response so that you can retrieve the remaining results.
1338
+ #
1339
+ # @option params [String] :next_token
1340
+ # If present, indicates that more output is available than is included
1341
+ # in the current response. Use this value in the `NextToken` request
1342
+ # parameter in a next call to the operation to get more output. You can
1343
+ # repeat this until the `NextToken` response element returns `null`.
1344
+ #
1345
+ # @option params [Array<Types::Filter>] :filters
1346
+ # An array of `Filter` objects. Contains the filter to apply when
1347
+ # listing sessions.
1348
+ #
1349
+ # @return [Types::ListSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1350
+ #
1351
+ # * {Types::ListSessionsResponse#next_token #next_token} => String
1352
+ # * {Types::ListSessionsResponse#sessions #sessions} => Array&lt;Types::ListSessionsResponseSession&gt;
1353
+ #
1354
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.list_sessions({
1359
+ # approval_team_arn: "ApprovalTeamArn", # required
1360
+ # max_results: 1,
1361
+ # next_token: "Token",
1362
+ # filters: [
1363
+ # {
1364
+ # field_name: "ActionName", # accepts ActionName, ApprovalTeamName, VotingTime, Vote, SessionStatus, InitiationTime
1365
+ # operator: "EQ", # accepts EQ, NE, GT, LT, GTE, LTE, CONTAINS, NOT_CONTAINS, BETWEEN
1366
+ # value: "String",
1367
+ # },
1368
+ # ],
1369
+ # })
1370
+ #
1371
+ # @example Response structure
1372
+ #
1373
+ # resp.next_token #=> String
1374
+ # resp.sessions #=> Array
1375
+ # resp.sessions[0].session_arn #=> String
1376
+ # resp.sessions[0].approval_team_name #=> String
1377
+ # resp.sessions[0].approval_team_arn #=> String
1378
+ # resp.sessions[0].initiation_time #=> Time
1379
+ # resp.sessions[0].expiration_time #=> Time
1380
+ # resp.sessions[0].completion_time #=> Time
1381
+ # resp.sessions[0].description #=> String
1382
+ # resp.sessions[0].action_name #=> String
1383
+ # resp.sessions[0].protected_resource_arn #=> String
1384
+ # resp.sessions[0].requester_service_principal #=> String
1385
+ # resp.sessions[0].requester_principal_arn #=> String
1386
+ # resp.sessions[0].requester_region #=> String
1387
+ # resp.sessions[0].requester_account_id #=> String
1388
+ # resp.sessions[0].status #=> String, one of "PENDING", "CANCELLED", "APPROVED", "FAILED", "CREATING"
1389
+ # resp.sessions[0].status_code #=> String, one of "REJECTED", "EXPIRED", "CONFIGURATION_CHANGED"
1390
+ # resp.sessions[0].status_message #=> String
1391
+ # resp.sessions[0].action_completion_strategy #=> String, one of "AUTO_COMPLETION_UPON_APPROVAL"
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListSessions AWS API Documentation
1394
+ #
1395
+ # @overload list_sessions(params = {})
1396
+ # @param [Hash] params ({})
1397
+ def list_sessions(params = {}, options = {})
1398
+ req = build_request(:list_sessions, params)
1399
+ req.send_request(options)
1400
+ end
1401
+
1402
+ # Returns a list of the tags for a resource.
1403
+ #
1404
+ # @option params [required, String] :resource_arn
1405
+ # Amazon Resource Name (ARN) for the resource.
1406
+ #
1407
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1408
+ #
1409
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1410
+ #
1411
+ # @example Request syntax with placeholder values
1412
+ #
1413
+ # resp = client.list_tags_for_resource({
1414
+ # resource_arn: "String", # required
1415
+ # })
1416
+ #
1417
+ # @example Response structure
1418
+ #
1419
+ # resp.tags #=> Hash
1420
+ # resp.tags["TagKey"] #=> String
1421
+ #
1422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/ListTagsForResource AWS API Documentation
1423
+ #
1424
+ # @overload list_tags_for_resource(params = {})
1425
+ # @param [Hash] params ({})
1426
+ def list_tags_for_resource(params = {}, options = {})
1427
+ req = build_request(:list_tags_for_resource, params)
1428
+ req.send_request(options)
1429
+ end
1430
+
1431
+ # Starts the deletion process for an active approval team.
1432
+ #
1433
+ # <note markdown="1"> **Deletions require team approval**
1434
+ #
1435
+ # Requests to delete an active team must be approved by the team.
1436
+ #
1437
+ # </note>
1438
+ #
1439
+ # @option params [Integer] :pending_window_days
1440
+ # Number of days between when the team approves the delete request and
1441
+ # when the team is deleted.
1442
+ #
1443
+ # @option params [required, String] :arn
1444
+ # Amazon Resource Name (ARN) for the team.
1445
+ #
1446
+ # @return [Types::StartActiveApprovalTeamDeletionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1447
+ #
1448
+ # * {Types::StartActiveApprovalTeamDeletionResponse#deletion_completion_time #deletion_completion_time} => Time
1449
+ # * {Types::StartActiveApprovalTeamDeletionResponse#deletion_start_time #deletion_start_time} => Time
1450
+ #
1451
+ # @example Request syntax with placeholder values
1452
+ #
1453
+ # resp = client.start_active_approval_team_deletion({
1454
+ # pending_window_days: 1,
1455
+ # arn: "ApprovalTeamArn", # required
1456
+ # })
1457
+ #
1458
+ # @example Response structure
1459
+ #
1460
+ # resp.deletion_completion_time #=> Time
1461
+ # resp.deletion_start_time #=> Time
1462
+ #
1463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/StartActiveApprovalTeamDeletion AWS API Documentation
1464
+ #
1465
+ # @overload start_active_approval_team_deletion(params = {})
1466
+ # @param [Hash] params ({})
1467
+ def start_active_approval_team_deletion(params = {}, options = {})
1468
+ req = build_request(:start_active_approval_team_deletion, params)
1469
+ req.send_request(options)
1470
+ end
1471
+
1472
+ # Creates or updates a resource tag. Each tag is a label consisting of a
1473
+ # user-defined key and value. Tags can help you manage, identify,
1474
+ # organize, search for, and filter resources.
1475
+ #
1476
+ # @option params [required, String] :resource_arn
1477
+ # Amazon Resource Name (ARN) for the resource you want to tag.
1478
+ #
1479
+ # @option params [required, Hash<String,String>] :tags
1480
+ # Tags that you have added to the specified resource.
1481
+ #
1482
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1483
+ #
1484
+ # @example Request syntax with placeholder values
1485
+ #
1486
+ # resp = client.tag_resource({
1487
+ # resource_arn: "String", # required
1488
+ # tags: { # required
1489
+ # "TagKey" => "TagValue",
1490
+ # },
1491
+ # })
1492
+ #
1493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/TagResource AWS API Documentation
1494
+ #
1495
+ # @overload tag_resource(params = {})
1496
+ # @param [Hash] params ({})
1497
+ def tag_resource(params = {}, options = {})
1498
+ req = build_request(:tag_resource, params)
1499
+ req.send_request(options)
1500
+ end
1501
+
1502
+ # Removes a resource tag. Each tag is a label consisting of a
1503
+ # user-defined key and value. Tags can help you manage, identify,
1504
+ # organize, search for, and filter resources.
1505
+ #
1506
+ # @option params [required, String] :resource_arn
1507
+ # Amazon Resource Name (ARN) for the resource you want to untag.
1508
+ #
1509
+ # @option params [required, Array<String>] :tag_keys
1510
+ # Array of tag key-value pairs that you want to untag.
1511
+ #
1512
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1513
+ #
1514
+ # @example Request syntax with placeholder values
1515
+ #
1516
+ # resp = client.untag_resource({
1517
+ # resource_arn: "String", # required
1518
+ # tag_keys: ["TagKey"], # required
1519
+ # })
1520
+ #
1521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/UntagResource AWS API Documentation
1522
+ #
1523
+ # @overload untag_resource(params = {})
1524
+ # @param [Hash] params ({})
1525
+ def untag_resource(params = {}, options = {})
1526
+ req = build_request(:untag_resource, params)
1527
+ req.send_request(options)
1528
+ end
1529
+
1530
+ # Updates an approval team. You can request to update the team
1531
+ # description, approval threshold, and approvers in the team.
1532
+ #
1533
+ # <note markdown="1"> **Updates require team approval**
1534
+ #
1535
+ # Updates to an active team must be approved by the team.
1536
+ #
1537
+ # </note>
1538
+ #
1539
+ # @option params [Types::ApprovalStrategy] :approval_strategy
1540
+ # An `ApprovalStrategy` object. Contains details for how the team grants
1541
+ # approval.
1542
+ #
1543
+ # @option params [Array<Types::ApprovalTeamRequestApprover>] :approvers
1544
+ # An array of `ApprovalTeamRequestApprover` objects. Contains details
1545
+ # for the approvers in the team.
1546
+ #
1547
+ # @option params [String] :description
1548
+ # Description for the team.
1549
+ #
1550
+ # @option params [required, String] :arn
1551
+ # Amazon Resource Name (ARN) for the team.
1552
+ #
1553
+ # @return [Types::UpdateApprovalTeamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1554
+ #
1555
+ # * {Types::UpdateApprovalTeamResponse#version_id #version_id} => String
1556
+ #
1557
+ # @example Request syntax with placeholder values
1558
+ #
1559
+ # resp = client.update_approval_team({
1560
+ # approval_strategy: {
1561
+ # mof_n: {
1562
+ # min_approvals_required: 1, # required
1563
+ # },
1564
+ # },
1565
+ # approvers: [
1566
+ # {
1567
+ # primary_identity_id: "IdentityId", # required
1568
+ # primary_identity_source_arn: "String", # required
1569
+ # },
1570
+ # ],
1571
+ # description: "Description",
1572
+ # arn: "ApprovalTeamArn", # required
1573
+ # })
1574
+ #
1575
+ # @example Response structure
1576
+ #
1577
+ # resp.version_id #=> String
1578
+ #
1579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/UpdateApprovalTeam AWS API Documentation
1580
+ #
1581
+ # @overload update_approval_team(params = {})
1582
+ # @param [Hash] params ({})
1583
+ def update_approval_team(params = {}, options = {})
1584
+ req = build_request(:update_approval_team, params)
1585
+ req.send_request(options)
1586
+ end
1587
+
1588
+ # @!endgroup
1589
+
1590
+ # @param params ({})
1591
+ # @api private
1592
+ def build_request(operation_name, params = {})
1593
+ handlers = @handlers.for(operation_name)
1594
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1595
+ Aws::Telemetry.module_to_tracer_name('Aws::MPA')
1596
+ )
1597
+ context = Seahorse::Client::RequestContext.new(
1598
+ operation_name: operation_name,
1599
+ operation: config.api.operation(operation_name),
1600
+ client: self,
1601
+ params: params,
1602
+ config: config,
1603
+ tracer: tracer
1604
+ )
1605
+ context[:gem_name] = 'aws-sdk-mpa'
1606
+ context[:gem_version] = '1.0.0'
1607
+ Seahorse::Client::Request.new(handlers, context)
1608
+ end
1609
+
1610
+ # @api private
1611
+ # @deprecated
1612
+ def waiter_names
1613
+ []
1614
+ end
1615
+
1616
+ class << self
1617
+
1618
+ # @api private
1619
+ attr_reader :identifier
1620
+
1621
+ # @api private
1622
+ def errors_module
1623
+ Errors
1624
+ end
1625
+
1626
+ end
1627
+ end
1628
+ end