aws-sdk-mwaaserverless 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,1427 @@
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/json_rpc'
38
+
39
+ module Aws::MWAAServerless
40
+ # An API client for MWAAServerless. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::MWAAServerless::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 = :mwaaserverless
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::JsonRpc)
88
+ add_plugin(Aws::MWAAServerless::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 used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the 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 locations will be searched for credentials:
128
+ #
129
+ # * `Aws.config[:credentials]`
130
+ #
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
137
+ # * `~/.aws/credentials`
138
+ #
139
+ # * `~/.aws/config`
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
+ #
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
150
+ #
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
159
+ #
160
+ # @option options [String] :account_id
161
+ #
162
+ # @option options [Boolean] :active_endpoint_cache (false)
163
+ # When set to `true`, a thread polling for endpoints will be running in
164
+ # the background every 60 secs (default). Defaults to `false`.
165
+ #
166
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
167
+ # Used only in `adaptive` retry mode. When true, the request will sleep
168
+ # until there is sufficent client side capacity to retry the request.
169
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
+ # not retry instead of sleeping.
171
+ #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
177
+ # @option options [Boolean] :client_side_monitoring (false)
178
+ # When `true`, client-side metrics will be collected for all API requests from
179
+ # this client.
180
+ #
181
+ # @option options [String] :client_side_monitoring_client_id ("")
182
+ # Allows you to provide an identifier for this client which will be attached to
183
+ # all generated client side metrics. Defaults to an empty string.
184
+ #
185
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
186
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
187
+ # side monitoring agent is running on, where client metrics will be published via UDP.
188
+ #
189
+ # @option options [Integer] :client_side_monitoring_port (31000)
190
+ # Required for publishing client metrics. The port that the client side monitoring
191
+ # agent is running on, where client metrics will be published via UDP.
192
+ #
193
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
194
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
195
+ # will use the Client Side Monitoring Agent Publisher.
196
+ #
197
+ # @option options [Boolean] :convert_params (true)
198
+ # When `true`, an attempt is made to coerce request parameters into
199
+ # the required types.
200
+ #
201
+ # @option options [Boolean] :correct_clock_skew (true)
202
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
203
+ # a clock skew correction and retry requests with skewed client clocks.
204
+ #
205
+ # @option options [String] :defaults_mode ("legacy")
206
+ # See {Aws::DefaultsModeConfiguration} for a list of the
207
+ # accepted modes and the configuration defaults that are included.
208
+ #
209
+ # @option options [Boolean] :disable_host_prefix_injection (false)
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
+ #
212
+ # @option options [Boolean] :disable_request_compression (false)
213
+ # When set to 'true' the request body will not be compressed
214
+ # for supported operations.
215
+ #
216
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
217
+ # Normally you should not configure the `:endpoint` option
218
+ # directly. This is normally constructed from the `:region`
219
+ # option. Configuring `:endpoint` is normally reserved for
220
+ # connecting to test or custom endpoints. The endpoint should
221
+ # be a URI formatted like:
222
+ #
223
+ # 'http://example.com'
224
+ # 'https://example.com'
225
+ # 'http://example.com:123'
226
+ #
227
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
228
+ # Used for the maximum size limit of the LRU cache storing endpoints data
229
+ # for endpoint discovery enabled operations. Defaults to 1000.
230
+ #
231
+ # @option options [Integer] :endpoint_cache_max_threads (10)
232
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
233
+ #
234
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
235
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
236
+ # Use this option to config the time interval in seconds for making
237
+ # requests fetching endpoints information. Defaults to 60 sec.
238
+ #
239
+ # @option options [Boolean] :endpoint_discovery (false)
240
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
241
+ #
242
+ # @option options [Boolean] :ignore_configured_endpoint_urls
243
+ # Setting to true disables use of endpoint URLs provided via environment
244
+ # variables and the shared configuration file.
245
+ #
246
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
247
+ # The log formatter.
248
+ #
249
+ # @option options [Symbol] :log_level (:info)
250
+ # The log level to send messages to the `:logger` at.
251
+ #
252
+ # @option options [Logger] :logger
253
+ # The Logger instance to send log messages to. If this option
254
+ # is not set, logging will be disabled.
255
+ #
256
+ # @option options [Integer] :max_attempts (3)
257
+ # An integer representing the maximum number attempts that will be made for
258
+ # a single request, including the initial attempt. For example,
259
+ # setting this value to 5 will result in a request being retried up to
260
+ # 4 times. Used in `standard` and `adaptive` retry modes.
261
+ #
262
+ # @option options [String] :profile ("default")
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
277
+ #
278
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
279
+ # The minimum size in bytes that triggers compression for request
280
+ # bodies. The value must be non-negative integer value between 0
281
+ # and 10485780 bytes inclusive.
282
+ #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
294
+ # @option options [Proc] :retry_backoff
295
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
296
+ # This option is only used in the `legacy` retry mode.
297
+ #
298
+ # @option options [Float] :retry_base_delay (0.3)
299
+ # The base delay in seconds used by the default backoff function. This option
300
+ # is only used in the `legacy` retry mode.
301
+ #
302
+ # @option options [Symbol] :retry_jitter (:none)
303
+ # A delay randomiser function used by the default backoff function.
304
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
305
+ # otherwise a Proc that takes and returns a number. This option is only used
306
+ # in the `legacy` retry mode.
307
+ #
308
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
309
+ #
310
+ # @option options [Integer] :retry_limit (3)
311
+ # The maximum number of times to retry failed requests. Only
312
+ # ~ 500 level server errors and certain ~ 400 level client errors
313
+ # are retried. Generally, these are throttling errors, data
314
+ # checksum errors, networking errors, timeout errors, auth errors,
315
+ # endpoint discovery, and errors from expired credentials.
316
+ # This option is only used in the `legacy` retry mode.
317
+ #
318
+ # @option options [Integer] :retry_max_delay (0)
319
+ # The maximum number of seconds to delay between retries (0 for no limit)
320
+ # used by the default backoff function. This option is only used in the
321
+ # `legacy` retry mode.
322
+ #
323
+ # @option options [String] :retry_mode ("legacy")
324
+ # Specifies which retry algorithm to use. Values are:
325
+ #
326
+ # * `legacy` - The pre-existing retry behavior. This is default value if
327
+ # no retry mode is provided.
328
+ #
329
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
+ # This includes support for retry quotas, which limit the number of
331
+ # unsuccessful retries a client can make.
332
+ #
333
+ # * `adaptive` - An experimental retry mode that includes all the
334
+ # functionality of `standard` mode along with automatic client side
335
+ # throttling. This is a provisional mode that may change behavior
336
+ # in the future.
337
+ #
338
+ # @option options [String] :sdk_ua_app_id
339
+ # A unique and opaque application ID that is appended to the
340
+ # User-Agent header as app/sdk_ua_app_id. It should have a
341
+ # maximum length of 50. This variable is sourced from environment
342
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
343
+ #
344
+ # @option options [String] :secret_access_key
345
+ #
346
+ # @option options [String] :session_token
347
+ #
348
+ # @option options [Array] :sigv4a_signing_region_set
349
+ # A list of regions that should be signed with SigV4a signing. When
350
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
351
+ # in the following locations:
352
+ #
353
+ # * `Aws.config[:sigv4a_signing_region_set]`
354
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
355
+ # * `~/.aws/config`
356
+ #
357
+ # @option options [Boolean] :simple_json (false)
358
+ # Disables request parameter conversion, validation, and formatting.
359
+ # Also disables response data type conversions. The request parameters
360
+ # hash must be formatted exactly as the API expects.This option is useful
361
+ # when you want to ensure the highest level of performance by avoiding
362
+ # overhead of walking request parameters and response data structures.
363
+ #
364
+ # @option options [Boolean] :stub_responses (false)
365
+ # Causes the client to return stubbed responses. By default
366
+ # fake responses are generated and returned. You can specify
367
+ # the response data to return or errors to raise by calling
368
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
369
+ #
370
+ # ** Please note ** When response stubbing is enabled, no HTTP
371
+ # requests are made, and retries are disabled.
372
+ #
373
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
374
+ # Allows you to provide a telemetry provider, which is used to
375
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
376
+ # will not record or emit any telemetry data. The SDK supports the
377
+ # following telemetry providers:
378
+ #
379
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
380
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
381
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
382
+ #
383
+ # @option options [Aws::TokenProvider] :token_provider
384
+ # Your Bearer token used for authentication. This can be any class that includes and implements
385
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
386
+ #
387
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
388
+ # tokens.
389
+ #
390
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
391
+ # access token generated from `aws login`.
392
+ #
393
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
394
+ # will be used to search for tokens configured for your profile in shared configuration files.
395
+ #
396
+ # @option options [Boolean] :use_dualstack_endpoint
397
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
398
+ # will be used if available.
399
+ #
400
+ # @option options [Boolean] :use_fips_endpoint
401
+ # When set to `true`, fips compatible endpoints will be used if available.
402
+ # When a `fips` region is used, the region is normalized and this config
403
+ # is set to `true`.
404
+ #
405
+ # @option options [Boolean] :validate_params (true)
406
+ # When `true`, request parameters are validated before
407
+ # sending the request.
408
+ #
409
+ # @option options [Aws::MWAAServerless::EndpointProvider] :endpoint_provider
410
+ # The endpoint provider used to resolve endpoints. Any object that responds to
411
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
412
+ # `Aws::MWAAServerless::EndpointParameters`.
413
+ #
414
+ # @option options [Float] :http_continue_timeout (1)
415
+ # The number of seconds to wait for a 100-continue response before sending the
416
+ # request body. This option has no effect unless the request has "Expect"
417
+ # header set to "100-continue". Defaults to `nil` which disables this
418
+ # behaviour. This value can safely be set per request on the session.
419
+ #
420
+ # @option options [Float] :http_idle_timeout (5)
421
+ # The number of seconds a connection is allowed to sit idle before it
422
+ # is considered stale. Stale connections are closed and removed from the
423
+ # pool before making a request.
424
+ #
425
+ # @option options [Float] :http_open_timeout (15)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [URI::HTTP,String] :http_proxy
430
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
431
+ #
432
+ # @option options [Float] :http_read_timeout (60)
433
+ # The default number of seconds to wait for response data.
434
+ # This value can safely be set per-request on the session.
435
+ #
436
+ # @option options [Boolean] :http_wire_trace (false)
437
+ # When `true`, HTTP debug output will be sent to the `:logger`.
438
+ #
439
+ # @option options [Proc] :on_chunk_received
440
+ # When a Proc object is provided, it will be used as callback when each chunk
441
+ # of the response body is received. It provides three arguments: the chunk,
442
+ # the number of bytes received, and the total number of
443
+ # bytes in the response (or nil if the server did not send a `content-length`).
444
+ #
445
+ # @option options [Proc] :on_chunk_sent
446
+ # When a Proc object is provided, it will be used as callback when each chunk
447
+ # of the request body is sent. It provides three arguments: the chunk,
448
+ # the number of bytes read from the body, and the total number of
449
+ # bytes in the body.
450
+ #
451
+ # @option options [Boolean] :raise_response_errors (true)
452
+ # When `true`, response errors are raised.
453
+ #
454
+ # @option options [String] :ssl_ca_bundle
455
+ # Full path to the SSL certificate authority bundle file that should be used when
456
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
457
+ # `:ssl_ca_directory` the the system default will be used if available.
458
+ #
459
+ # @option options [String] :ssl_ca_directory
460
+ # Full path of the directory that contains the unbundled SSL certificate
461
+ # authority files for verifying peer certificates. If you do
462
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
463
+ # default will be used if available.
464
+ #
465
+ # @option options [String] :ssl_ca_store
466
+ # Sets the X509::Store to verify peer certificate.
467
+ #
468
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
469
+ # Sets a client certificate when creating http connections.
470
+ #
471
+ # @option options [OpenSSL::PKey] :ssl_key
472
+ # Sets a client key when creating http connections.
473
+ #
474
+ # @option options [Float] :ssl_timeout
475
+ # Sets the SSL timeout in seconds
476
+ #
477
+ # @option options [Boolean] :ssl_verify_peer (true)
478
+ # When `true`, SSL peer certificates are verified when establishing a connection.
479
+ #
480
+ def initialize(*args)
481
+ super
482
+ end
483
+
484
+ # @!group API Operations
485
+
486
+ # Creates a new workflow in Amazon Managed Workflows for Apache Airflow
487
+ # Serverless. This operation initializes a workflow with the specified
488
+ # configuration including the workflow definition, execution role, and
489
+ # optional settings for encryption, logging, and networking. You must
490
+ # provide the workflow definition as a YAML file stored in Amazon S3
491
+ # that defines the DAG structure using supported Amazon Web Services
492
+ # operators. Amazon Managed Workflows for Apache Airflow Serverless
493
+ # automatically creates the first version of the workflow and sets up
494
+ # the necessary execution environment with multi-tenant isolation and
495
+ # security controls.
496
+ #
497
+ # @option params [required, String] :name
498
+ # The name of the workflow. You must use unique workflow names within
499
+ # your Amazon Web Services account. The service generates a unique
500
+ # identifier that is appended to ensure temporal uniqueness across the
501
+ # account lifecycle.
502
+ #
503
+ # @option params [String] :client_token
504
+ # A unique, case-sensitive identifier that you provide to ensure the
505
+ # idempotency of the request. This token prevents duplicate workflow
506
+ # creation requests.
507
+ #
508
+ # **A suitable default value is auto-generated.** You should normally
509
+ # not need to pass this option.**
510
+ #
511
+ # @option params [required, Types::DefinitionS3Location] :definition_s3_location
512
+ # The Amazon S3 location where the workflow definition file is stored.
513
+ # This must point to a valid YAML file that defines the workflow
514
+ # structure using supported Amazon Web Services operators and tasks.
515
+ # Amazon Managed Workflows for Apache Airflow Serverless takes a
516
+ # snapshot of the definition at creation time, so subsequent changes to
517
+ # the Amazon S3 object will not affect the workflow unless you create a
518
+ # new version. In your YAML definition, include task dependencies,
519
+ # scheduling information, and operator configurations that are
520
+ # compatible with the Amazon Managed Workflows for Apache Airflow
521
+ # Serverless execution environment.
522
+ #
523
+ # @option params [required, String] :role_arn
524
+ # The Amazon Resource Name (ARN) of the IAM role that Amazon Managed
525
+ # Workflows for Apache Airflow Serverless assumes when executing the
526
+ # workflow. This role must have the necessary permissions to access the
527
+ # required Amazon Web Services services and resources that your workflow
528
+ # tasks will interact with. The role is used for task execution in the
529
+ # isolated, multi-tenant environment and should follow the principle of
530
+ # least privilege. Amazon Managed Workflows for Apache Airflow
531
+ # Serverless validates role access during workflow creation but runtime
532
+ # permission checks are performed by the target services.
533
+ #
534
+ # @option params [String] :description
535
+ # An optional description of the workflow that you can use to provide
536
+ # additional context about the workflow's purpose and functionality.
537
+ #
538
+ # @option params [Types::EncryptionConfiguration] :encryption_configuration
539
+ # The configuration for encrypting workflow data at rest and in transit.
540
+ # Specifies the encryption type and optional KMS key for
541
+ # customer-managed encryption.
542
+ #
543
+ # @option params [Types::LoggingConfiguration] :logging_configuration
544
+ # The configuration for workflow logging. Specifies the CloudWatch log
545
+ # group where workflow execution logs are stored. Amazon Managed
546
+ # Workflows for Apache Airflow Serverless automatically exports worker
547
+ # logs and task-level information to the specified log group in your
548
+ # account using remote logging functionality. This provides
549
+ # comprehensive observability for debugging and monitoring workflow
550
+ # execution across the distributed, serverless environment.
551
+ #
552
+ # @option params [Integer] :engine_version
553
+ # The version of the Amazon Managed Workflows for Apache Airflow
554
+ # Serverless engine that you want to use for this workflow. This
555
+ # determines the feature set, supported operators, and execution
556
+ # environment capabilities available to your workflow. Amazon Managed
557
+ # Workflows for Apache Airflow Serverless maintains backward
558
+ # compatibility across versions while introducing new features and
559
+ # improvements. Currently supports version 1 with plans for additional
560
+ # versions as the service evolves.
561
+ #
562
+ # @option params [Types::NetworkConfiguration] :network_configuration
563
+ # Network configuration for the workflow execution environment,
564
+ # including VPC security groups and subnets for secure network access.
565
+ # When specified, Amazon Managed Workflows for Apache Airflow Serverless
566
+ # deploys ECS worker tasks in your customer VPC to provide secure
567
+ # connectivity to your resources. If not specified, tasks run in the
568
+ # service's default worker VPC with network isolation from other
569
+ # customers. This configuration enables secure access to VPC-only
570
+ # resources like RDS databases or private endpoints.
571
+ #
572
+ # @option params [Hash<String,String>] :tags
573
+ # A map of tags to assign to the workflow resource. Tags are key-value
574
+ # pairs that are used for resource organization and cost allocation.
575
+ #
576
+ # @option params [String] :trigger_mode
577
+ # The trigger mode for the workflow execution.
578
+ #
579
+ # @return [Types::CreateWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
580
+ #
581
+ # * {Types::CreateWorkflowResponse#workflow_arn #workflow_arn} => String
582
+ # * {Types::CreateWorkflowResponse#created_at #created_at} => Time
583
+ # * {Types::CreateWorkflowResponse#revision_id #revision_id} => String
584
+ # * {Types::CreateWorkflowResponse#workflow_status #workflow_status} => String
585
+ # * {Types::CreateWorkflowResponse#workflow_version #workflow_version} => String
586
+ # * {Types::CreateWorkflowResponse#is_latest_version #is_latest_version} => Boolean
587
+ # * {Types::CreateWorkflowResponse#warnings #warnings} => Array&lt;String&gt;
588
+ #
589
+ # @example Request syntax with placeholder values
590
+ #
591
+ # resp = client.create_workflow({
592
+ # name: "NameString", # required
593
+ # client_token: "IdempotencyTokenString",
594
+ # definition_s3_location: { # required
595
+ # bucket: "String", # required
596
+ # object_key: "String", # required
597
+ # version_id: "String",
598
+ # },
599
+ # role_arn: "RoleARN", # required
600
+ # description: "DescriptionString",
601
+ # encryption_configuration: {
602
+ # type: "AWS_MANAGED_KEY", # required, accepts AWS_MANAGED_KEY, CUSTOMER_MANAGED_KEY
603
+ # kms_key_id: "String",
604
+ # },
605
+ # logging_configuration: {
606
+ # log_group_name: "String", # required
607
+ # },
608
+ # engine_version: 1,
609
+ # network_configuration: {
610
+ # security_group_ids: ["SecurityGroupString"],
611
+ # subnet_ids: ["SubnetString"],
612
+ # },
613
+ # tags: {
614
+ # "TagKey" => "TagValue",
615
+ # },
616
+ # trigger_mode: "GenericString",
617
+ # })
618
+ #
619
+ # @example Response structure
620
+ #
621
+ # resp.workflow_arn #=> String
622
+ # resp.created_at #=> Time
623
+ # resp.revision_id #=> String
624
+ # resp.workflow_status #=> String, one of "READY", "DELETING"
625
+ # resp.workflow_version #=> String
626
+ # resp.is_latest_version #=> Boolean
627
+ # resp.warnings #=> Array
628
+ # resp.warnings[0] #=> String
629
+ #
630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/CreateWorkflow AWS API Documentation
631
+ #
632
+ # @overload create_workflow(params = {})
633
+ # @param [Hash] params ({})
634
+ def create_workflow(params = {}, options = {})
635
+ req = build_request(:create_workflow, params)
636
+ req.send_request(options)
637
+ end
638
+
639
+ # Deletes a workflow and all its versions. This operation permanently
640
+ # removes the workflow and cannot be undone. Amazon Managed Workflows
641
+ # for Apache Airflow Serverless ensures that all associated resources
642
+ # are properly cleaned up, including stopping any running executions,
643
+ # removing scheduled triggers, and cleaning up execution history. The
644
+ # deletion process respects the multi-tenant isolation boundaries and
645
+ # ensures that no residual data or configurations remain that could
646
+ # affect other customers or workflows.
647
+ #
648
+ # @option params [required, String] :workflow_arn
649
+ # The Amazon Resource Name (ARN) of the workflow you want to delete.
650
+ #
651
+ # @option params [String] :workflow_version
652
+ # Optional. The specific version of the workflow to delete. If not
653
+ # specified, all versions of the workflow are deleted.
654
+ #
655
+ # @return [Types::DeleteWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
656
+ #
657
+ # * {Types::DeleteWorkflowResponse#workflow_arn #workflow_arn} => String
658
+ # * {Types::DeleteWorkflowResponse#workflow_version #workflow_version} => String
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.delete_workflow({
663
+ # workflow_arn: "WorkflowArn", # required
664
+ # workflow_version: "WorkflowVersion",
665
+ # })
666
+ #
667
+ # @example Response structure
668
+ #
669
+ # resp.workflow_arn #=> String
670
+ # resp.workflow_version #=> String
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/DeleteWorkflow AWS API Documentation
673
+ #
674
+ # @overload delete_workflow(params = {})
675
+ # @param [Hash] params ({})
676
+ def delete_workflow(params = {}, options = {})
677
+ req = build_request(:delete_workflow, params)
678
+ req.send_request(options)
679
+ end
680
+
681
+ # Retrieves detailed information about a specific task instance within a
682
+ # workflow run. Task instances represent individual tasks that are
683
+ # executed as part of a workflow in the Amazon Managed Workflows for
684
+ # Apache Airflow Serverless environment. Each task instance runs in an
685
+ # isolated ECS container with dedicated resources and security
686
+ # boundaries. The service tracks task execution state, retry attempts,
687
+ # and provides detailed timing and error information for troubleshooting
688
+ # and monitoring purposes.
689
+ #
690
+ # @option params [required, String] :workflow_arn
691
+ # The Amazon Resource Name (ARN) of the workflow that contains the task
692
+ # instance.
693
+ #
694
+ # @option params [required, String] :task_instance_id
695
+ # The unique identifier of the task instance to retrieve.
696
+ #
697
+ # @option params [required, String] :run_id
698
+ # The unique identifier of the workflow run that contains the task
699
+ # instance.
700
+ #
701
+ # @return [Types::GetTaskInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
702
+ #
703
+ # * {Types::GetTaskInstanceResponse#workflow_arn #workflow_arn} => String
704
+ # * {Types::GetTaskInstanceResponse#run_id #run_id} => String
705
+ # * {Types::GetTaskInstanceResponse#task_instance_id #task_instance_id} => String
706
+ # * {Types::GetTaskInstanceResponse#workflow_version #workflow_version} => String
707
+ # * {Types::GetTaskInstanceResponse#status #status} => String
708
+ # * {Types::GetTaskInstanceResponse#duration_in_seconds #duration_in_seconds} => Integer
709
+ # * {Types::GetTaskInstanceResponse#operator_name #operator_name} => String
710
+ # * {Types::GetTaskInstanceResponse#modified_at #modified_at} => Time
711
+ # * {Types::GetTaskInstanceResponse#ended_at #ended_at} => Time
712
+ # * {Types::GetTaskInstanceResponse#started_at #started_at} => Time
713
+ # * {Types::GetTaskInstanceResponse#attempt_number #attempt_number} => Integer
714
+ # * {Types::GetTaskInstanceResponse#error_message #error_message} => String
715
+ # * {Types::GetTaskInstanceResponse#task_id #task_id} => String
716
+ # * {Types::GetTaskInstanceResponse#log_stream #log_stream} => String
717
+ # * {Types::GetTaskInstanceResponse#xcom #xcom} => Hash&lt;String,String&gt;
718
+ #
719
+ # @example Request syntax with placeholder values
720
+ #
721
+ # resp = client.get_task_instance({
722
+ # workflow_arn: "WorkflowArn", # required
723
+ # task_instance_id: "IdString", # required
724
+ # run_id: "IdString", # required
725
+ # })
726
+ #
727
+ # @example Response structure
728
+ #
729
+ # resp.workflow_arn #=> String
730
+ # resp.run_id #=> String
731
+ # resp.task_instance_id #=> String
732
+ # resp.workflow_version #=> String
733
+ # resp.status #=> String, one of "QUEUED", "FAILED", "SCHEDULED", "RUNNING", "SUCCESS", "UP_FOR_RESCHEDULE", "UP_FOR_RETRY", "UPSTREAM_FAILED", "REMOVED", "RESTARTING", "DEFERRED", "NONE", "CANCELLED", "TIMEOUT"
734
+ # resp.duration_in_seconds #=> Integer
735
+ # resp.operator_name #=> String
736
+ # resp.modified_at #=> Time
737
+ # resp.ended_at #=> Time
738
+ # resp.started_at #=> Time
739
+ # resp.attempt_number #=> Integer
740
+ # resp.error_message #=> String
741
+ # resp.task_id #=> String
742
+ # resp.log_stream #=> String
743
+ # resp.xcom #=> Hash
744
+ # resp.xcom["GenericString"] #=> String
745
+ #
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/GetTaskInstance AWS API Documentation
747
+ #
748
+ # @overload get_task_instance(params = {})
749
+ # @param [Hash] params ({})
750
+ def get_task_instance(params = {}, options = {})
751
+ req = build_request(:get_task_instance, params)
752
+ req.send_request(options)
753
+ end
754
+
755
+ # Retrieves detailed information about a workflow, including its
756
+ # configuration, status, and metadata.
757
+ #
758
+ # @option params [required, String] :workflow_arn
759
+ # The Amazon Resource Name (ARN) of the workflow you want to retrieve.
760
+ #
761
+ # @option params [String] :workflow_version
762
+ # Optional. The specific version of the workflow to retrieve. If not
763
+ # specified, the latest version is returned.
764
+ #
765
+ # @return [Types::GetWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
766
+ #
767
+ # * {Types::GetWorkflowResponse#workflow_arn #workflow_arn} => String
768
+ # * {Types::GetWorkflowResponse#workflow_version #workflow_version} => String
769
+ # * {Types::GetWorkflowResponse#name #name} => String
770
+ # * {Types::GetWorkflowResponse#description #description} => String
771
+ # * {Types::GetWorkflowResponse#created_at #created_at} => Time
772
+ # * {Types::GetWorkflowResponse#modified_at #modified_at} => Time
773
+ # * {Types::GetWorkflowResponse#encryption_configuration #encryption_configuration} => Types::EncryptionConfiguration
774
+ # * {Types::GetWorkflowResponse#logging_configuration #logging_configuration} => Types::LoggingConfiguration
775
+ # * {Types::GetWorkflowResponse#engine_version #engine_version} => Integer
776
+ # * {Types::GetWorkflowResponse#workflow_status #workflow_status} => String
777
+ # * {Types::GetWorkflowResponse#definition_s3_location #definition_s3_location} => Types::DefinitionS3Location
778
+ # * {Types::GetWorkflowResponse#schedule_configuration #schedule_configuration} => Types::ScheduleConfiguration
779
+ # * {Types::GetWorkflowResponse#role_arn #role_arn} => String
780
+ # * {Types::GetWorkflowResponse#network_configuration #network_configuration} => Types::NetworkConfiguration
781
+ # * {Types::GetWorkflowResponse#trigger_mode #trigger_mode} => String
782
+ # * {Types::GetWorkflowResponse#workflow_definition #workflow_definition} => String
783
+ #
784
+ # @example Request syntax with placeholder values
785
+ #
786
+ # resp = client.get_workflow({
787
+ # workflow_arn: "WorkflowArn", # required
788
+ # workflow_version: "WorkflowVersion",
789
+ # })
790
+ #
791
+ # @example Response structure
792
+ #
793
+ # resp.workflow_arn #=> String
794
+ # resp.workflow_version #=> String
795
+ # resp.name #=> String
796
+ # resp.description #=> String
797
+ # resp.created_at #=> Time
798
+ # resp.modified_at #=> Time
799
+ # resp.encryption_configuration.type #=> String, one of "AWS_MANAGED_KEY", "CUSTOMER_MANAGED_KEY"
800
+ # resp.encryption_configuration.kms_key_id #=> String
801
+ # resp.logging_configuration.log_group_name #=> String
802
+ # resp.engine_version #=> Integer
803
+ # resp.workflow_status #=> String, one of "READY", "DELETING"
804
+ # resp.definition_s3_location.bucket #=> String
805
+ # resp.definition_s3_location.object_key #=> String
806
+ # resp.definition_s3_location.version_id #=> String
807
+ # resp.schedule_configuration.cron_expression #=> String
808
+ # resp.role_arn #=> String
809
+ # resp.network_configuration.security_group_ids #=> Array
810
+ # resp.network_configuration.security_group_ids[0] #=> String
811
+ # resp.network_configuration.subnet_ids #=> Array
812
+ # resp.network_configuration.subnet_ids[0] #=> String
813
+ # resp.trigger_mode #=> String
814
+ # resp.workflow_definition #=> String
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/GetWorkflow AWS API Documentation
817
+ #
818
+ # @overload get_workflow(params = {})
819
+ # @param [Hash] params ({})
820
+ def get_workflow(params = {}, options = {})
821
+ req = build_request(:get_workflow, params)
822
+ req.send_request(options)
823
+ end
824
+
825
+ # Retrieves detailed information about a specific workflow run,
826
+ # including its status, execution details, and task instances.
827
+ #
828
+ # @option params [required, String] :workflow_arn
829
+ # The Amazon Resource Name (ARN) of the workflow that contains the run.
830
+ #
831
+ # @option params [required, String] :run_id
832
+ # The unique identifier of the workflow run to retrieve.
833
+ #
834
+ # @return [Types::GetWorkflowRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
835
+ #
836
+ # * {Types::GetWorkflowRunResponse#workflow_arn #workflow_arn} => String
837
+ # * {Types::GetWorkflowRunResponse#workflow_version #workflow_version} => String
838
+ # * {Types::GetWorkflowRunResponse#run_id #run_id} => String
839
+ # * {Types::GetWorkflowRunResponse#run_type #run_type} => String
840
+ # * {Types::GetWorkflowRunResponse#override_parameters #override_parameters} => Hash&lt;String,Hash,Array,String,Numeric,Boolean&gt;
841
+ # * {Types::GetWorkflowRunResponse#run_detail #run_detail} => Types::WorkflowRunDetail
842
+ #
843
+ # @example Request syntax with placeholder values
844
+ #
845
+ # resp = client.get_workflow_run({
846
+ # workflow_arn: "WorkflowArn", # required
847
+ # run_id: "IdString", # required
848
+ # })
849
+ #
850
+ # @example Response structure
851
+ #
852
+ # resp.workflow_arn #=> String
853
+ # resp.workflow_version #=> String
854
+ # resp.run_id #=> String
855
+ # resp.run_type #=> String, one of "ON_DEMAND", "SCHEDULED"
856
+ # resp.override_parameters #=> Hash
857
+ # resp.run_detail.workflow_arn #=> String
858
+ # resp.run_detail.workflow_version #=> String
859
+ # resp.run_detail.run_id #=> String
860
+ # resp.run_detail.run_type #=> String, one of "ON_DEMAND", "SCHEDULED"
861
+ # resp.run_detail.started_on #=> Time
862
+ # resp.run_detail.created_at #=> Time
863
+ # resp.run_detail.completed_on #=> Time
864
+ # resp.run_detail.modified_at #=> Time
865
+ # resp.run_detail.duration #=> Integer
866
+ # resp.run_detail.error_message #=> String
867
+ # resp.run_detail.task_instances #=> Array
868
+ # resp.run_detail.task_instances[0] #=> String
869
+ # resp.run_detail.run_state #=> String, one of "STARTING", "QUEUED", "RUNNING", "SUCCESS", "FAILED", "TIMEOUT", "STOPPING", "STOPPED"
870
+ #
871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/GetWorkflowRun AWS API Documentation
872
+ #
873
+ # @overload get_workflow_run(params = {})
874
+ # @param [Hash] params ({})
875
+ def get_workflow_run(params = {}, options = {})
876
+ req = build_request(:get_workflow_run, params)
877
+ req.send_request(options)
878
+ end
879
+
880
+ # Lists all tags that are associated with a specified Amazon Managed
881
+ # Workflows for Apache Airflow Serverless resource.
882
+ #
883
+ # @option params [required, String] :resource_arn
884
+ # The Amazon Resource Name (ARN) of the resource for which to list tags.
885
+ #
886
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
887
+ #
888
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
889
+ #
890
+ # @example Request syntax with placeholder values
891
+ #
892
+ # resp = client.list_tags_for_resource({
893
+ # resource_arn: "TaggableResourceArn", # required
894
+ # })
895
+ #
896
+ # @example Response structure
897
+ #
898
+ # resp.tags #=> Hash
899
+ # resp.tags["TagKey"] #=> String
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/ListTagsForResource AWS API Documentation
902
+ #
903
+ # @overload list_tags_for_resource(params = {})
904
+ # @param [Hash] params ({})
905
+ def list_tags_for_resource(params = {}, options = {})
906
+ req = build_request(:list_tags_for_resource, params)
907
+ req.send_request(options)
908
+ end
909
+
910
+ # Lists all task instances for a specific workflow run, with optional
911
+ # pagination support.
912
+ #
913
+ # @option params [required, String] :workflow_arn
914
+ # The Amazon Resource Name (ARN) of the workflow that contains the run.
915
+ #
916
+ # @option params [required, String] :run_id
917
+ # The unique identifier of the workflow run for which you want a list of
918
+ # task instances.
919
+ #
920
+ # @option params [Integer] :max_results
921
+ # The maximum number of task instances to return in a single response.
922
+ #
923
+ # @option params [String] :next_token
924
+ # The pagination token you need to use to retrieve the next set of
925
+ # results. This value is returned from a previous call to
926
+ # `ListTaskInstances`.
927
+ #
928
+ # @return [Types::ListTaskInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
929
+ #
930
+ # * {Types::ListTaskInstancesResponse#task_instances #task_instances} => Array&lt;Types::TaskInstanceSummary&gt;
931
+ # * {Types::ListTaskInstancesResponse#next_token #next_token} => String
932
+ #
933
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
934
+ #
935
+ # @example Request syntax with placeholder values
936
+ #
937
+ # resp = client.list_task_instances({
938
+ # workflow_arn: "WorkflowArn", # required
939
+ # run_id: "IdString", # required
940
+ # max_results: 1,
941
+ # next_token: "String",
942
+ # })
943
+ #
944
+ # @example Response structure
945
+ #
946
+ # resp.task_instances #=> Array
947
+ # resp.task_instances[0].workflow_arn #=> String
948
+ # resp.task_instances[0].workflow_version #=> String
949
+ # resp.task_instances[0].run_id #=> String
950
+ # resp.task_instances[0].task_instance_id #=> String
951
+ # resp.task_instances[0].status #=> String, one of "QUEUED", "FAILED", "SCHEDULED", "RUNNING", "SUCCESS", "UP_FOR_RESCHEDULE", "UP_FOR_RETRY", "UPSTREAM_FAILED", "REMOVED", "RESTARTING", "DEFERRED", "NONE", "CANCELLED", "TIMEOUT"
952
+ # resp.task_instances[0].duration_in_seconds #=> Integer
953
+ # resp.task_instances[0].operator_name #=> String
954
+ # resp.next_token #=> String
955
+ #
956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/ListTaskInstances AWS API Documentation
957
+ #
958
+ # @overload list_task_instances(params = {})
959
+ # @param [Hash] params ({})
960
+ def list_task_instances(params = {}, options = {})
961
+ req = build_request(:list_task_instances, params)
962
+ req.send_request(options)
963
+ end
964
+
965
+ # Lists all runs for a specified workflow, with optional pagination and
966
+ # filtering support.
967
+ #
968
+ # @option params [Integer] :max_results
969
+ # The maximum number of workflow runs to return in a single response.
970
+ #
971
+ # @option params [String] :next_token
972
+ # The pagination token you need to use to retrieve the next set of
973
+ # results. This value is returned from a previous call to
974
+ # `ListWorkflowRuns`.
975
+ #
976
+ # @option params [required, String] :workflow_arn
977
+ # The Amazon Resource Name (ARN) of the workflow for which you want a
978
+ # list of runs.
979
+ #
980
+ # @option params [String] :workflow_version
981
+ # Optional. The specific version of the workflow for which you want a
982
+ # list of runs. If not specified, runs for all versions are returned.
983
+ #
984
+ # @return [Types::ListWorkflowRunsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
985
+ #
986
+ # * {Types::ListWorkflowRunsResponse#workflow_runs #workflow_runs} => Array&lt;Types::WorkflowRunSummary&gt;
987
+ # * {Types::ListWorkflowRunsResponse#next_token #next_token} => String
988
+ #
989
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
990
+ #
991
+ # @example Request syntax with placeholder values
992
+ #
993
+ # resp = client.list_workflow_runs({
994
+ # max_results: 1,
995
+ # next_token: "String",
996
+ # workflow_arn: "WorkflowArn", # required
997
+ # workflow_version: "VersionId",
998
+ # })
999
+ #
1000
+ # @example Response structure
1001
+ #
1002
+ # resp.workflow_runs #=> Array
1003
+ # resp.workflow_runs[0].run_id #=> String
1004
+ # resp.workflow_runs[0].workflow_arn #=> String
1005
+ # resp.workflow_runs[0].workflow_version #=> String
1006
+ # resp.workflow_runs[0].run_type #=> String, one of "ON_DEMAND", "SCHEDULED"
1007
+ # resp.workflow_runs[0].run_detail_summary.status #=> String, one of "STARTING", "QUEUED", "RUNNING", "SUCCESS", "FAILED", "TIMEOUT", "STOPPING", "STOPPED"
1008
+ # resp.workflow_runs[0].run_detail_summary.created_on #=> Time
1009
+ # resp.workflow_runs[0].run_detail_summary.started_at #=> Time
1010
+ # resp.workflow_runs[0].run_detail_summary.ended_at #=> Time
1011
+ # resp.next_token #=> String
1012
+ #
1013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/ListWorkflowRuns AWS API Documentation
1014
+ #
1015
+ # @overload list_workflow_runs(params = {})
1016
+ # @param [Hash] params ({})
1017
+ def list_workflow_runs(params = {}, options = {})
1018
+ req = build_request(:list_workflow_runs, params)
1019
+ req.send_request(options)
1020
+ end
1021
+
1022
+ # Lists all versions of a specified workflow, with optional pagination
1023
+ # support.
1024
+ #
1025
+ # @option params [Integer] :max_results
1026
+ # The maximum number of workflow versions to return in a single
1027
+ # response.
1028
+ #
1029
+ # @option params [String] :next_token
1030
+ # The pagination token you need to use to retrieve the next set of
1031
+ # results. This value is returned from a previous call to
1032
+ # `ListWorkflowVersions`.
1033
+ #
1034
+ # @option params [required, String] :workflow_arn
1035
+ # The Amazon Resource Name (ARN) of the workflow for which you want to
1036
+ # list versions.
1037
+ #
1038
+ # @return [Types::ListWorkflowVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1039
+ #
1040
+ # * {Types::ListWorkflowVersionsResponse#workflow_versions #workflow_versions} => Array&lt;Types::WorkflowVersionSummary&gt;
1041
+ # * {Types::ListWorkflowVersionsResponse#next_token #next_token} => String
1042
+ #
1043
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1044
+ #
1045
+ # @example Request syntax with placeholder values
1046
+ #
1047
+ # resp = client.list_workflow_versions({
1048
+ # max_results: 1,
1049
+ # next_token: "String",
1050
+ # workflow_arn: "WorkflowArn", # required
1051
+ # })
1052
+ #
1053
+ # @example Response structure
1054
+ #
1055
+ # resp.workflow_versions #=> Array
1056
+ # resp.workflow_versions[0].workflow_version #=> String
1057
+ # resp.workflow_versions[0].workflow_arn #=> String
1058
+ # resp.workflow_versions[0].is_latest_version #=> Boolean
1059
+ # resp.workflow_versions[0].created_at #=> Time
1060
+ # resp.workflow_versions[0].modified_at #=> Time
1061
+ # resp.workflow_versions[0].definition_s3_location.bucket #=> String
1062
+ # resp.workflow_versions[0].definition_s3_location.object_key #=> String
1063
+ # resp.workflow_versions[0].definition_s3_location.version_id #=> String
1064
+ # resp.workflow_versions[0].schedule_configuration.cron_expression #=> String
1065
+ # resp.workflow_versions[0].trigger_mode #=> String
1066
+ # resp.next_token #=> String
1067
+ #
1068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/ListWorkflowVersions AWS API Documentation
1069
+ #
1070
+ # @overload list_workflow_versions(params = {})
1071
+ # @param [Hash] params ({})
1072
+ def list_workflow_versions(params = {}, options = {})
1073
+ req = build_request(:list_workflow_versions, params)
1074
+ req.send_request(options)
1075
+ end
1076
+
1077
+ # Lists all workflows in your account, with optional pagination support.
1078
+ # This operation returns summary information for workflows, showing only
1079
+ # the most recently created version of each workflow. Amazon Managed
1080
+ # Workflows for Apache Airflow Serverless maintains workflow metadata in
1081
+ # a highly available, distributed storage system that enables efficient
1082
+ # querying and filtering. The service implements proper access controls
1083
+ # to ensure you can only view workflows that you have permissions to
1084
+ # access, supporting both individual and team-based workflow management
1085
+ # scenarios.
1086
+ #
1087
+ # @option params [Integer] :max_results
1088
+ # The maximum number of workflows you want to return in a single
1089
+ # response.
1090
+ #
1091
+ # @option params [String] :next_token
1092
+ # The pagination token you need to use to retrieve the next set of
1093
+ # results. This value is returned from a previous call to
1094
+ # `ListWorkflows`.
1095
+ #
1096
+ # @return [Types::ListWorkflowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1097
+ #
1098
+ # * {Types::ListWorkflowsResponse#workflows #workflows} => Array&lt;Types::WorkflowSummary&gt;
1099
+ # * {Types::ListWorkflowsResponse#next_token #next_token} => String
1100
+ #
1101
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1102
+ #
1103
+ # @example Request syntax with placeholder values
1104
+ #
1105
+ # resp = client.list_workflows({
1106
+ # max_results: 1,
1107
+ # next_token: "String",
1108
+ # })
1109
+ #
1110
+ # @example Response structure
1111
+ #
1112
+ # resp.workflows #=> Array
1113
+ # resp.workflows[0].workflow_arn #=> String
1114
+ # resp.workflows[0].workflow_version #=> String
1115
+ # resp.workflows[0].name #=> String
1116
+ # resp.workflows[0].description #=> String
1117
+ # resp.workflows[0].created_at #=> Time
1118
+ # resp.workflows[0].modified_at #=> Time
1119
+ # resp.workflows[0].workflow_status #=> String, one of "READY", "DELETING"
1120
+ # resp.workflows[0].trigger_mode #=> String
1121
+ # resp.next_token #=> String
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/ListWorkflows AWS API Documentation
1124
+ #
1125
+ # @overload list_workflows(params = {})
1126
+ # @param [Hash] params ({})
1127
+ def list_workflows(params = {}, options = {})
1128
+ req = build_request(:list_workflows, params)
1129
+ req.send_request(options)
1130
+ end
1131
+
1132
+ # Starts a new execution of a workflow. This operation creates a
1133
+ # workflow run that executes the tasks that are defined in the workflow.
1134
+ # Amazon Managed Workflows for Apache Airflow Serverless schedules the
1135
+ # workflow execution across its managed Airflow environment,
1136
+ # automatically scaling ECS worker tasks based on the workload. The
1137
+ # service handles task isolation, dependency resolution, and provides
1138
+ # comprehensive monitoring and logging throughout the execution
1139
+ # lifecycle.
1140
+ #
1141
+ # @option params [required, String] :workflow_arn
1142
+ # The Amazon Resource Name (ARN) of the workflow you want to run.
1143
+ #
1144
+ # @option params [String] :client_token
1145
+ # A unique, case-sensitive identifier that you provide to ensure the
1146
+ # idempotency of the request. This token prevents duplicate workflow run
1147
+ # requests.
1148
+ #
1149
+ # **A suitable default value is auto-generated.** You should normally
1150
+ # not need to pass this option.**
1151
+ #
1152
+ # @option params [Hash<String,Hash,Array,String,Numeric,Boolean>] :override_parameters
1153
+ # Optional parameters to override default workflow parameters for this
1154
+ # specific run. These parameters are passed to the workflow during
1155
+ # execution and can be used to customize behavior without modifying the
1156
+ # workflow definition. Parameters are made available as environment
1157
+ # variables to tasks and you can reference them within the YAML workflow
1158
+ # definition using standard parameter substitution syntax.
1159
+ #
1160
+ # @option params [String] :workflow_version
1161
+ # Optional. The specific version of the workflow to execute. If not
1162
+ # specified, the latest version is used.
1163
+ #
1164
+ # @return [Types::StartWorkflowRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1165
+ #
1166
+ # * {Types::StartWorkflowRunResponse#run_id #run_id} => String
1167
+ # * {Types::StartWorkflowRunResponse#status #status} => String
1168
+ # * {Types::StartWorkflowRunResponse#started_at #started_at} => Time
1169
+ #
1170
+ # @example Request syntax with placeholder values
1171
+ #
1172
+ # resp = client.start_workflow_run({
1173
+ # workflow_arn: "WorkflowArn", # required
1174
+ # client_token: "IdempotencyTokenString",
1175
+ # override_parameters: {
1176
+ # "String" => {
1177
+ # },
1178
+ # },
1179
+ # workflow_version: "VersionId",
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ #
1184
+ # resp.run_id #=> String
1185
+ # resp.status #=> String, one of "STARTING", "QUEUED", "RUNNING", "SUCCESS", "FAILED", "TIMEOUT", "STOPPING", "STOPPED"
1186
+ # resp.started_at #=> Time
1187
+ #
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/StartWorkflowRun AWS API Documentation
1189
+ #
1190
+ # @overload start_workflow_run(params = {})
1191
+ # @param [Hash] params ({})
1192
+ def start_workflow_run(params = {}, options = {})
1193
+ req = build_request(:start_workflow_run, params)
1194
+ req.send_request(options)
1195
+ end
1196
+
1197
+ # Stops a running workflow execution. This operation terminates all
1198
+ # running tasks and prevents new tasks from starting. Amazon Managed
1199
+ # Workflows for Apache Airflow Serverless gracefully shuts down the
1200
+ # workflow execution by stopping task scheduling and terminating active
1201
+ # ECS worker containers. The operation transitions the workflow run to a
1202
+ # `STOPPING` state and then to `STOPPED` once all cleanup is complete.
1203
+ # In-flight tasks may complete or be terminated depending on their
1204
+ # current execution state.
1205
+ #
1206
+ # @option params [required, String] :workflow_arn
1207
+ # The Amazon Resource Name (ARN) of the workflow that contains the run
1208
+ # you want to stop.
1209
+ #
1210
+ # @option params [required, String] :run_id
1211
+ # The unique identifier of the workflow run to stop.
1212
+ #
1213
+ # @return [Types::StopWorkflowRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1214
+ #
1215
+ # * {Types::StopWorkflowRunResponse#workflow_arn #workflow_arn} => String
1216
+ # * {Types::StopWorkflowRunResponse#workflow_version #workflow_version} => String
1217
+ # * {Types::StopWorkflowRunResponse#run_id #run_id} => String
1218
+ # * {Types::StopWorkflowRunResponse#status #status} => String
1219
+ #
1220
+ # @example Request syntax with placeholder values
1221
+ #
1222
+ # resp = client.stop_workflow_run({
1223
+ # workflow_arn: "WorkflowArn", # required
1224
+ # run_id: "IdString", # required
1225
+ # })
1226
+ #
1227
+ # @example Response structure
1228
+ #
1229
+ # resp.workflow_arn #=> String
1230
+ # resp.workflow_version #=> String
1231
+ # resp.run_id #=> String
1232
+ # resp.status #=> String, one of "STARTING", "QUEUED", "RUNNING", "SUCCESS", "FAILED", "TIMEOUT", "STOPPING", "STOPPED"
1233
+ #
1234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/StopWorkflowRun AWS API Documentation
1235
+ #
1236
+ # @overload stop_workflow_run(params = {})
1237
+ # @param [Hash] params ({})
1238
+ def stop_workflow_run(params = {}, options = {})
1239
+ req = build_request(:stop_workflow_run, params)
1240
+ req.send_request(options)
1241
+ end
1242
+
1243
+ # Adds tags to an Amazon Managed Workflows for Apache Airflow Serverless
1244
+ # resource. Tags are key-value pairs that help you organize and
1245
+ # categorize your resources.
1246
+ #
1247
+ # @option params [required, String] :resource_arn
1248
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
1249
+ #
1250
+ # @option params [required, Hash<String,String>] :tags
1251
+ # A map of tags to add to the resource. Each tag consists of a key-value
1252
+ # pair.
1253
+ #
1254
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1255
+ #
1256
+ # @example Request syntax with placeholder values
1257
+ #
1258
+ # resp = client.tag_resource({
1259
+ # resource_arn: "TaggableResourceArn", # required
1260
+ # tags: { # required
1261
+ # "TagKey" => "TagValue",
1262
+ # },
1263
+ # })
1264
+ #
1265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/TagResource AWS API Documentation
1266
+ #
1267
+ # @overload tag_resource(params = {})
1268
+ # @param [Hash] params ({})
1269
+ def tag_resource(params = {}, options = {})
1270
+ req = build_request(:tag_resource, params)
1271
+ req.send_request(options)
1272
+ end
1273
+
1274
+ # Removes tags from an Amazon Managed Workflows for Apache Airflow
1275
+ # Serverless resource. This operation removes the specified tags from
1276
+ # the resource.
1277
+ #
1278
+ # @option params [required, String] :resource_arn
1279
+ # The Amazon Resource Name (ARN) of the resource from which to remove
1280
+ # tags.
1281
+ #
1282
+ # @option params [required, Array<String>] :tag_keys
1283
+ # A list of tag keys to remove from the resource. Only the keys are
1284
+ # required; the values are ignored.
1285
+ #
1286
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1287
+ #
1288
+ # @example Request syntax with placeholder values
1289
+ #
1290
+ # resp = client.untag_resource({
1291
+ # resource_arn: "TaggableResourceArn", # required
1292
+ # tag_keys: ["TagKey"], # required
1293
+ # })
1294
+ #
1295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/UntagResource AWS API Documentation
1296
+ #
1297
+ # @overload untag_resource(params = {})
1298
+ # @param [Hash] params ({})
1299
+ def untag_resource(params = {}, options = {})
1300
+ req = build_request(:untag_resource, params)
1301
+ req.send_request(options)
1302
+ end
1303
+
1304
+ # Updates an existing workflow with new configuration settings. This
1305
+ # operation allows you to modify the workflow definition, role, and
1306
+ # other settings. When you update a workflow, Amazon Managed Workflows
1307
+ # for Apache Airflow Serverless automatically creates a new version with
1308
+ # the updated configuration and disables scheduling on all previous
1309
+ # versions to ensure only one version is actively scheduled at a time.
1310
+ # The update operation maintains workflow history while providing a
1311
+ # clean transition to the new configuration.
1312
+ #
1313
+ # @option params [required, String] :workflow_arn
1314
+ # The Amazon Resource Name (ARN) of the workflow you want to update.
1315
+ #
1316
+ # @option params [required, Types::DefinitionS3Location] :definition_s3_location
1317
+ # The Amazon S3 location where the updated workflow definition file is
1318
+ # stored.
1319
+ #
1320
+ # @option params [required, String] :role_arn
1321
+ # The Amazon Resource Name (ARN) of the IAM role that Amazon Managed
1322
+ # Workflows for Apache Airflow Serverless assumes when it executes the
1323
+ # updated workflow.
1324
+ #
1325
+ # @option params [String] :description
1326
+ # An updated description for the workflow.
1327
+ #
1328
+ # @option params [Types::LoggingConfiguration] :logging_configuration
1329
+ # Updated logging configuration for the workflow.
1330
+ #
1331
+ # @option params [Integer] :engine_version
1332
+ # The version of the Amazon Managed Workflows for Apache Airflow
1333
+ # Serverless engine that you want to use for the updated workflow.
1334
+ #
1335
+ # @option params [Types::NetworkConfiguration] :network_configuration
1336
+ # Updated network configuration for the workflow execution environment.
1337
+ #
1338
+ # @option params [String] :trigger_mode
1339
+ # The trigger mode for the workflow execution.
1340
+ #
1341
+ # @return [Types::UpdateWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1342
+ #
1343
+ # * {Types::UpdateWorkflowResponse#workflow_arn #workflow_arn} => String
1344
+ # * {Types::UpdateWorkflowResponse#modified_at #modified_at} => Time
1345
+ # * {Types::UpdateWorkflowResponse#workflow_version #workflow_version} => String
1346
+ # * {Types::UpdateWorkflowResponse#warnings #warnings} => Array&lt;String&gt;
1347
+ #
1348
+ # @example Request syntax with placeholder values
1349
+ #
1350
+ # resp = client.update_workflow({
1351
+ # workflow_arn: "WorkflowArn", # required
1352
+ # definition_s3_location: { # required
1353
+ # bucket: "String", # required
1354
+ # object_key: "String", # required
1355
+ # version_id: "String",
1356
+ # },
1357
+ # role_arn: "RoleARN", # required
1358
+ # description: "DescriptionString",
1359
+ # logging_configuration: {
1360
+ # log_group_name: "String", # required
1361
+ # },
1362
+ # engine_version: 1,
1363
+ # network_configuration: {
1364
+ # security_group_ids: ["SecurityGroupString"],
1365
+ # subnet_ids: ["SubnetString"],
1366
+ # },
1367
+ # trigger_mode: "GenericString",
1368
+ # })
1369
+ #
1370
+ # @example Response structure
1371
+ #
1372
+ # resp.workflow_arn #=> String
1373
+ # resp.modified_at #=> Time
1374
+ # resp.workflow_version #=> String
1375
+ # resp.warnings #=> Array
1376
+ # resp.warnings[0] #=> String
1377
+ #
1378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mwaa-serverless-2024-07-26/UpdateWorkflow AWS API Documentation
1379
+ #
1380
+ # @overload update_workflow(params = {})
1381
+ # @param [Hash] params ({})
1382
+ def update_workflow(params = {}, options = {})
1383
+ req = build_request(:update_workflow, params)
1384
+ req.send_request(options)
1385
+ end
1386
+
1387
+ # @!endgroup
1388
+
1389
+ # @param params ({})
1390
+ # @api private
1391
+ def build_request(operation_name, params = {})
1392
+ handlers = @handlers.for(operation_name)
1393
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1394
+ Aws::Telemetry.module_to_tracer_name('Aws::MWAAServerless')
1395
+ )
1396
+ context = Seahorse::Client::RequestContext.new(
1397
+ operation_name: operation_name,
1398
+ operation: config.api.operation(operation_name),
1399
+ client: self,
1400
+ params: params,
1401
+ config: config,
1402
+ tracer: tracer
1403
+ )
1404
+ context[:gem_name] = 'aws-sdk-mwaaserverless'
1405
+ context[:gem_version] = '1.0.0'
1406
+ Seahorse::Client::Request.new(handlers, context)
1407
+ end
1408
+
1409
+ # @api private
1410
+ # @deprecated
1411
+ def waiter_names
1412
+ []
1413
+ end
1414
+
1415
+ class << self
1416
+
1417
+ # @api private
1418
+ attr_reader :identifier
1419
+
1420
+ # @api private
1421
+ def errors_module
1422
+ Errors
1423
+ end
1424
+
1425
+ end
1426
+ end
1427
+ end