aws-sdk-lambdaweb 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,1887 @@
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::LambdaWeb
40
+ # An API client for LambdaWeb. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::LambdaWeb::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 = :lambdaweb
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::LambdaWeb::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 the default
327
+ # value if 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` - A retry mode that includes all the functionality of
334
+ # `standard` mode along with automatic client side throttling.
335
+ #
336
+ # @option options [String] :sdk_ua_app_id
337
+ # A unique and opaque application ID that is appended to the
338
+ # User-Agent header as app/sdk_ua_app_id. It should have a
339
+ # maximum length of 50. This variable is sourced from environment
340
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
341
+ #
342
+ # @option options [String] :secret_access_key
343
+ #
344
+ # @option options [String] :session_token
345
+ #
346
+ # @option options [Array] :sigv4a_signing_region_set
347
+ # A list of regions that should be signed with SigV4a signing. When
348
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
349
+ # in the following locations:
350
+ #
351
+ # * `Aws.config[:sigv4a_signing_region_set]`
352
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
353
+ # * `~/.aws/config`
354
+ #
355
+ # @option options [Boolean] :stub_responses (false)
356
+ # Causes the client to return stubbed responses. By default
357
+ # fake responses are generated and returned. You can specify
358
+ # the response data to return or errors to raise by calling
359
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
360
+ #
361
+ # ** Please note ** When response stubbing is enabled, no HTTP
362
+ # requests are made, and retries are disabled.
363
+ #
364
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
365
+ # Allows you to provide a telemetry provider, which is used to
366
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
367
+ # will not record or emit any telemetry data. The SDK supports the
368
+ # following telemetry providers:
369
+ #
370
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
371
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
372
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
373
+ #
374
+ # @option options [Aws::TokenProvider] :token_provider
375
+ # Your Bearer token used for authentication. This can be any class that includes and implements
376
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
377
+ #
378
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
379
+ # tokens.
380
+ #
381
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
382
+ # access token generated from `aws login`.
383
+ #
384
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
385
+ # will be used to search for tokens configured for your profile in shared configuration files.
386
+ #
387
+ # @option options [Boolean] :use_dualstack_endpoint
388
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
389
+ # will be used if available.
390
+ #
391
+ # @option options [Boolean] :use_fips_endpoint
392
+ # When set to `true`, fips compatible endpoints will be used if available.
393
+ # When a `fips` region is used, the region is normalized and this config
394
+ # is set to `true`.
395
+ #
396
+ # @option options [Boolean] :validate_params (true)
397
+ # When `true`, request parameters are validated before
398
+ # sending the request.
399
+ #
400
+ # @option options [Aws::LambdaWeb::EndpointProvider] :endpoint_provider
401
+ # The endpoint provider used to resolve endpoints. Any object that responds to
402
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
403
+ # `Aws::LambdaWeb::EndpointParameters`.
404
+ #
405
+ # @option options [Float] :http_continue_timeout (1)
406
+ # The number of seconds to wait for a 100-continue response before sending the
407
+ # request body. This option has no effect unless the request has "Expect"
408
+ # header set to "100-continue". Defaults to `nil` which disables this
409
+ # behaviour. This value can safely be set per request on the session.
410
+ #
411
+ # @option options [Float] :http_idle_timeout (5)
412
+ # The number of seconds a connection is allowed to sit idle before it
413
+ # is considered stale. Stale connections are closed and removed from the
414
+ # pool before making a request.
415
+ #
416
+ # @option options [Float] :http_open_timeout (15)
417
+ # The default number of seconds to wait for response data.
418
+ # This value can safely be set per-request on the session.
419
+ #
420
+ # @option options [URI::HTTP,String] :http_proxy
421
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
422
+ #
423
+ # @option options [Float] :http_read_timeout (60)
424
+ # The default number of seconds to wait for response data.
425
+ # This value can safely be set per-request on the session.
426
+ #
427
+ # @option options [Boolean] :http_wire_trace (false)
428
+ # When `true`, HTTP debug output will be sent to the `:logger`.
429
+ #
430
+ # @option options [Proc] :on_chunk_received
431
+ # When a Proc object is provided, it will be used as callback when each chunk
432
+ # of the response body is received. It provides three arguments: the chunk,
433
+ # the number of bytes received, and the total number of
434
+ # bytes in the response (or nil if the server did not send a `content-length`).
435
+ #
436
+ # @option options [Proc] :on_chunk_sent
437
+ # When a Proc object is provided, it will be used as callback when each chunk
438
+ # of the request body is sent. It provides three arguments: the chunk,
439
+ # the number of bytes read from the body, and the total number of
440
+ # bytes in the body.
441
+ #
442
+ # @option options [Boolean] :raise_response_errors (true)
443
+ # When `true`, response errors are raised.
444
+ #
445
+ # @option options [String] :ssl_ca_bundle
446
+ # Full path to the SSL certificate authority bundle file that should be used when
447
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
448
+ # `:ssl_ca_directory` the the system default will be used if available.
449
+ #
450
+ # @option options [String] :ssl_ca_directory
451
+ # Full path of the directory that contains the unbundled SSL certificate
452
+ # authority files for verifying peer certificates. If you do
453
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
454
+ # default will be used if available.
455
+ #
456
+ # @option options [String] :ssl_ca_store
457
+ # Sets the X509::Store to verify peer certificate.
458
+ #
459
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
460
+ # Sets a client certificate when creating http connections.
461
+ #
462
+ # @option options [OpenSSL::PKey] :ssl_key
463
+ # Sets a client key when creating http connections.
464
+ #
465
+ # @option options [Float] :ssl_timeout
466
+ # Sets the SSL timeout in seconds
467
+ #
468
+ # @option options [Boolean] :ssl_verify_peer (true)
469
+ # When `true`, SSL peer certificates are verified when establishing a connection.
470
+ #
471
+ def initialize(*args)
472
+ super
473
+ end
474
+
475
+ # @!group API Operations
476
+
477
+ # Creates a web function with an initial revision and endpoint. To
478
+ # create a web function, you provide the function name, revision
479
+ # configuration (code and service settings), and endpoint configuration.
480
+ #
481
+ # To use this operation, you must have the `CreateWebFunction`
482
+ # permission on the web function. You don't need separate permissions
483
+ # for the initial revision or endpoint.
484
+ #
485
+ # @option params [required, String] :function_name
486
+ # The name of the web function. The name can contain letters, numbers,
487
+ # hyphens (-), and underscores (\_), and can't begin or end with a
488
+ # hyphen or an underscore. The length constraint applies only to the
489
+ # full ARN. If you specify only the function name, it is limited to 64
490
+ # characters in length.
491
+ #
492
+ # @option params [Types::RevisionConfig] :revision_config
493
+ # The configuration for the initial revision of the web function,
494
+ # including code and service settings.
495
+ #
496
+ # @option params [Types::EndpointConfig] :endpoint_config
497
+ # The configuration for the initial endpoint of the web function.
498
+ #
499
+ # @option params [Hash<String,String>] :tags
500
+ # A map of tag keys and values to apply to the web function.
501
+ #
502
+ # @return [Types::CreateWebFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
503
+ #
504
+ # * {Types::CreateWebFunctionResponse#function_name #function_name} => String
505
+ # * {Types::CreateWebFunctionResponse#function_arn #function_arn} => String
506
+ # * {Types::CreateWebFunctionResponse#state #state} => String
507
+ # * {Types::CreateWebFunctionResponse#state_reason #state_reason} => String
508
+ # * {Types::CreateWebFunctionResponse#created_at #created_at} => Time
509
+ # * {Types::CreateWebFunctionResponse#updated_at #updated_at} => Time
510
+ # * {Types::CreateWebFunctionResponse#revision #revision} => Types::FunctionRevisionSummary
511
+ # * {Types::CreateWebFunctionResponse#endpoint #endpoint} => Types::FunctionEndpointSummary
512
+ # * {Types::CreateWebFunctionResponse#tags #tags} => Hash&lt;String,String&gt;
513
+ #
514
+ # @example Request syntax with placeholder values
515
+ #
516
+ # resp = client.create_web_function({
517
+ # function_name: "FunctionName", # required
518
+ # revision_config: {
519
+ # description: "Description",
520
+ # kms_key_arn: "KmsKeyArn",
521
+ # build_config: { # required
522
+ # code_config: { # required
523
+ # s3_object: { # required
524
+ # bucket: "S3ObjectBucketString", # required
525
+ # key: "S3ObjectKeyString", # required
526
+ # version_id: "S3ObjectVersionIdString",
527
+ # },
528
+ # },
529
+ # runtime_config: { # required
530
+ # runtime: "RuntimeConfigRuntimeString", # required
531
+ # },
532
+ # },
533
+ # service_config: { # required
534
+ # execution_role_arn: "RoleArn", # required
535
+ # timeout_seconds: 1,
536
+ # max_concurrency_per_environment: 1,
537
+ # environment_variables: {
538
+ # "EnvironmentVariablesKeyString" => "EnvironmentVariablesValueString",
539
+ # },
540
+ # telemetry_config: {
541
+ # logging_config: {
542
+ # log_group: "LoggingConfigLogGroupString",
543
+ # application_log_level: "TRACE", # accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL
544
+ # system_log_level: "DEBUG", # accepts DEBUG, INFO, WARN
545
+ # },
546
+ # },
547
+ # },
548
+ # },
549
+ # endpoint_config: {
550
+ # endpoint_name: "EndpointName", # required
551
+ # description: "Description",
552
+ # endpoint_type: "HomeRegion", # required, accepts HomeRegion, MultiRegion, PerRegion
553
+ # auth_type: "ApplicationManaged", # required, accepts ApplicationManaged, IamAuth
554
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
555
+ # regions: ["Region"],
556
+ # scaling_config: {
557
+ # max_environments: 1,
558
+ # },
559
+ # throttle_config: {
560
+ # rate_limit: 1,
561
+ # },
562
+ # },
563
+ # tags: {
564
+ # "TagKey" => "TagsValueString",
565
+ # },
566
+ # })
567
+ #
568
+ # @example Response structure
569
+ #
570
+ # resp.function_name #=> String
571
+ # resp.function_arn #=> String
572
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
573
+ # resp.state_reason #=> String
574
+ # resp.created_at #=> Time
575
+ # resp.updated_at #=> Time
576
+ # resp.revision.revision_arn #=> String
577
+ # resp.revision.revision_id #=> String
578
+ # resp.revision.description #=> String
579
+ # resp.revision.state #=> String, one of "Pending", "Active", "Failed"
580
+ # resp.revision.state_reason #=> String
581
+ # resp.revision.created_at #=> Time
582
+ # resp.endpoint.endpoint_arn #=> String
583
+ # resp.endpoint.endpoint_name #=> String
584
+ # resp.endpoint.description #=> String
585
+ # resp.endpoint.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
586
+ # resp.endpoint.domain_name #=> String
587
+ # resp.endpoint.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
588
+ # resp.endpoint.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
589
+ # resp.endpoint.revision_weights #=> Array
590
+ # resp.endpoint.revision_weights[0].revision_id #=> String
591
+ # resp.endpoint.revision_weights[0].weight #=> Integer
592
+ # resp.endpoint.regions #=> Array
593
+ # resp.endpoint.regions[0] #=> String
594
+ # resp.endpoint.scaling_config.max_environments #=> Integer
595
+ # resp.endpoint.throttle_config.rate_limit #=> Integer
596
+ # resp.endpoint.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
597
+ # resp.endpoint.state_reason #=> String
598
+ # resp.endpoint.update_status #=> String, one of "InProgress", "Successful", "Failed"
599
+ # resp.endpoint.update_status_reason #=> String
600
+ # resp.endpoint.created_at #=> Time
601
+ # resp.endpoint.updated_at #=> Time
602
+ # resp.tags #=> Hash
603
+ # resp.tags["TagKey"] #=> String
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunction AWS API Documentation
606
+ #
607
+ # @overload create_web_function(params = {})
608
+ # @param [Hash] params ({})
609
+ def create_web_function(params = {}, options = {})
610
+ req = build_request(:create_web_function, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Creates an endpoint for a web function. An endpoint exposes the web
615
+ # function over HTTPS and routes traffic to one or more revisions.
616
+ #
617
+ # To use this operation, you must have the `CreateWebFunctionEndpoint`
618
+ # permission on the web function, not on the endpoint being created.
619
+ #
620
+ # @option params [required, String] :function_name
621
+ # The name of the web function to create the endpoint for. You can
622
+ # specify the function name or the function ARN. The length constraint
623
+ # applies only to the full ARN. If you specify only the function name,
624
+ # it is limited to 64 characters in length.
625
+ #
626
+ # @option params [required, String] :endpoint_name
627
+ # The name of the endpoint to create. The name can contain letters,
628
+ # numbers, hyphens (-), and underscores (\_), and can't begin or end
629
+ # with a hyphen or an underscore. The length constraint applies only to
630
+ # the full ARN. If you specify only the endpoint name, it is limited to
631
+ # 64 characters in length.
632
+ #
633
+ # @option params [String] :description
634
+ # A description of the endpoint.
635
+ #
636
+ # @option params [required, String] :endpoint_type
637
+ # The type of endpoint to create. Determines how traffic is served and
638
+ # routed across Regions.
639
+ #
640
+ # @option params [required, String] :auth_type
641
+ # The authorization type for the endpoint.
642
+ #
643
+ # @option params [String] :auto_deployment_mode
644
+ # The auto-deployment mode for the endpoint. Controls whether the
645
+ # endpoint automatically serves the newest revision. If you don't
646
+ # specify a value, the default is `Disabled`, and this default is
647
+ # returned in the response.
648
+ #
649
+ # @option params [Array<Types::RevisionWeight>] :revision_weights
650
+ # A list of revision weights that determine how traffic is distributed
651
+ # across revisions. Up to two revisions can be specified for canary or
652
+ # blue-green deployments.
653
+ #
654
+ # @option params [Array<String>] :regions
655
+ # The list of Regions for the endpoint. Required when the endpoint type
656
+ # is `MultiRegion` or `PerRegion`: specify at least one Region other
657
+ # than the Region where you create the endpoint (the home Region). The
658
+ # home Region is added automatically if you don't include it;
659
+ # specifying only the home Region isn't allowed. When the endpoint type
660
+ # is `HomeRegion`, omit this field or specify only the home Region.
661
+ #
662
+ # @option params [Types::ScalingConfig] :scaling_config
663
+ # The scaling configuration for the endpoint. There is no default value.
664
+ # If you don't specify a scaling configuration, it is absent from the
665
+ # response.
666
+ #
667
+ # @option params [Types::ThrottleConfig] :throttle_config
668
+ # The throttling configuration for the endpoint. There is no default
669
+ # value. If you don't specify a throttling configuration, it is absent
670
+ # from the response.
671
+ #
672
+ # @return [Types::CreateWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
673
+ #
674
+ # * {Types::CreateWebFunctionEndpointResponse#function_arn #function_arn} => String
675
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
676
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
677
+ # * {Types::CreateWebFunctionEndpointResponse#description #description} => String
678
+ # * {Types::CreateWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
679
+ # * {Types::CreateWebFunctionEndpointResponse#domain_name #domain_name} => String
680
+ # * {Types::CreateWebFunctionEndpointResponse#auth_type #auth_type} => String
681
+ # * {Types::CreateWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
682
+ # * {Types::CreateWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
683
+ # * {Types::CreateWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
684
+ # * {Types::CreateWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
685
+ # * {Types::CreateWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
686
+ # * {Types::CreateWebFunctionEndpointResponse#state #state} => String
687
+ # * {Types::CreateWebFunctionEndpointResponse#state_reason #state_reason} => String
688
+ # * {Types::CreateWebFunctionEndpointResponse#update_status #update_status} => String
689
+ # * {Types::CreateWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
690
+ # * {Types::CreateWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
691
+ # * {Types::CreateWebFunctionEndpointResponse#created_at #created_at} => Time
692
+ # * {Types::CreateWebFunctionEndpointResponse#updated_at #updated_at} => Time
693
+ #
694
+ # @example Request syntax with placeholder values
695
+ #
696
+ # resp = client.create_web_function_endpoint({
697
+ # function_name: "FunctionName", # required
698
+ # endpoint_name: "EndpointName", # required
699
+ # description: "Description",
700
+ # endpoint_type: "HomeRegion", # required, accepts HomeRegion, MultiRegion, PerRegion
701
+ # auth_type: "ApplicationManaged", # required, accepts ApplicationManaged, IamAuth
702
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
703
+ # revision_weights: [
704
+ # {
705
+ # revision_id: "RevisionId", # required
706
+ # weight: 1, # required
707
+ # },
708
+ # ],
709
+ # regions: ["Region"],
710
+ # scaling_config: {
711
+ # max_environments: 1,
712
+ # },
713
+ # throttle_config: {
714
+ # rate_limit: 1,
715
+ # },
716
+ # })
717
+ #
718
+ # @example Response structure
719
+ #
720
+ # resp.function_arn #=> String
721
+ # resp.endpoint_arn #=> String
722
+ # resp.endpoint_name #=> String
723
+ # resp.description #=> String
724
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
725
+ # resp.domain_name #=> String
726
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
727
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
728
+ # resp.revision_weights #=> Array
729
+ # resp.revision_weights[0].revision_id #=> String
730
+ # resp.revision_weights[0].weight #=> Integer
731
+ # resp.regions #=> Array
732
+ # resp.regions[0] #=> String
733
+ # resp.scaling_config.max_environments #=> Integer
734
+ # resp.throttle_config.rate_limit #=> Integer
735
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
736
+ # resp.state_reason #=> String
737
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
738
+ # resp.update_status_reason #=> String
739
+ # resp.regional_endpoints #=> Hash
740
+ # resp.regional_endpoints["Region"].domain_name #=> String
741
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
742
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
743
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
744
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
745
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
746
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
747
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
748
+ # resp.regional_endpoints["Region"].state_reason #=> String
749
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
750
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
751
+ # resp.created_at #=> Time
752
+ # resp.updated_at #=> Time
753
+ #
754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunctionEndpoint AWS API Documentation
755
+ #
756
+ # @overload create_web_function_endpoint(params = {})
757
+ # @param [Hash] params ({})
758
+ def create_web_function_endpoint(params = {}, options = {})
759
+ req = build_request(:create_web_function_endpoint, params)
760
+ req.send_request(options)
761
+ end
762
+
763
+ # Creates an immutable revision for a web function. A revision
764
+ # represents a specific version of the function code and configuration.
765
+ #
766
+ # To use this operation, you must have the `CreateWebFunctionRevision`
767
+ # permission on the web function, not on the revision being created.
768
+ #
769
+ # @option params [required, String] :function_name
770
+ # The name of the web function. You can specify the function name or the
771
+ # function ARN. The length constraint applies only to the full ARN. If
772
+ # you specify only the function name, it is limited to 64 characters in
773
+ # length.
774
+ #
775
+ # @option params [String] :description
776
+ # A description of the revision.
777
+ #
778
+ # @option params [String] :kms_key_arn
779
+ # The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS
780
+ # KMS) key used to encrypt the revision's code and environment
781
+ # variables.
782
+ #
783
+ # @option params [required, Types::BuildConfig] :build_config
784
+ # The build configuration for the revision, including code location and
785
+ # runtime settings.
786
+ #
787
+ # @option params [required, Types::ServiceConfig] :service_config
788
+ # The service configuration for the revision, including execution role,
789
+ # timeout, and concurrency settings.
790
+ #
791
+ # @return [Types::CreateWebFunctionRevisionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
792
+ #
793
+ # * {Types::CreateWebFunctionRevisionResponse#function_arn #function_arn} => String
794
+ # * {Types::CreateWebFunctionRevisionResponse#revision_arn #revision_arn} => String
795
+ # * {Types::CreateWebFunctionRevisionResponse#revision_id #revision_id} => String
796
+ # * {Types::CreateWebFunctionRevisionResponse#description #description} => String
797
+ # * {Types::CreateWebFunctionRevisionResponse#kms_key_arn #kms_key_arn} => String
798
+ # * {Types::CreateWebFunctionRevisionResponse#build_config #build_config} => Types::BuildConfig
799
+ # * {Types::CreateWebFunctionRevisionResponse#service_config #service_config} => Types::ServiceConfig
800
+ # * {Types::CreateWebFunctionRevisionResponse#state #state} => String
801
+ # * {Types::CreateWebFunctionRevisionResponse#state_reason #state_reason} => String
802
+ # * {Types::CreateWebFunctionRevisionResponse#errors #errors} => Array&lt;Types::RevisionError&gt;
803
+ # * {Types::CreateWebFunctionRevisionResponse#created_at #created_at} => Time
804
+ #
805
+ # @example Request syntax with placeholder values
806
+ #
807
+ # resp = client.create_web_function_revision({
808
+ # function_name: "FunctionName", # required
809
+ # description: "Description",
810
+ # kms_key_arn: "KmsKeyArn",
811
+ # build_config: { # required
812
+ # code_config: { # required
813
+ # s3_object: { # required
814
+ # bucket: "S3ObjectBucketString", # required
815
+ # key: "S3ObjectKeyString", # required
816
+ # version_id: "S3ObjectVersionIdString",
817
+ # },
818
+ # },
819
+ # runtime_config: { # required
820
+ # runtime: "RuntimeConfigRuntimeString", # required
821
+ # },
822
+ # },
823
+ # service_config: { # required
824
+ # execution_role_arn: "RoleArn", # required
825
+ # timeout_seconds: 1,
826
+ # max_concurrency_per_environment: 1,
827
+ # environment_variables: {
828
+ # "EnvironmentVariablesKeyString" => "EnvironmentVariablesValueString",
829
+ # },
830
+ # telemetry_config: {
831
+ # logging_config: {
832
+ # log_group: "LoggingConfigLogGroupString",
833
+ # application_log_level: "TRACE", # accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL
834
+ # system_log_level: "DEBUG", # accepts DEBUG, INFO, WARN
835
+ # },
836
+ # },
837
+ # },
838
+ # })
839
+ #
840
+ # @example Response structure
841
+ #
842
+ # resp.function_arn #=> String
843
+ # resp.revision_arn #=> String
844
+ # resp.revision_id #=> String
845
+ # resp.description #=> String
846
+ # resp.kms_key_arn #=> String
847
+ # resp.build_config.code_config.s3_object.bucket #=> String
848
+ # resp.build_config.code_config.s3_object.key #=> String
849
+ # resp.build_config.code_config.s3_object.version_id #=> String
850
+ # resp.build_config.runtime_config.runtime #=> String
851
+ # resp.service_config.execution_role_arn #=> String
852
+ # resp.service_config.timeout_seconds #=> Integer
853
+ # resp.service_config.max_concurrency_per_environment #=> Integer
854
+ # resp.service_config.environment_variables #=> Hash
855
+ # resp.service_config.environment_variables["EnvironmentVariablesKeyString"] #=> String
856
+ # resp.service_config.telemetry_config.logging_config.log_group #=> String
857
+ # resp.service_config.telemetry_config.logging_config.application_log_level #=> String, one of "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
858
+ # resp.service_config.telemetry_config.logging_config.system_log_level #=> String, one of "DEBUG", "INFO", "WARN"
859
+ # resp.state #=> String, one of "Pending", "Active", "Failed"
860
+ # resp.state_reason #=> String
861
+ # resp.errors #=> Array
862
+ # resp.errors[0].attribute #=> String
863
+ # resp.errors[0].error_code #=> String
864
+ # resp.errors[0].error_message #=> String
865
+ # resp.created_at #=> Time
866
+ #
867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/CreateWebFunctionRevision AWS API Documentation
868
+ #
869
+ # @overload create_web_function_revision(params = {})
870
+ # @param [Hash] params ({})
871
+ def create_web_function_revision(params = {}, options = {})
872
+ req = build_request(:create_web_function_revision, params)
873
+ req.send_request(options)
874
+ end
875
+
876
+ # Removes the resource-based policy from a web function.
877
+ #
878
+ # @option params [required, String] :resource_arn
879
+ # The Amazon Resource Name (ARN) of the web function.
880
+ #
881
+ # @option params [String] :revision_id
882
+ # The revision ID of the policy. Use this to prevent deleting a policy
883
+ # that has been updated since you last retrieved it. If you don't
884
+ # specify a value, the policy is deleted regardless of its current
885
+ # revision.
886
+ #
887
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
888
+ #
889
+ # @example Request syntax with placeholder values
890
+ #
891
+ # resp = client.delete_resource_policy({
892
+ # resource_arn: "ResourceArn", # required
893
+ # revision_id: "PolicyRevisionId",
894
+ # })
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteResourcePolicy AWS API Documentation
897
+ #
898
+ # @overload delete_resource_policy(params = {})
899
+ # @param [Hash] params ({})
900
+ def delete_resource_policy(params = {}, options = {})
901
+ req = build_request(:delete_resource_policy, params)
902
+ req.send_request(options)
903
+ end
904
+
905
+ # Deletes a web function and all of its associated revisions and
906
+ # endpoints.
907
+ #
908
+ # To use this operation, you must have the `DeleteWebFunction`
909
+ # permission on the web function. You don't need the
910
+ # `DeleteWebFunctionRevision` or `DeleteWebFunctionEndpoint` permission.
911
+ #
912
+ # @option params [required, String] :function_name
913
+ # The name of the web function to delete. You can specify the function
914
+ # name or the function ARN. The length constraint applies only to the
915
+ # full ARN. If you specify only the function name, it is limited to 64
916
+ # characters in length.
917
+ #
918
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
919
+ #
920
+ # @example Request syntax with placeholder values
921
+ #
922
+ # resp = client.delete_web_function({
923
+ # function_name: "FunctionName", # required
924
+ # })
925
+ #
926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunction AWS API Documentation
927
+ #
928
+ # @overload delete_web_function(params = {})
929
+ # @param [Hash] params ({})
930
+ def delete_web_function(params = {}, options = {})
931
+ req = build_request(:delete_web_function, params)
932
+ req.send_request(options)
933
+ end
934
+
935
+ # Deletes a web function endpoint.
936
+ #
937
+ # @option params [required, String] :function_name
938
+ # The name of the web function. You can specify the function name or the
939
+ # function ARN. The length constraint applies only to the full ARN. If
940
+ # you specify only the function name, it is limited to 64 characters in
941
+ # length.
942
+ #
943
+ # @option params [required, String] :endpoint_name
944
+ # The name of the endpoint to delete. You can specify the endpoint name
945
+ # or the endpoint ARN. The length constraint applies only to the full
946
+ # ARN. If you specify only the endpoint name, it is limited to 64
947
+ # characters in length.
948
+ #
949
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
950
+ #
951
+ # @example Request syntax with placeholder values
952
+ #
953
+ # resp = client.delete_web_function_endpoint({
954
+ # function_name: "FunctionName", # required
955
+ # endpoint_name: "EndpointName", # required
956
+ # })
957
+ #
958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunctionEndpoint AWS API Documentation
959
+ #
960
+ # @overload delete_web_function_endpoint(params = {})
961
+ # @param [Hash] params ({})
962
+ def delete_web_function_endpoint(params = {}, options = {})
963
+ req = build_request(:delete_web_function_endpoint, params)
964
+ req.send_request(options)
965
+ end
966
+
967
+ # Deletes a web function revision. You cannot delete a revision that is
968
+ # currently serving traffic on an endpoint.
969
+ #
970
+ # @option params [required, String] :function_name
971
+ # The name of the web function. You can specify the function name or the
972
+ # function ARN. The length constraint applies only to the full ARN. If
973
+ # you specify only the function name, it is limited to 64 characters in
974
+ # length.
975
+ #
976
+ # @option params [required, String] :revision_id
977
+ # The identifier of the revision to delete. You can specify the revision
978
+ # identifier or the revision ARN. The length constraint applies only to
979
+ # the full ARN.
980
+ #
981
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
982
+ #
983
+ # @example Request syntax with placeholder values
984
+ #
985
+ # resp = client.delete_web_function_revision({
986
+ # function_name: "FunctionName", # required
987
+ # revision_id: "RevisionId", # required
988
+ # })
989
+ #
990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/DeleteWebFunctionRevision AWS API Documentation
991
+ #
992
+ # @overload delete_web_function_revision(params = {})
993
+ # @param [Hash] params ({})
994
+ def delete_web_function_revision(params = {}, options = {})
995
+ req = build_request(:delete_web_function_revision, params)
996
+ req.send_request(options)
997
+ end
998
+
999
+ # Retrieves the resource-based policy attached to a web function.
1000
+ #
1001
+ # @option params [required, String] :resource_arn
1002
+ # The Amazon Resource Name (ARN) of the web function.
1003
+ #
1004
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1005
+ #
1006
+ # * {Types::GetResourcePolicyResponse#policy #policy} => String
1007
+ # * {Types::GetResourcePolicyResponse#revision_id #revision_id} => String
1008
+ #
1009
+ # @example Request syntax with placeholder values
1010
+ #
1011
+ # resp = client.get_resource_policy({
1012
+ # resource_arn: "ResourceArn", # required
1013
+ # })
1014
+ #
1015
+ # @example Response structure
1016
+ #
1017
+ # resp.policy #=> String
1018
+ # resp.revision_id #=> String
1019
+ #
1020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetResourcePolicy AWS API Documentation
1021
+ #
1022
+ # @overload get_resource_policy(params = {})
1023
+ # @param [Hash] params ({})
1024
+ def get_resource_policy(params = {}, options = {})
1025
+ req = build_request(:get_resource_policy, params)
1026
+ req.send_request(options)
1027
+ end
1028
+
1029
+ # Retrieves details about your AWS Lambda Web Functions account settings
1030
+ # for the current AWS Region, including the quotas that apply to web
1031
+ # functions and your current usage.
1032
+ #
1033
+ # @return [Types::GetWebAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1034
+ #
1035
+ # * {Types::GetWebAccountSettingsResponse#account_quotas #account_quotas} => Types::AccountQuotas
1036
+ # * {Types::GetWebAccountSettingsResponse#account_usage #account_usage} => Types::AccountUsage
1037
+ #
1038
+ # @example Response structure
1039
+ #
1040
+ # resp.account_quotas.max_total_arm_v_cpus #=> Integer
1041
+ # resp.account_quotas.max_total_rate_limit #=> Integer
1042
+ # resp.account_quotas.max_revisions_per_function #=> Integer
1043
+ # resp.account_quotas.max_endpoints_per_function #=> Integer
1044
+ # resp.account_usage.function_count #=> Integer
1045
+ #
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebAccountSettings AWS API Documentation
1047
+ #
1048
+ # @overload get_web_account_settings(params = {})
1049
+ # @param [Hash] params ({})
1050
+ def get_web_account_settings(params = {}, options = {})
1051
+ req = build_request(:get_web_account_settings, params)
1052
+ req.send_request(options)
1053
+ end
1054
+
1055
+ # Retrieves details about a web function, including its current state
1056
+ # and configuration.
1057
+ #
1058
+ # @option params [required, String] :function_name
1059
+ # The name of the web function to retrieve. You can specify the function
1060
+ # name or the function ARN. The length constraint applies only to the
1061
+ # full ARN. If you specify only the function name, it is limited to 64
1062
+ # characters in length.
1063
+ #
1064
+ # @return [Types::GetWebFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1065
+ #
1066
+ # * {Types::GetWebFunctionResponse#function_name #function_name} => String
1067
+ # * {Types::GetWebFunctionResponse#function_arn #function_arn} => String
1068
+ # * {Types::GetWebFunctionResponse#state #state} => String
1069
+ # * {Types::GetWebFunctionResponse#state_reason #state_reason} => String
1070
+ # * {Types::GetWebFunctionResponse#created_at #created_at} => Time
1071
+ # * {Types::GetWebFunctionResponse#updated_at #updated_at} => Time
1072
+ #
1073
+ # @example Request syntax with placeholder values
1074
+ #
1075
+ # resp = client.get_web_function({
1076
+ # function_name: "FunctionName", # required
1077
+ # })
1078
+ #
1079
+ # @example Response structure
1080
+ #
1081
+ # resp.function_name #=> String
1082
+ # resp.function_arn #=> String
1083
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1084
+ # resp.state_reason #=> String
1085
+ # resp.created_at #=> Time
1086
+ # resp.updated_at #=> Time
1087
+ #
1088
+ #
1089
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1090
+ #
1091
+ # * web_function_active
1092
+ # * web_function_deleted
1093
+ #
1094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunction AWS API Documentation
1095
+ #
1096
+ # @overload get_web_function(params = {})
1097
+ # @param [Hash] params ({})
1098
+ def get_web_function(params = {}, options = {})
1099
+ req = build_request(:get_web_function, params)
1100
+ req.send_request(options)
1101
+ end
1102
+
1103
+ # Retrieves details about a web function endpoint, including its current
1104
+ # state, configuration, and domain name.
1105
+ #
1106
+ # @option params [required, String] :function_name
1107
+ # The name of the web function. You can specify the function name or the
1108
+ # function ARN. The length constraint applies only to the full ARN. If
1109
+ # you specify only the function name, it is limited to 64 characters in
1110
+ # length.
1111
+ #
1112
+ # @option params [required, String] :endpoint_name
1113
+ # The name of the endpoint to retrieve. You can specify the endpoint
1114
+ # name or the endpoint ARN. The length constraint applies only to the
1115
+ # full ARN. If you specify only the endpoint name, it is limited to 64
1116
+ # characters in length.
1117
+ #
1118
+ # @return [Types::GetWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1119
+ #
1120
+ # * {Types::GetWebFunctionEndpointResponse#function_arn #function_arn} => String
1121
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
1122
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
1123
+ # * {Types::GetWebFunctionEndpointResponse#description #description} => String
1124
+ # * {Types::GetWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
1125
+ # * {Types::GetWebFunctionEndpointResponse#domain_name #domain_name} => String
1126
+ # * {Types::GetWebFunctionEndpointResponse#auth_type #auth_type} => String
1127
+ # * {Types::GetWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
1128
+ # * {Types::GetWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
1129
+ # * {Types::GetWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
1130
+ # * {Types::GetWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
1131
+ # * {Types::GetWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
1132
+ # * {Types::GetWebFunctionEndpointResponse#state #state} => String
1133
+ # * {Types::GetWebFunctionEndpointResponse#state_reason #state_reason} => String
1134
+ # * {Types::GetWebFunctionEndpointResponse#update_status #update_status} => String
1135
+ # * {Types::GetWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
1136
+ # * {Types::GetWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
1137
+ # * {Types::GetWebFunctionEndpointResponse#created_at #created_at} => Time
1138
+ # * {Types::GetWebFunctionEndpointResponse#updated_at #updated_at} => Time
1139
+ #
1140
+ # @example Request syntax with placeholder values
1141
+ #
1142
+ # resp = client.get_web_function_endpoint({
1143
+ # function_name: "FunctionName", # required
1144
+ # endpoint_name: "EndpointName", # required
1145
+ # })
1146
+ #
1147
+ # @example Response structure
1148
+ #
1149
+ # resp.function_arn #=> String
1150
+ # resp.endpoint_arn #=> String
1151
+ # resp.endpoint_name #=> String
1152
+ # resp.description #=> String
1153
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1154
+ # resp.domain_name #=> String
1155
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1156
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1157
+ # resp.revision_weights #=> Array
1158
+ # resp.revision_weights[0].revision_id #=> String
1159
+ # resp.revision_weights[0].weight #=> Integer
1160
+ # resp.regions #=> Array
1161
+ # resp.regions[0] #=> String
1162
+ # resp.scaling_config.max_environments #=> Integer
1163
+ # resp.throttle_config.rate_limit #=> Integer
1164
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1165
+ # resp.state_reason #=> String
1166
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
1167
+ # resp.update_status_reason #=> String
1168
+ # resp.regional_endpoints #=> Hash
1169
+ # resp.regional_endpoints["Region"].domain_name #=> String
1170
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1171
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
1172
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
1173
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
1174
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
1175
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
1176
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1177
+ # resp.regional_endpoints["Region"].state_reason #=> String
1178
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
1179
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
1180
+ # resp.created_at #=> Time
1181
+ # resp.updated_at #=> Time
1182
+ #
1183
+ #
1184
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1185
+ #
1186
+ # * web_function_endpoint_active
1187
+ # * web_function_endpoint_deleted
1188
+ # * web_function_endpoint_updated
1189
+ #
1190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunctionEndpoint AWS API Documentation
1191
+ #
1192
+ # @overload get_web_function_endpoint(params = {})
1193
+ # @param [Hash] params ({})
1194
+ def get_web_function_endpoint(params = {}, options = {})
1195
+ req = build_request(:get_web_function_endpoint, params)
1196
+ req.send_request(options)
1197
+ end
1198
+
1199
+ # Retrieves details about a web function revision, including its state
1200
+ # and configuration.
1201
+ #
1202
+ # @option params [required, String] :function_name
1203
+ # The name of the web function. You can specify the function name or the
1204
+ # function ARN. The length constraint applies only to the full ARN. If
1205
+ # you specify only the function name, it is limited to 64 characters in
1206
+ # length.
1207
+ #
1208
+ # @option params [required, String] :revision_id
1209
+ # The identifier of the revision to retrieve. You can specify the
1210
+ # revision identifier or the revision ARN. The length constraint applies
1211
+ # only to the full ARN.
1212
+ #
1213
+ # @return [Types::GetWebFunctionRevisionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1214
+ #
1215
+ # * {Types::GetWebFunctionRevisionResponse#function_arn #function_arn} => String
1216
+ # * {Types::GetWebFunctionRevisionResponse#revision_arn #revision_arn} => String
1217
+ # * {Types::GetWebFunctionRevisionResponse#revision_id #revision_id} => String
1218
+ # * {Types::GetWebFunctionRevisionResponse#description #description} => String
1219
+ # * {Types::GetWebFunctionRevisionResponse#kms_key_arn #kms_key_arn} => String
1220
+ # * {Types::GetWebFunctionRevisionResponse#build_config #build_config} => Types::BuildConfig
1221
+ # * {Types::GetWebFunctionRevisionResponse#service_config #service_config} => Types::ServiceConfig
1222
+ # * {Types::GetWebFunctionRevisionResponse#state #state} => String
1223
+ # * {Types::GetWebFunctionRevisionResponse#state_reason #state_reason} => String
1224
+ # * {Types::GetWebFunctionRevisionResponse#errors #errors} => Array&lt;Types::RevisionError&gt;
1225
+ # * {Types::GetWebFunctionRevisionResponse#created_at #created_at} => Time
1226
+ #
1227
+ # @example Request syntax with placeholder values
1228
+ #
1229
+ # resp = client.get_web_function_revision({
1230
+ # function_name: "FunctionName", # required
1231
+ # revision_id: "RevisionId", # required
1232
+ # })
1233
+ #
1234
+ # @example Response structure
1235
+ #
1236
+ # resp.function_arn #=> String
1237
+ # resp.revision_arn #=> String
1238
+ # resp.revision_id #=> String
1239
+ # resp.description #=> String
1240
+ # resp.kms_key_arn #=> String
1241
+ # resp.build_config.code_config.s3_object.bucket #=> String
1242
+ # resp.build_config.code_config.s3_object.key #=> String
1243
+ # resp.build_config.code_config.s3_object.version_id #=> String
1244
+ # resp.build_config.runtime_config.runtime #=> String
1245
+ # resp.service_config.execution_role_arn #=> String
1246
+ # resp.service_config.timeout_seconds #=> Integer
1247
+ # resp.service_config.max_concurrency_per_environment #=> Integer
1248
+ # resp.service_config.environment_variables #=> Hash
1249
+ # resp.service_config.environment_variables["EnvironmentVariablesKeyString"] #=> String
1250
+ # resp.service_config.telemetry_config.logging_config.log_group #=> String
1251
+ # resp.service_config.telemetry_config.logging_config.application_log_level #=> String, one of "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
1252
+ # resp.service_config.telemetry_config.logging_config.system_log_level #=> String, one of "DEBUG", "INFO", "WARN"
1253
+ # resp.state #=> String, one of "Pending", "Active", "Failed"
1254
+ # resp.state_reason #=> String
1255
+ # resp.errors #=> Array
1256
+ # resp.errors[0].attribute #=> String
1257
+ # resp.errors[0].error_code #=> String
1258
+ # resp.errors[0].error_message #=> String
1259
+ # resp.created_at #=> Time
1260
+ #
1261
+ #
1262
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1263
+ #
1264
+ # * web_function_revision_active
1265
+ #
1266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/GetWebFunctionRevision AWS API Documentation
1267
+ #
1268
+ # @overload get_web_function_revision(params = {})
1269
+ # @param [Hash] params ({})
1270
+ def get_web_function_revision(params = {}, options = {})
1271
+ req = build_request(:get_web_function_revision, params)
1272
+ req.send_request(options)
1273
+ end
1274
+
1275
+ # Returns a list of tags applied to a web function.
1276
+ #
1277
+ # @option params [required, String] :resource
1278
+ # The Amazon Resource Name (ARN) of the web function.
1279
+ #
1280
+ # @return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1281
+ #
1282
+ # * {Types::ListTagsResponse#tags #tags} => Hash&lt;String,String&gt;
1283
+ #
1284
+ # @example Request syntax with placeholder values
1285
+ #
1286
+ # resp = client.list_tags({
1287
+ # resource: "ResourceArn", # required
1288
+ # })
1289
+ #
1290
+ # @example Response structure
1291
+ #
1292
+ # resp.tags #=> Hash
1293
+ # resp.tags["TagKey"] #=> String
1294
+ #
1295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListTags AWS API Documentation
1296
+ #
1297
+ # @overload list_tags(params = {})
1298
+ # @param [Hash] params ({})
1299
+ def list_tags(params = {}, options = {})
1300
+ req = build_request(:list_tags, params)
1301
+ req.send_request(options)
1302
+ end
1303
+
1304
+ # Lists endpoints for a web function. We recommend using pagination to
1305
+ # ensure that the operation returns quickly and successfully.
1306
+ #
1307
+ # @option params [required, String] :function_name
1308
+ # The name of the web function. You can specify the function name or the
1309
+ # function ARN. The length constraint applies only to the full ARN. If
1310
+ # you specify only the function name, it is limited to 64 characters in
1311
+ # length.
1312
+ #
1313
+ # @option params [Array<Types::Filter>] :filters
1314
+ # A list of filters to apply to the results. Supported filter names:
1315
+ # `authType`, `autoDeploymentMode`, `endpointType`, `state`, and
1316
+ # `updateStatus`.
1317
+ #
1318
+ # @option params [Integer] :max_results
1319
+ # The maximum number of results to return in a single call. Minimum
1320
+ # value of 1, maximum value of 50. Default is 50.
1321
+ #
1322
+ # @option params [String] :next_token
1323
+ # The pagination token that's returned by a previous request to
1324
+ # retrieve the next page of results.
1325
+ #
1326
+ # @return [Types::ListWebFunctionEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1327
+ #
1328
+ # * {Types::ListWebFunctionEndpointsResponse#endpoints #endpoints} => Array&lt;Types::FunctionEndpointSummary&gt;
1329
+ # * {Types::ListWebFunctionEndpointsResponse#next_token #next_token} => String
1330
+ #
1331
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1332
+ #
1333
+ # @example Request syntax with placeholder values
1334
+ #
1335
+ # resp = client.list_web_function_endpoints({
1336
+ # function_name: "FunctionName", # required
1337
+ # filters: [
1338
+ # {
1339
+ # name: "FilterNameString", # required
1340
+ # values: ["FilterValueListMemberString"], # required
1341
+ # },
1342
+ # ],
1343
+ # max_results: 1,
1344
+ # next_token: "NextToken",
1345
+ # })
1346
+ #
1347
+ # @example Response structure
1348
+ #
1349
+ # resp.endpoints #=> Array
1350
+ # resp.endpoints[0].endpoint_arn #=> String
1351
+ # resp.endpoints[0].endpoint_name #=> String
1352
+ # resp.endpoints[0].description #=> String
1353
+ # resp.endpoints[0].endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1354
+ # resp.endpoints[0].domain_name #=> String
1355
+ # resp.endpoints[0].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1356
+ # resp.endpoints[0].auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1357
+ # resp.endpoints[0].revision_weights #=> Array
1358
+ # resp.endpoints[0].revision_weights[0].revision_id #=> String
1359
+ # resp.endpoints[0].revision_weights[0].weight #=> Integer
1360
+ # resp.endpoints[0].regions #=> Array
1361
+ # resp.endpoints[0].regions[0] #=> String
1362
+ # resp.endpoints[0].scaling_config.max_environments #=> Integer
1363
+ # resp.endpoints[0].throttle_config.rate_limit #=> Integer
1364
+ # resp.endpoints[0].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1365
+ # resp.endpoints[0].state_reason #=> String
1366
+ # resp.endpoints[0].update_status #=> String, one of "InProgress", "Successful", "Failed"
1367
+ # resp.endpoints[0].update_status_reason #=> String
1368
+ # resp.endpoints[0].created_at #=> Time
1369
+ # resp.endpoints[0].updated_at #=> Time
1370
+ # resp.next_token #=> String
1371
+ #
1372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctionEndpoints AWS API Documentation
1373
+ #
1374
+ # @overload list_web_function_endpoints(params = {})
1375
+ # @param [Hash] params ({})
1376
+ def list_web_function_endpoints(params = {}, options = {})
1377
+ req = build_request(:list_web_function_endpoints, params)
1378
+ req.send_request(options)
1379
+ end
1380
+
1381
+ # Lists revisions for a web function. We recommend using pagination to
1382
+ # ensure that the operation returns quickly and successfully.
1383
+ #
1384
+ # @option params [required, String] :function_name
1385
+ # The name of the web function. You can specify the function name or the
1386
+ # function ARN. The length constraint applies only to the full ARN. If
1387
+ # you specify only the function name, it is limited to 64 characters in
1388
+ # length.
1389
+ #
1390
+ # @option params [Array<Types::Filter>] :filters
1391
+ # A list of filters to apply to the results. The only supported filter
1392
+ # name is `state`.
1393
+ #
1394
+ # @option params [Integer] :max_results
1395
+ # The maximum number of results to return in a single call. Minimum
1396
+ # value of 1, maximum value of 50. Default is 50.
1397
+ #
1398
+ # @option params [String] :next_token
1399
+ # The pagination token that's returned by a previous request to
1400
+ # retrieve the next page of results.
1401
+ #
1402
+ # @return [Types::ListWebFunctionRevisionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1403
+ #
1404
+ # * {Types::ListWebFunctionRevisionsResponse#revisions #revisions} => Array&lt;Types::FunctionRevisionSummary&gt;
1405
+ # * {Types::ListWebFunctionRevisionsResponse#next_token #next_token} => String
1406
+ #
1407
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1408
+ #
1409
+ # @example Request syntax with placeholder values
1410
+ #
1411
+ # resp = client.list_web_function_revisions({
1412
+ # function_name: "FunctionName", # required
1413
+ # filters: [
1414
+ # {
1415
+ # name: "FilterNameString", # required
1416
+ # values: ["FilterValueListMemberString"], # required
1417
+ # },
1418
+ # ],
1419
+ # max_results: 1,
1420
+ # next_token: "NextToken",
1421
+ # })
1422
+ #
1423
+ # @example Response structure
1424
+ #
1425
+ # resp.revisions #=> Array
1426
+ # resp.revisions[0].revision_arn #=> String
1427
+ # resp.revisions[0].revision_id #=> String
1428
+ # resp.revisions[0].description #=> String
1429
+ # resp.revisions[0].state #=> String, one of "Pending", "Active", "Failed"
1430
+ # resp.revisions[0].state_reason #=> String
1431
+ # resp.revisions[0].created_at #=> Time
1432
+ # resp.next_token #=> String
1433
+ #
1434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctionRevisions AWS API Documentation
1435
+ #
1436
+ # @overload list_web_function_revisions(params = {})
1437
+ # @param [Hash] params ({})
1438
+ def list_web_function_revisions(params = {}, options = {})
1439
+ req = build_request(:list_web_function_revisions, params)
1440
+ req.send_request(options)
1441
+ end
1442
+
1443
+ # Lists web functions in your account. We recommend using pagination to
1444
+ # ensure that the operation returns quickly and successfully.
1445
+ #
1446
+ # @option params [Array<Types::Filter>] :filters
1447
+ # A list of filters to apply to the results. The only supported filter
1448
+ # name is `state`.
1449
+ #
1450
+ # @option params [Integer] :max_results
1451
+ # The maximum number of results to return in a single call. Minimum
1452
+ # value of 1, maximum value of 50. Default is 50.
1453
+ #
1454
+ # @option params [String] :next_token
1455
+ # The pagination token that's returned by a previous request to
1456
+ # retrieve the next page of results.
1457
+ #
1458
+ # @return [Types::ListWebFunctionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1459
+ #
1460
+ # * {Types::ListWebFunctionsResponse#functions #functions} => Array&lt;Types::FunctionSummary&gt;
1461
+ # * {Types::ListWebFunctionsResponse#next_token #next_token} => String
1462
+ #
1463
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1464
+ #
1465
+ # @example Request syntax with placeholder values
1466
+ #
1467
+ # resp = client.list_web_functions({
1468
+ # filters: [
1469
+ # {
1470
+ # name: "FilterNameString", # required
1471
+ # values: ["FilterValueListMemberString"], # required
1472
+ # },
1473
+ # ],
1474
+ # max_results: 1,
1475
+ # next_token: "NextToken",
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.functions #=> Array
1481
+ # resp.functions[0].function_name #=> String
1482
+ # resp.functions[0].function_arn #=> String
1483
+ # resp.functions[0].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1484
+ # resp.functions[0].state_reason #=> String
1485
+ # resp.functions[0].created_at #=> Time
1486
+ # resp.functions[0].updated_at #=> Time
1487
+ # resp.next_token #=> String
1488
+ #
1489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/ListWebFunctions AWS API Documentation
1490
+ #
1491
+ # @overload list_web_functions(params = {})
1492
+ # @param [Hash] params ({})
1493
+ def list_web_functions(params = {}, options = {})
1494
+ req = build_request(:list_web_functions, params)
1495
+ req.send_request(options)
1496
+ end
1497
+
1498
+ # Adds or updates a resource-based policy on a web function. A
1499
+ # resource-based policy grants permissions to other AWS accounts or
1500
+ # services to perform actions on the web function.
1501
+ #
1502
+ # @option params [required, String] :resource_arn
1503
+ # The Amazon Resource Name (ARN) of the web function.
1504
+ #
1505
+ # @option params [required, String] :policy
1506
+ # The JSON-formatted resource-based policy to attach to the web
1507
+ # function.
1508
+ #
1509
+ # @option params [String] :revision_id
1510
+ # The revision ID of the existing policy. Use this to prevent conflicts
1511
+ # when updating a policy concurrently. If you don't specify a value,
1512
+ # the update proceeds without checking the current revision.
1513
+ #
1514
+ # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1515
+ #
1516
+ # * {Types::PutResourcePolicyResponse#policy #policy} => String
1517
+ # * {Types::PutResourcePolicyResponse#revision_id #revision_id} => String
1518
+ #
1519
+ # @example Request syntax with placeholder values
1520
+ #
1521
+ # resp = client.put_resource_policy({
1522
+ # resource_arn: "ResourceArn", # required
1523
+ # policy: "ResourcePolicy", # required
1524
+ # revision_id: "PolicyRevisionId",
1525
+ # })
1526
+ #
1527
+ # @example Response structure
1528
+ #
1529
+ # resp.policy #=> String
1530
+ # resp.revision_id #=> String
1531
+ #
1532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/PutResourcePolicy AWS API Documentation
1533
+ #
1534
+ # @overload put_resource_policy(params = {})
1535
+ # @param [Hash] params ({})
1536
+ def put_resource_policy(params = {}, options = {})
1537
+ req = build_request(:put_resource_policy, params)
1538
+ req.send_request(options)
1539
+ end
1540
+
1541
+ # Adds tags to a web function. If a tag key already exists, the existing
1542
+ # value is overwritten with the new value.
1543
+ #
1544
+ # @option params [required, String] :resource
1545
+ # The Amazon Resource Name (ARN) of the web function.
1546
+ #
1547
+ # @option params [required, Hash<String,String>] :tags
1548
+ # A map of tag keys and values to add to the web function.
1549
+ #
1550
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1551
+ #
1552
+ # @example Request syntax with placeholder values
1553
+ #
1554
+ # resp = client.tag_resource({
1555
+ # resource: "ResourceArn", # required
1556
+ # tags: { # required
1557
+ # "TagKey" => "TagsValueString",
1558
+ # },
1559
+ # })
1560
+ #
1561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/TagResource AWS API Documentation
1562
+ #
1563
+ # @overload tag_resource(params = {})
1564
+ # @param [Hash] params ({})
1565
+ def tag_resource(params = {}, options = {})
1566
+ req = build_request(:tag_resource, params)
1567
+ req.send_request(options)
1568
+ end
1569
+
1570
+ # Removes tags from a web function.
1571
+ #
1572
+ # @option params [required, String] :resource
1573
+ # The Amazon Resource Name (ARN) of the web function.
1574
+ #
1575
+ # @option params [required, Array<String>] :tag_keys
1576
+ # A list of tag keys to remove from the web function.
1577
+ #
1578
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1579
+ #
1580
+ # @example Request syntax with placeholder values
1581
+ #
1582
+ # resp = client.untag_resource({
1583
+ # resource: "ResourceArn", # required
1584
+ # tag_keys: ["TagKey"], # required
1585
+ # })
1586
+ #
1587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/UntagResource AWS API Documentation
1588
+ #
1589
+ # @overload untag_resource(params = {})
1590
+ # @param [Hash] params ({})
1591
+ def untag_resource(params = {}, options = {})
1592
+ req = build_request(:untag_resource, params)
1593
+ req.send_request(options)
1594
+ end
1595
+
1596
+ # Updates the configuration of a web function endpoint. You can modify
1597
+ # the authorization type, auto-deployment mode, revision weights,
1598
+ # scaling, and throttling settings.
1599
+ #
1600
+ # @option params [required, String] :function_name
1601
+ # The name of the web function. You can specify the function name or the
1602
+ # function ARN. The length constraint applies only to the full ARN. If
1603
+ # you specify only the function name, it is limited to 64 characters in
1604
+ # length.
1605
+ #
1606
+ # @option params [required, String] :endpoint_name
1607
+ # The name of the endpoint to update. You can specify the endpoint name
1608
+ # or the endpoint ARN. The length constraint applies only to the full
1609
+ # ARN. If you specify only the endpoint name, it is limited to 64
1610
+ # characters in length.
1611
+ #
1612
+ # @option params [String] :description
1613
+ # A description of the endpoint.
1614
+ #
1615
+ # @option params [String] :auth_type
1616
+ # The authorization type for the endpoint.
1617
+ #
1618
+ # @option params [String] :auto_deployment_mode
1619
+ # The auto-deployment mode for the endpoint.
1620
+ #
1621
+ # @option params [Array<Types::RevisionWeight>] :revision_weights
1622
+ # A list of revision weights that determine how traffic is distributed
1623
+ # across revisions.
1624
+ #
1625
+ # @option params [Types::ScalingConfig] :scaling_config
1626
+ # The scaling configuration for the endpoint. Omit this field to keep
1627
+ # the current scaling configuration. To clear a previously set
1628
+ # `maxEnvironments` value, specify an empty object.
1629
+ #
1630
+ # @option params [Types::ThrottleConfig] :throttle_config
1631
+ # The throttling configuration for the endpoint. Omit this field to keep
1632
+ # the current throttling configuration. To clear a previously set
1633
+ # `rateLimit` value, specify an empty object.
1634
+ #
1635
+ # @return [Types::UpdateWebFunctionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1636
+ #
1637
+ # * {Types::UpdateWebFunctionEndpointResponse#function_arn #function_arn} => String
1638
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_arn #endpoint_arn} => String
1639
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_name #endpoint_name} => String
1640
+ # * {Types::UpdateWebFunctionEndpointResponse#description #description} => String
1641
+ # * {Types::UpdateWebFunctionEndpointResponse#endpoint_type #endpoint_type} => String
1642
+ # * {Types::UpdateWebFunctionEndpointResponse#domain_name #domain_name} => String
1643
+ # * {Types::UpdateWebFunctionEndpointResponse#auth_type #auth_type} => String
1644
+ # * {Types::UpdateWebFunctionEndpointResponse#auto_deployment_mode #auto_deployment_mode} => String
1645
+ # * {Types::UpdateWebFunctionEndpointResponse#revision_weights #revision_weights} => Array&lt;Types::RevisionWeight&gt;
1646
+ # * {Types::UpdateWebFunctionEndpointResponse#regions #regions} => Array&lt;String&gt;
1647
+ # * {Types::UpdateWebFunctionEndpointResponse#scaling_config #scaling_config} => Types::ScalingConfig
1648
+ # * {Types::UpdateWebFunctionEndpointResponse#throttle_config #throttle_config} => Types::ThrottleConfig
1649
+ # * {Types::UpdateWebFunctionEndpointResponse#state #state} => String
1650
+ # * {Types::UpdateWebFunctionEndpointResponse#state_reason #state_reason} => String
1651
+ # * {Types::UpdateWebFunctionEndpointResponse#update_status #update_status} => String
1652
+ # * {Types::UpdateWebFunctionEndpointResponse#update_status_reason #update_status_reason} => String
1653
+ # * {Types::UpdateWebFunctionEndpointResponse#regional_endpoints #regional_endpoints} => Hash&lt;String,Types::RegionalEndpoint&gt;
1654
+ # * {Types::UpdateWebFunctionEndpointResponse#created_at #created_at} => Time
1655
+ # * {Types::UpdateWebFunctionEndpointResponse#updated_at #updated_at} => Time
1656
+ #
1657
+ # @example Request syntax with placeholder values
1658
+ #
1659
+ # resp = client.update_web_function_endpoint({
1660
+ # function_name: "FunctionName", # required
1661
+ # endpoint_name: "EndpointName", # required
1662
+ # description: "Description",
1663
+ # auth_type: "ApplicationManaged", # accepts ApplicationManaged, IamAuth
1664
+ # auto_deployment_mode: "LatestRevision", # accepts LatestRevision, Disabled
1665
+ # revision_weights: [
1666
+ # {
1667
+ # revision_id: "RevisionId", # required
1668
+ # weight: 1, # required
1669
+ # },
1670
+ # ],
1671
+ # scaling_config: {
1672
+ # max_environments: 1,
1673
+ # },
1674
+ # throttle_config: {
1675
+ # rate_limit: 1,
1676
+ # },
1677
+ # })
1678
+ #
1679
+ # @example Response structure
1680
+ #
1681
+ # resp.function_arn #=> String
1682
+ # resp.endpoint_arn #=> String
1683
+ # resp.endpoint_name #=> String
1684
+ # resp.description #=> String
1685
+ # resp.endpoint_type #=> String, one of "HomeRegion", "MultiRegion", "PerRegion"
1686
+ # resp.domain_name #=> String
1687
+ # resp.auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1688
+ # resp.auto_deployment_mode #=> String, one of "LatestRevision", "Disabled"
1689
+ # resp.revision_weights #=> Array
1690
+ # resp.revision_weights[0].revision_id #=> String
1691
+ # resp.revision_weights[0].weight #=> Integer
1692
+ # resp.regions #=> Array
1693
+ # resp.regions[0] #=> String
1694
+ # resp.scaling_config.max_environments #=> Integer
1695
+ # resp.throttle_config.rate_limit #=> Integer
1696
+ # resp.state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1697
+ # resp.state_reason #=> String
1698
+ # resp.update_status #=> String, one of "InProgress", "Successful", "Failed"
1699
+ # resp.update_status_reason #=> String
1700
+ # resp.regional_endpoints #=> Hash
1701
+ # resp.regional_endpoints["Region"].domain_name #=> String
1702
+ # resp.regional_endpoints["Region"].auth_type #=> String, one of "ApplicationManaged", "IamAuth"
1703
+ # resp.regional_endpoints["Region"].revision_weights #=> Array
1704
+ # resp.regional_endpoints["Region"].revision_weights[0].revision_id #=> String
1705
+ # resp.regional_endpoints["Region"].revision_weights[0].weight #=> Integer
1706
+ # resp.regional_endpoints["Region"].scaling_config.max_environments #=> Integer
1707
+ # resp.regional_endpoints["Region"].throttle_config.rate_limit #=> Integer
1708
+ # resp.regional_endpoints["Region"].state #=> String, one of "Pending", "Active", "Failed", "Deleting"
1709
+ # resp.regional_endpoints["Region"].state_reason #=> String
1710
+ # resp.regional_endpoints["Region"].update_status #=> String, one of "InProgress", "Successful", "Failed"
1711
+ # resp.regional_endpoints["Region"].update_status_reason #=> String
1712
+ # resp.created_at #=> Time
1713
+ # resp.updated_at #=> Time
1714
+ #
1715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-web-2025-03-07/UpdateWebFunctionEndpoint AWS API Documentation
1716
+ #
1717
+ # @overload update_web_function_endpoint(params = {})
1718
+ # @param [Hash] params ({})
1719
+ def update_web_function_endpoint(params = {}, options = {})
1720
+ req = build_request(:update_web_function_endpoint, params)
1721
+ req.send_request(options)
1722
+ end
1723
+
1724
+ # @!endgroup
1725
+
1726
+ # @param params ({})
1727
+ # @api private
1728
+ def build_request(operation_name, params = {})
1729
+ handlers = @handlers.for(operation_name)
1730
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1731
+ Aws::Telemetry.module_to_tracer_name('Aws::LambdaWeb')
1732
+ )
1733
+ context = Seahorse::Client::RequestContext.new(
1734
+ operation_name: operation_name,
1735
+ operation: config.api.operation(operation_name),
1736
+ client: self,
1737
+ params: params,
1738
+ config: config,
1739
+ tracer: tracer
1740
+ )
1741
+ context[:gem_name] = 'aws-sdk-lambdaweb'
1742
+ context[:gem_version] = '1.0.0'
1743
+ Seahorse::Client::Request.new(handlers, context)
1744
+ end
1745
+
1746
+ # Polls an API operation until a resource enters a desired state.
1747
+ #
1748
+ # ## Basic Usage
1749
+ #
1750
+ # A waiter will call an API operation until:
1751
+ #
1752
+ # * It is successful
1753
+ # * It enters a terminal state
1754
+ # * It makes the maximum number of attempts
1755
+ #
1756
+ # In between attempts, the waiter will sleep.
1757
+ #
1758
+ # # polls in a loop, sleeping between attempts
1759
+ # client.wait_until(waiter_name, params)
1760
+ #
1761
+ # ## Configuration
1762
+ #
1763
+ # You can configure the maximum number of polling attempts, and the
1764
+ # delay (in seconds) between each polling attempt. You can pass
1765
+ # configuration as the final arguments hash.
1766
+ #
1767
+ # # poll for ~25 seconds
1768
+ # client.wait_until(waiter_name, params, {
1769
+ # max_attempts: 5,
1770
+ # delay: 5,
1771
+ # })
1772
+ #
1773
+ # ## Callbacks
1774
+ #
1775
+ # You can be notified before each polling attempt and before each
1776
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1777
+ # it will terminate the waiter.
1778
+ #
1779
+ # started_at = Time.now
1780
+ # client.wait_until(waiter_name, params, {
1781
+ #
1782
+ # # disable max attempts
1783
+ # max_attempts: nil,
1784
+ #
1785
+ # # poll for 1 hour, instead of a number of attempts
1786
+ # before_wait: -> (attempts, response) do
1787
+ # throw :failure if Time.now - started_at > 3600
1788
+ # end
1789
+ # })
1790
+ #
1791
+ # ## Handling Errors
1792
+ #
1793
+ # When a waiter is unsuccessful, it will raise an error.
1794
+ # All of the failure errors extend from
1795
+ # {Aws::Waiters::Errors::WaiterFailed}.
1796
+ #
1797
+ # begin
1798
+ # client.wait_until(...)
1799
+ # rescue Aws::Waiters::Errors::WaiterFailed
1800
+ # # resource did not enter the desired state in time
1801
+ # end
1802
+ #
1803
+ # ## Valid Waiters
1804
+ #
1805
+ # The following table lists the valid waiter names, the operations they call,
1806
+ # and the default `:delay` and `:max_attempts` values.
1807
+ #
1808
+ # | waiter_name | params | :delay | :max_attempts |
1809
+ # | ----------------------------- | ---------------------------------- | -------- | ------------- |
1810
+ # | web_function_active | {Client#get_web_function} | 1 | 300 |
1811
+ # | web_function_deleted | {Client#get_web_function} | 1 | 300 |
1812
+ # | web_function_endpoint_active | {Client#get_web_function_endpoint} | 1 | 300 |
1813
+ # | web_function_endpoint_deleted | {Client#get_web_function_endpoint} | 1 | 300 |
1814
+ # | web_function_endpoint_updated | {Client#get_web_function_endpoint} | 1 | 300 |
1815
+ # | web_function_revision_active | {Client#get_web_function_revision} | 1 | 300 |
1816
+ #
1817
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1818
+ # because the waiter has entered a state that it will not transition
1819
+ # out of, preventing success.
1820
+ #
1821
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1822
+ # maximum number of attempts have been made, and the waiter is not
1823
+ # yet successful.
1824
+ #
1825
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1826
+ # while polling for a resource that is not expected.
1827
+ #
1828
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1829
+ # for an unknown state.
1830
+ #
1831
+ # @return [Boolean] Returns `true` if the waiter was successful.
1832
+ # @param [Symbol] waiter_name
1833
+ # @param [Hash] params ({})
1834
+ # @param [Hash] options ({})
1835
+ # @option options [Integer] :max_attempts
1836
+ # @option options [Integer] :delay
1837
+ # @option options [Proc] :before_attempt
1838
+ # @option options [Proc] :before_wait
1839
+ def wait_until(waiter_name, params = {}, options = {})
1840
+ w = waiter(waiter_name, options)
1841
+ yield(w.waiter) if block_given? # deprecated
1842
+ w.wait(params)
1843
+ end
1844
+
1845
+ # @api private
1846
+ # @deprecated
1847
+ def waiter_names
1848
+ waiters.keys
1849
+ end
1850
+
1851
+ private
1852
+
1853
+ # @param [Symbol] waiter_name
1854
+ # @param [Hash] options ({})
1855
+ def waiter(waiter_name, options = {})
1856
+ waiter_class = waiters[waiter_name]
1857
+ if waiter_class
1858
+ waiter_class.new(options.merge(client: self))
1859
+ else
1860
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
1861
+ end
1862
+ end
1863
+
1864
+ def waiters
1865
+ {
1866
+ web_function_active: Waiters::WebFunctionActive,
1867
+ web_function_deleted: Waiters::WebFunctionDeleted,
1868
+ web_function_endpoint_active: Waiters::WebFunctionEndpointActive,
1869
+ web_function_endpoint_deleted: Waiters::WebFunctionEndpointDeleted,
1870
+ web_function_endpoint_updated: Waiters::WebFunctionEndpointUpdated,
1871
+ web_function_revision_active: Waiters::WebFunctionRevisionActive
1872
+ }
1873
+ end
1874
+
1875
+ class << self
1876
+
1877
+ # @api private
1878
+ attr_reader :identifier
1879
+
1880
+ # @api private
1881
+ def errors_module
1882
+ Errors
1883
+ end
1884
+
1885
+ end
1886
+ end
1887
+ end