aws-sdk-lambda 1.131.0 → 1.133.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -132,13 +132,15 @@ module Aws::Lambda
132
132
  # locations will be searched for credentials:
133
133
  #
134
134
  # * `Aws.config[:credentials]`
135
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
136
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
135
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
136
+ # `:account_id` options.
137
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
138
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
137
139
  # * `~/.aws/credentials`
138
140
  # * `~/.aws/config`
139
141
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
140
142
  # are very aggressive. Construct and pass an instance of
141
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
143
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
142
144
  # enable retries and extended timeouts. Instance profile credential
143
145
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
144
146
  # to true.
@@ -157,6 +159,8 @@ module Aws::Lambda
157
159
  #
158
160
  # @option options [String] :access_key_id
159
161
  #
162
+ # @option options [String] :account_id
163
+ #
160
164
  # @option options [Boolean] :active_endpoint_cache (false)
161
165
  # When set to `true`, a thread polling for endpoints will be running in
162
166
  # the background every 60 secs (default). Defaults to `false`.
@@ -380,7 +384,9 @@ module Aws::Lambda
380
384
  # sending the request.
381
385
  #
382
386
  # @option options [Aws::Lambda::EndpointProvider] :endpoint_provider
383
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Lambda::EndpointParameters`
387
+ # The endpoint provider used to resolve endpoints. Any object that responds to
388
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
389
+ # `Aws::Lambda::EndpointParameters`.
384
390
  #
385
391
  # @option options [Float] :http_continue_timeout (1)
386
392
  # The number of seconds to wait for a 100-continue response before sending the
@@ -501,6 +507,25 @@ module Aws::Lambda
501
507
  # * {Types::AddLayerVersionPermissionResponse#statement #statement} => String
502
508
  # * {Types::AddLayerVersionPermissionResponse#revision_id #revision_id} => String
503
509
  #
510
+ #
511
+ # @example Example: To add permissions to a layer version
512
+ #
513
+ # # The following example grants permission for the account 223456789012 to use version 1 of a layer named my-layer.
514
+ #
515
+ # resp = client.add_layer_version_permission({
516
+ # action: "lambda:GetLayerVersion",
517
+ # layer_name: "my-layer",
518
+ # principal: "223456789012",
519
+ # statement_id: "xaccount",
520
+ # version_number: 1,
521
+ # })
522
+ #
523
+ # resp.to_h outputs the following:
524
+ # {
525
+ # revision_id: "35d87451-f796-4a3f-a618-95a3671b0a0c",
526
+ # statement: "{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::223456789012:root\"},\"Action\":\"lambda:GetLayerVersion\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1\"}",
527
+ # }
528
+ #
504
529
  # @example Request syntax with placeholder values
505
530
  #
506
531
  # resp = client.add_layer_version_permission({
@@ -527,13 +552,12 @@ module Aws::Lambda
527
552
  req.send_request(options)
528
553
  end
529
554
 
530
- # Grants an Amazon Web Servicesservice, Amazon Web Services account, or
531
- # Amazon Web Services organization permission to use a function. You can
532
- # apply the policy at the function level, or specify a qualifier to
533
- # restrict access to a single version or alias. If you use a qualifier,
534
- # the invoker must use the full Amazon Resource Name (ARN) of that
535
- # version or alias to invoke the function. Note: Lambda does not support
536
- # adding policies to version $LATEST.
555
+ # Grants a [principal][1] permission to use a function. You can apply
556
+ # the policy at the function level, or specify a qualifier to restrict
557
+ # access to a single version or alias. If you use a qualifier, the
558
+ # invoker must use the full Amazon Resource Name (ARN) of that version
559
+ # or alias to invoke the function. Note: Lambda does not support adding
560
+ # policies to version $LATEST.
537
561
  #
538
562
  # To grant permission to another account, specify the account ID as the
539
563
  # `Principal`. To grant permission to an organization defined in
@@ -548,11 +572,12 @@ module Aws::Lambda
548
572
  #
549
573
  # This operation adds a statement to a resource-based permissions policy
550
574
  # for the function. For more information about function policies, see
551
- # [Using resource-based policies for Lambda][1].
575
+ # [Using resource-based policies for Lambda][2].
552
576
  #
553
577
  #
554
578
  #
555
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html
579
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying
580
+ # [2]: https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html
556
581
  #
557
582
  # @option params [required, String] :function_name
558
583
  # The name or ARN of the Lambda function, version, or alias.
@@ -580,10 +605,10 @@ module Aws::Lambda
580
605
  # `lambda:InvokeFunction` or `lambda:GetFunction`.
581
606
  #
582
607
  # @option params [required, String] :principal
583
- # The Amazon Web Servicesservice or Amazon Web Services account that
584
- # invokes the function. If you specify a service, use `SourceArn` or
585
- # `SourceAccount` to limit who can invoke the function through that
586
- # service.
608
+ # The Amazon Web Servicesservice, Amazon Web Services account, IAM user,
609
+ # or IAM role that invokes the function. If you specify a service, use
610
+ # `SourceArn` or `SourceAccount` to limit who can invoke the function
611
+ # through that service.
587
612
  #
588
613
  # @option params [String] :source_arn
589
614
  # For Amazon Web Servicesservices, the ARN of the Amazon Web Services
@@ -632,6 +657,42 @@ module Aws::Lambda
632
657
  #
633
658
  # * {Types::AddPermissionResponse#statement #statement} => String
634
659
  #
660
+ #
661
+ # @example Example: To grant Amazon S3 permission to invoke a function
662
+ #
663
+ # # The following example adds permission for Amazon S3 to invoke a Lambda function named my-function for notifications from
664
+ # # a bucket named my-bucket-1xpuxmplzrlbh in account 123456789012.
665
+ #
666
+ # resp = client.add_permission({
667
+ # action: "lambda:InvokeFunction",
668
+ # function_name: "my-function",
669
+ # principal: "s3.amazonaws.com",
670
+ # source_account: "123456789012",
671
+ # source_arn: "arn:aws:s3:::my-bucket-1xpuxmplzrlbh/*",
672
+ # statement_id: "s3",
673
+ # })
674
+ #
675
+ # resp.to_h outputs the following:
676
+ # {
677
+ # statement: "{\"Sid\":\"s3\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"s3.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function\",\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"123456789012\"},\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:s3:::my-bucket-1xpuxmplzrlbh\"}}}",
678
+ # }
679
+ #
680
+ # @example Example: To grant another account permission to invoke a function
681
+ #
682
+ # # The following example adds permission for account 223456789012 invoke a Lambda function named my-function.
683
+ #
684
+ # resp = client.add_permission({
685
+ # action: "lambda:InvokeFunction",
686
+ # function_name: "my-function",
687
+ # principal: "223456789012",
688
+ # statement_id: "xaccount",
689
+ # })
690
+ #
691
+ # resp.to_h outputs the following:
692
+ # {
693
+ # statement: "{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::223456789012:root\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function\"}",
694
+ # }
695
+ #
635
696
  # @example Request syntax with placeholder values
636
697
  #
637
698
  # resp = client.add_permission({
@@ -713,6 +774,27 @@ module Aws::Lambda
713
774
  # * {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
714
775
  # * {Types::AliasConfiguration#revision_id #revision_id} => String
715
776
  #
777
+ #
778
+ # @example Example: To create an alias for a Lambda function
779
+ #
780
+ # # The following example creates an alias named LIVE that points to version 1 of the my-function Lambda function.
781
+ #
782
+ # resp = client.create_alias({
783
+ # description: "alias for live version of function",
784
+ # function_name: "my-function",
785
+ # function_version: "1",
786
+ # name: "LIVE",
787
+ # })
788
+ #
789
+ # resp.to_h outputs the following:
790
+ # {
791
+ # alias_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:LIVE",
792
+ # description: "alias for live version of function",
793
+ # function_version: "1",
794
+ # name: "LIVE",
795
+ # revision_id: "873282ed-xmpl-4dc8-a069-d0c647e470c6",
796
+ # }
797
+ #
716
798
  # @example Request syntax with placeholder values
717
799
  #
718
800
  # resp = client.create_alias({
@@ -765,6 +847,9 @@ module Aws::Lambda
765
847
  # The code signing policies define the actions to take if the validation
766
848
  # checks fail.
767
849
  #
850
+ # @option params [Hash<String,String>] :tags
851
+ # A list of tags to add to the code signing configuration.
852
+ #
768
853
  # @return [Types::CreateCodeSigningConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
769
854
  #
770
855
  # * {Types::CreateCodeSigningConfigResponse#code_signing_config #code_signing_config} => Types::CodeSigningConfig
@@ -779,6 +864,9 @@ module Aws::Lambda
779
864
  # code_signing_policies: {
780
865
  # untrusted_artifact_on_deployment: "Warn", # accepts Warn, Enforce
781
866
  # },
867
+ # tags: {
868
+ # "TagKey" => "TagValue",
869
+ # },
782
870
  # })
783
871
  #
784
872
  # @example Response structure
@@ -1003,6 +1091,9 @@ module Aws::Lambda
1003
1091
  # set to infinite (-1), failed records are retried until the record
1004
1092
  # expires.
1005
1093
  #
1094
+ # @option params [Hash<String,String>] :tags
1095
+ # A list of tags to apply to the event source mapping.
1096
+ #
1006
1097
  # @option params [Integer] :tumbling_window_in_seconds
1007
1098
  # (Kinesis and DynamoDB Streams only) The duration in seconds of a
1008
1099
  # processing window for DynamoDB and Kinesis Streams event sources. A
@@ -1086,6 +1177,29 @@ module Aws::Lambda
1086
1177
  # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
1087
1178
  # * {Types::EventSourceMappingConfiguration#kms_key_arn #kms_key_arn} => String
1088
1179
  # * {Types::EventSourceMappingConfiguration#filter_criteria_error #filter_criteria_error} => Types::FilterCriteriaError
1180
+ # * {Types::EventSourceMappingConfiguration#event_source_mapping_arn #event_source_mapping_arn} => String
1181
+ #
1182
+ #
1183
+ # @example Example: To create a mapping between an event source and an AWS Lambda function
1184
+ #
1185
+ # # The following example creates a mapping between an SQS queue and the my-function Lambda function.
1186
+ #
1187
+ # resp = client.create_event_source_mapping({
1188
+ # batch_size: 5,
1189
+ # event_source_arn: "arn:aws:sqs:us-west-2:123456789012:my-queue",
1190
+ # function_name: "my-function",
1191
+ # })
1192
+ #
1193
+ # resp.to_h outputs the following:
1194
+ # {
1195
+ # batch_size: 5,
1196
+ # event_source_arn: "arn:aws:sqs:us-west-2:123456789012:my-queue",
1197
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
1198
+ # last_modified: Time.parse(1569284520.333),
1199
+ # state: "Creating",
1200
+ # state_transition_reason: "USER_INITIATED",
1201
+ # uuid: "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
1202
+ # }
1089
1203
  #
1090
1204
  # @example Request syntax with placeholder values
1091
1205
  #
@@ -1116,6 +1230,9 @@ module Aws::Lambda
1116
1230
  # maximum_record_age_in_seconds: 1,
1117
1231
  # bisect_batch_on_function_error: false,
1118
1232
  # maximum_retry_attempts: 1,
1233
+ # tags: {
1234
+ # "TagKey" => "TagValue",
1235
+ # },
1119
1236
  # tumbling_window_in_seconds: 1,
1120
1237
  # topics: ["Topic"],
1121
1238
  # queues: ["Queue"],
@@ -1191,6 +1308,7 @@ module Aws::Lambda
1191
1308
  # resp.kms_key_arn #=> String
1192
1309
  # resp.filter_criteria_error.error_code #=> String
1193
1310
  # resp.filter_criteria_error.message #=> String
1311
+ # resp.event_source_mapping_arn #=> String
1194
1312
  #
1195
1313
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping AWS API Documentation
1196
1314
  #
@@ -1498,6 +1616,69 @@ module Aws::Lambda
1498
1616
  # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
1499
1617
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
1500
1618
  #
1619
+ #
1620
+ # @example Example: To create a function
1621
+ #
1622
+ # # The following example creates a function with a deployment package in Amazon S3 and enables X-Ray tracing and
1623
+ # # environment variable encryption.
1624
+ #
1625
+ # resp = client.create_function({
1626
+ # code: {
1627
+ # s3_bucket: "my-bucket-1xpuxmplzrlbh",
1628
+ # s3_key: "function.zip",
1629
+ # },
1630
+ # description: "Process image objects from Amazon S3.",
1631
+ # environment: {
1632
+ # variables: {
1633
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
1634
+ # "PREFIX" => "inbound",
1635
+ # },
1636
+ # },
1637
+ # function_name: "my-function",
1638
+ # handler: "index.handler",
1639
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
1640
+ # memory_size: 256,
1641
+ # publish: true,
1642
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
1643
+ # runtime: "nodejs12.x",
1644
+ # tags: {
1645
+ # "DEPARTMENT" => "Assets",
1646
+ # },
1647
+ # timeout: 15,
1648
+ # tracing_config: {
1649
+ # mode: "Active",
1650
+ # },
1651
+ # })
1652
+ #
1653
+ # resp.to_h outputs the following:
1654
+ # {
1655
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
1656
+ # code_size: 5797206,
1657
+ # description: "Process image objects from Amazon S3.",
1658
+ # environment: {
1659
+ # variables: {
1660
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
1661
+ # "PREFIX" => "inbound",
1662
+ # },
1663
+ # },
1664
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
1665
+ # function_name: "my-function",
1666
+ # handler: "index.handler",
1667
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
1668
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
1669
+ # last_update_status: "Successful",
1670
+ # memory_size: 256,
1671
+ # revision_id: "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727",
1672
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
1673
+ # runtime: "nodejs12.x",
1674
+ # state: "Active",
1675
+ # timeout: 15,
1676
+ # tracing_config: {
1677
+ # mode: "Active",
1678
+ # },
1679
+ # version: "1",
1680
+ # }
1681
+ #
1501
1682
  # @example Request syntax with placeholder values
1502
1683
  #
1503
1684
  # resp = client.create_function({
@@ -1778,6 +1959,16 @@ module Aws::Lambda
1778
1959
  #
1779
1960
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1780
1961
  #
1962
+ #
1963
+ # @example Example: To delete a Lambda function alias
1964
+ #
1965
+ # # The following example deletes an alias named BLUE from a function named my-function
1966
+ #
1967
+ # resp = client.delete_alias({
1968
+ # function_name: "my-function",
1969
+ # name: "BLUE",
1970
+ # })
1971
+ #
1781
1972
  # @example Request syntax with placeholder values
1782
1973
  #
1783
1974
  # resp = client.delete_alias({
@@ -1861,6 +2052,27 @@ module Aws::Lambda
1861
2052
  # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
1862
2053
  # * {Types::EventSourceMappingConfiguration#kms_key_arn #kms_key_arn} => String
1863
2054
  # * {Types::EventSourceMappingConfiguration#filter_criteria_error #filter_criteria_error} => Types::FilterCriteriaError
2055
+ # * {Types::EventSourceMappingConfiguration#event_source_mapping_arn #event_source_mapping_arn} => String
2056
+ #
2057
+ #
2058
+ # @example Example: To delete a Lambda function event source mapping
2059
+ #
2060
+ # # The following example deletes an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.
2061
+ #
2062
+ # resp = client.delete_event_source_mapping({
2063
+ # uuid: "14e0db71-xmpl-4eb5-b481-8945cf9d10c2",
2064
+ # })
2065
+ #
2066
+ # resp.to_h outputs the following:
2067
+ # {
2068
+ # batch_size: 5,
2069
+ # event_source_arn: "arn:aws:sqs:us-west-2:123456789012:my-queue",
2070
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function",
2071
+ # last_modified: Time.parse("${timestamp}"),
2072
+ # state: "Enabled",
2073
+ # state_transition_reason: "USER_INITIATED",
2074
+ # uuid: "14e0db71-xmpl-4eb5-b481-8945cf9d10c2",
2075
+ # }
1864
2076
  #
1865
2077
  # @example Request syntax with placeholder values
1866
2078
  #
@@ -1911,6 +2123,7 @@ module Aws::Lambda
1911
2123
  # resp.kms_key_arn #=> String
1912
2124
  # resp.filter_criteria_error.error_code #=> String
1913
2125
  # resp.filter_criteria_error.message #=> String
2126
+ # resp.event_source_mapping_arn #=> String
1914
2127
  #
1915
2128
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping AWS API Documentation
1916
2129
  #
@@ -1954,6 +2167,16 @@ module Aws::Lambda
1954
2167
  #
1955
2168
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1956
2169
  #
2170
+ #
2171
+ # @example Example: To delete a version of a Lambda function
2172
+ #
2173
+ # # The following example deletes version 1 of a Lambda function named my-function.
2174
+ #
2175
+ # resp = client.delete_function({
2176
+ # function_name: "my-function",
2177
+ # qualifier: "1",
2178
+ # })
2179
+ #
1957
2180
  # @example Request syntax with placeholder values
1958
2181
  #
1959
2182
  # resp = client.delete_function({
@@ -2023,6 +2246,15 @@ module Aws::Lambda
2023
2246
  #
2024
2247
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2025
2248
  #
2249
+ #
2250
+ # @example Example: To remove the reserved concurrent execution limit from a function
2251
+ #
2252
+ # # The following example deletes the reserved concurrent execution limit from a function named my-function.
2253
+ #
2254
+ # resp = client.delete_function_concurrency({
2255
+ # function_name: "my-function",
2256
+ # })
2257
+ #
2026
2258
  # @example Request syntax with placeholder values
2027
2259
  #
2028
2260
  # resp = client.delete_function_concurrency({
@@ -2066,6 +2298,17 @@ module Aws::Lambda
2066
2298
  #
2067
2299
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2068
2300
  #
2301
+ #
2302
+ # @example Example: To delete an asynchronous invocation configuration
2303
+ #
2304
+ # # The following example deletes the asynchronous invocation configuration for the GREEN alias of a function named
2305
+ # # my-function.
2306
+ #
2307
+ # resp = client.delete_function_event_invoke_config({
2308
+ # function_name: "my-function",
2309
+ # qualifier: "GREEN",
2310
+ # })
2311
+ #
2069
2312
  # @example Request syntax with placeholder values
2070
2313
  #
2071
2314
  # resp = client.delete_function_event_invoke_config({
@@ -2138,6 +2381,16 @@ module Aws::Lambda
2138
2381
  #
2139
2382
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2140
2383
  #
2384
+ #
2385
+ # @example Example: To delete a version of a Lambda layer
2386
+ #
2387
+ # # The following example deletes version 2 of a layer named my-layer.
2388
+ #
2389
+ # resp = client.delete_layer_version({
2390
+ # layer_name: "my-layer",
2391
+ # version_number: 2,
2392
+ # })
2393
+ #
2141
2394
  # @example Request syntax with placeholder values
2142
2395
  #
2143
2396
  # resp = client.delete_layer_version({
@@ -2176,6 +2429,17 @@ module Aws::Lambda
2176
2429
  #
2177
2430
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2178
2431
  #
2432
+ #
2433
+ # @example Example: To delete a provisioned concurrency configuration
2434
+ #
2435
+ # # The following example deletes the provisioned concurrency configuration for the GREEN alias of a function named
2436
+ # # my-function.
2437
+ #
2438
+ # resp = client.delete_provisioned_concurrency_config({
2439
+ # function_name: "my-function",
2440
+ # qualifier: "GREEN",
2441
+ # })
2442
+ #
2179
2443
  # @example Request syntax with placeholder values
2180
2444
  #
2181
2445
  # resp = client.delete_provisioned_concurrency_config({
@@ -2192,6 +2456,13 @@ module Aws::Lambda
2192
2456
  req.send_request(options)
2193
2457
  end
2194
2458
 
2459
+ # <note markdown="1"> The option to create and modify full JSON resource-based policies, and
2460
+ # to use the PutResourcePolicy, GetResourcePolicy, and
2461
+ # DeleteResourcePolicy APIs, won't be available in all Amazon Web
2462
+ # Services Regions until September 30, 2024.
2463
+ #
2464
+ # </note>
2465
+ #
2195
2466
  # Deletes a [resource-based policy][1] from a function.
2196
2467
  #
2197
2468
  #
@@ -2239,6 +2510,29 @@ module Aws::Lambda
2239
2510
  # * {Types::GetAccountSettingsResponse#account_limit #account_limit} => Types::AccountLimit
2240
2511
  # * {Types::GetAccountSettingsResponse#account_usage #account_usage} => Types::AccountUsage
2241
2512
  #
2513
+ #
2514
+ # @example Example: To get account settings
2515
+ #
2516
+ # # This operation takes no parameters and returns details about storage and concurrency quotas in the current Region.
2517
+ #
2518
+ # resp = client.get_account_settings({
2519
+ # })
2520
+ #
2521
+ # resp.to_h outputs the following:
2522
+ # {
2523
+ # account_limit: {
2524
+ # code_size_unzipped: 262144000,
2525
+ # code_size_zipped: 52428800,
2526
+ # concurrent_executions: 1000,
2527
+ # total_code_size: 80530636800,
2528
+ # unreserved_concurrent_executions: 1000,
2529
+ # },
2530
+ # account_usage: {
2531
+ # function_count: 4,
2532
+ # total_code_size: 9426,
2533
+ # },
2534
+ # }
2535
+ #
2242
2536
  # @example Response structure
2243
2537
  #
2244
2538
  # resp.account_limit.total_code_size #=> Integer
@@ -2291,6 +2585,25 @@ module Aws::Lambda
2291
2585
  # * {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
2292
2586
  # * {Types::AliasConfiguration#revision_id #revision_id} => String
2293
2587
  #
2588
+ #
2589
+ # @example Example: To get a Lambda function alias
2590
+ #
2591
+ # # The following example returns details about an alias named BLUE for a function named my-function
2592
+ #
2593
+ # resp = client.get_alias({
2594
+ # function_name: "my-function",
2595
+ # name: "BLUE",
2596
+ # })
2597
+ #
2598
+ # resp.to_h outputs the following:
2599
+ # {
2600
+ # alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function:BLUE",
2601
+ # description: "Production environment BLUE.",
2602
+ # function_version: "3",
2603
+ # name: "BLUE",
2604
+ # revision_id: "594f41fb-xmpl-4c20-95c7-6ca5f2a92c93",
2605
+ # }
2606
+ #
2294
2607
  # @example Request syntax with placeholder values
2295
2608
  #
2296
2609
  # resp = client.get_alias({
@@ -2388,6 +2701,34 @@ module Aws::Lambda
2388
2701
  # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
2389
2702
  # * {Types::EventSourceMappingConfiguration#kms_key_arn #kms_key_arn} => String
2390
2703
  # * {Types::EventSourceMappingConfiguration#filter_criteria_error #filter_criteria_error} => Types::FilterCriteriaError
2704
+ # * {Types::EventSourceMappingConfiguration#event_source_mapping_arn #event_source_mapping_arn} => String
2705
+ #
2706
+ #
2707
+ # @example Example: To get a Lambda function's event source mapping
2708
+ #
2709
+ # # The following example returns details about an event source mapping. To get a mapping's UUID, use
2710
+ # # ListEventSourceMappings.
2711
+ #
2712
+ # resp = client.get_event_source_mapping({
2713
+ # uuid: "14e0db71-xmpl-4eb5-b481-8945cf9d10c2",
2714
+ # })
2715
+ #
2716
+ # resp.to_h outputs the following:
2717
+ # {
2718
+ # batch_size: 500,
2719
+ # bisect_batch_on_function_error: false,
2720
+ # destination_config: {
2721
+ # },
2722
+ # event_source_arn: "arn:aws:sqs:us-east-2:123456789012:mySQSqueue",
2723
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:myFunction",
2724
+ # last_modified: Time.parse("${timestamp}"),
2725
+ # last_processing_result: "No records processed",
2726
+ # maximum_record_age_in_seconds: 604800,
2727
+ # maximum_retry_attempts: 10000,
2728
+ # state: "Creating",
2729
+ # state_transition_reason: "User action",
2730
+ # uuid: "14e0db71-xmpl-4eb5-b481-8945cf9d10c2",
2731
+ # }
2391
2732
  #
2392
2733
  # @example Request syntax with placeholder values
2393
2734
  #
@@ -2438,6 +2779,7 @@ module Aws::Lambda
2438
2779
  # resp.kms_key_arn #=> String
2439
2780
  # resp.filter_criteria_error.error_code #=> String
2440
2781
  # resp.filter_criteria_error.message #=> String
2782
+ # resp.event_source_mapping_arn #=> String
2441
2783
  #
2442
2784
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping AWS API Documentation
2443
2785
  #
@@ -2481,6 +2823,54 @@ module Aws::Lambda
2481
2823
  # * {Types::GetFunctionResponse#tags #tags} => Hash&lt;String,String&gt;
2482
2824
  # * {Types::GetFunctionResponse#concurrency #concurrency} => Types::Concurrency
2483
2825
  #
2826
+ #
2827
+ # @example Example: To get a Lambda function
2828
+ #
2829
+ # # The following example returns code and configuration details for version 1 of a function named my-function.
2830
+ #
2831
+ # resp = client.get_function({
2832
+ # function_name: "my-function",
2833
+ # qualifier: "1",
2834
+ # })
2835
+ #
2836
+ # resp.to_h outputs the following:
2837
+ # {
2838
+ # code: {
2839
+ # location: "https://awslambda-us-west-2-tasks.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-function-e7d9d1ed-xmpl-4f79-904a-4b87f2681f30?versionId=sH3TQwBOaUy...",
2840
+ # repository_type: "S3",
2841
+ # },
2842
+ # configuration: {
2843
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
2844
+ # code_size: 5797206,
2845
+ # description: "Process image objects from Amazon S3.",
2846
+ # environment: {
2847
+ # variables: {
2848
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
2849
+ # "PREFIX" => "inbound",
2850
+ # },
2851
+ # },
2852
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
2853
+ # function_name: "my-function",
2854
+ # handler: "index.handler",
2855
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
2856
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
2857
+ # last_update_status: "Successful",
2858
+ # memory_size: 256,
2859
+ # revision_id: "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727",
2860
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
2861
+ # runtime: "nodejs12.x",
2862
+ # state: "Active",
2863
+ # timeout: 15,
2864
+ # tracing_config: {
2865
+ # mode: "Active",
2866
+ # },
2867
+ # version: "$LATEST",
2868
+ # },
2869
+ # tags: {
2870
+ # "DEPARTMENT" => "Assets",
2871
+ # },
2872
+ # }
2873
+ #
2484
2874
  # @example Request syntax with placeholder values
2485
2875
  #
2486
2876
  # resp = client.get_function({
@@ -2642,6 +3032,20 @@ module Aws::Lambda
2642
3032
  #
2643
3033
  # * {Types::GetFunctionConcurrencyResponse#reserved_concurrent_executions #reserved_concurrent_executions} => Integer
2644
3034
  #
3035
+ #
3036
+ # @example Example: To get the reserved concurrency setting for a function
3037
+ #
3038
+ # # The following example returns the reserved concurrency setting for a function named my-function.
3039
+ #
3040
+ # resp = client.get_function_concurrency({
3041
+ # function_name: "my-function",
3042
+ # })
3043
+ #
3044
+ # resp.to_h outputs the following:
3045
+ # {
3046
+ # reserved_concurrent_executions: 250,
3047
+ # }
3048
+ #
2645
3049
  # @example Request syntax with placeholder values
2646
3050
  #
2647
3051
  # resp = client.get_function_concurrency({
@@ -2728,6 +3132,45 @@ module Aws::Lambda
2728
3132
  # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
2729
3133
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
2730
3134
  #
3135
+ #
3136
+ # @example Example: To get a Lambda function's event source mapping
3137
+ #
3138
+ # # The following example returns and configuration details for version 1 of a function named my-function.
3139
+ #
3140
+ # resp = client.get_function_configuration({
3141
+ # function_name: "my-function",
3142
+ # qualifier: "1",
3143
+ # })
3144
+ #
3145
+ # resp.to_h outputs the following:
3146
+ # {
3147
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
3148
+ # code_size: 5797206,
3149
+ # description: "Process image objects from Amazon S3.",
3150
+ # environment: {
3151
+ # variables: {
3152
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
3153
+ # "PREFIX" => "inbound",
3154
+ # },
3155
+ # },
3156
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
3157
+ # function_name: "my-function",
3158
+ # handler: "index.handler",
3159
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
3160
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
3161
+ # last_update_status: "Successful",
3162
+ # memory_size: 256,
3163
+ # revision_id: "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727",
3164
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
3165
+ # runtime: "nodejs12.x",
3166
+ # state: "Active",
3167
+ # timeout: 15,
3168
+ # tracing_config: {
3169
+ # mode: "Active",
3170
+ # },
3171
+ # version: "$LATEST",
3172
+ # }
3173
+ #
2731
3174
  # @example Request syntax with placeholder values
2732
3175
  #
2733
3176
  # resp = client.get_function_configuration({
@@ -2851,6 +3294,32 @@ module Aws::Lambda
2851
3294
  # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
2852
3295
  # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
2853
3296
  #
3297
+ #
3298
+ # @example Example: To get an asynchronous invocation configuration
3299
+ #
3300
+ # # The following example returns the asynchronous invocation configuration for the BLUE alias of a function named
3301
+ # # my-function.
3302
+ #
3303
+ # resp = client.get_function_event_invoke_config({
3304
+ # function_name: "my-function",
3305
+ # qualifier: "BLUE",
3306
+ # })
3307
+ #
3308
+ # resp.to_h outputs the following:
3309
+ # {
3310
+ # destination_config: {
3311
+ # on_failure: {
3312
+ # destination: "arn:aws:sqs:us-east-2:123456789012:failed-invocations",
3313
+ # },
3314
+ # on_success: {
3315
+ # },
3316
+ # },
3317
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE",
3318
+ # last_modified: Time.parse("${timestamp}"),
3319
+ # maximum_event_age_in_seconds: 3600,
3320
+ # maximum_retry_attempts: 0,
3321
+ # }
3322
+ #
2854
3323
  # @example Request syntax with placeholder values
2855
3324
  #
2856
3325
  # resp = client.get_function_event_invoke_config({
@@ -2997,6 +3466,35 @@ module Aws::Lambda
2997
3466
  # * {Types::GetLayerVersionResponse#license_info #license_info} => String
2998
3467
  # * {Types::GetLayerVersionResponse#compatible_architectures #compatible_architectures} => Array&lt;String&gt;
2999
3468
  #
3469
+ #
3470
+ # @example Example: To get information about a Lambda layer version
3471
+ #
3472
+ # # The following example returns information for version 1 of a layer named my-layer.
3473
+ #
3474
+ # resp = client.get_layer_version({
3475
+ # layer_name: "my-layer",
3476
+ # version_number: 1,
3477
+ # })
3478
+ #
3479
+ # resp.to_h outputs the following:
3480
+ # {
3481
+ # compatible_runtimes: [
3482
+ # "python3.6",
3483
+ # "python3.7",
3484
+ # ],
3485
+ # content: {
3486
+ # code_sha_256: "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=",
3487
+ # code_size: 169,
3488
+ # location: "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...",
3489
+ # },
3490
+ # created_date: Time.parse("2018-11-14T23:03:52.894+0000"),
3491
+ # description: "My Python layer",
3492
+ # layer_arn: "arn:aws:lambda:us-east-2:123456789012:layer:my-layer",
3493
+ # layer_version_arn: "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1",
3494
+ # license_info: "MIT",
3495
+ # version: 1,
3496
+ # }
3497
+ #
3000
3498
  # @example Request syntax with placeholder values
3001
3499
  #
3002
3500
  # resp = client.get_layer_version({
@@ -3053,6 +3551,32 @@ module Aws::Lambda
3053
3551
  # * {Types::GetLayerVersionResponse#license_info #license_info} => String
3054
3552
  # * {Types::GetLayerVersionResponse#compatible_architectures #compatible_architectures} => Array&lt;String&gt;
3055
3553
  #
3554
+ #
3555
+ # @example Example: To get information about a Lambda layer version
3556
+ #
3557
+ # # The following example returns information about the layer version with the specified Amazon Resource Name (ARN).
3558
+ #
3559
+ # resp = client.get_layer_version_by_arn({
3560
+ # arn: "arn:aws:lambda:ca-central-1:123456789012:layer:blank-python-lib:3",
3561
+ # })
3562
+ #
3563
+ # resp.to_h outputs the following:
3564
+ # {
3565
+ # compatible_runtimes: [
3566
+ # "python3.8",
3567
+ # ],
3568
+ # content: {
3569
+ # code_sha_256: "6x+xmpl/M3BnQUk7gS9sGmfeFsR/npojXoA3fZUv4eU=",
3570
+ # code_size: 9529009,
3571
+ # location: "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/blank-python-lib-e5212378-xmpl-44ee-8398-9d8ec5113949?versionId=WbZnvf...",
3572
+ # },
3573
+ # created_date: Time.parse("2020-03-31T00:35:18.949+0000"),
3574
+ # description: "Dependencies for the blank-python sample app.",
3575
+ # layer_arn: "arn:aws:lambda:us-east-2:123456789012:layer:blank-python-lib",
3576
+ # layer_version_arn: "arn:aws:lambda:us-east-2:123456789012:layer:blank-python-lib:3",
3577
+ # version: 3,
3578
+ # }
3579
+ #
3056
3580
  # @example Request syntax with placeholder values
3057
3581
  #
3058
3582
  # resp = client.get_layer_version_by_arn({
@@ -3157,6 +3681,22 @@ module Aws::Lambda
3157
3681
  # * {Types::GetPolicyResponse#policy #policy} => String
3158
3682
  # * {Types::GetPolicyResponse#revision_id #revision_id} => String
3159
3683
  #
3684
+ #
3685
+ # @example Example: To retrieve a Lambda function policy
3686
+ #
3687
+ # # The following example returns the resource-based policy for version 1 of a Lambda function named my-function.
3688
+ #
3689
+ # resp = client.get_policy({
3690
+ # function_name: "my-function",
3691
+ # qualifier: "1",
3692
+ # })
3693
+ #
3694
+ # resp.to_h outputs the following:
3695
+ # {
3696
+ # policy: "{\"Version\":\"2012-10-17\",\"Id\":\"default\",\"Statement\":[{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function:1\"}]}",
3697
+ # revision_id: "4843f2f6-7c59-4fda-b484-afd0bc0e22b8",
3698
+ # }
3699
+ #
3160
3700
  # @example Request syntax with placeholder values
3161
3701
  #
3162
3702
  # resp = client.get_policy({
@@ -3208,6 +3748,45 @@ module Aws::Lambda
3208
3748
  # * {Types::GetProvisionedConcurrencyConfigResponse#status_reason #status_reason} => String
3209
3749
  # * {Types::GetProvisionedConcurrencyConfigResponse#last_modified #last_modified} => Time
3210
3750
  #
3751
+ #
3752
+ # @example Example: To view a provisioned concurrency configuration
3753
+ #
3754
+ # # The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified
3755
+ # # function.
3756
+ #
3757
+ # resp = client.get_provisioned_concurrency_config({
3758
+ # function_name: "my-function",
3759
+ # qualifier: "BLUE",
3760
+ # })
3761
+ #
3762
+ # resp.to_h outputs the following:
3763
+ # {
3764
+ # allocated_provisioned_concurrent_executions: 100,
3765
+ # available_provisioned_concurrent_executions: 100,
3766
+ # last_modified: Time.parse("2019-12-31T20:28:49+0000"),
3767
+ # requested_provisioned_concurrent_executions: 100,
3768
+ # status: "READY",
3769
+ # }
3770
+ #
3771
+ # @example Example: To get a provisioned concurrency configuration
3772
+ #
3773
+ # # The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified
3774
+ # # function.
3775
+ #
3776
+ # resp = client.get_provisioned_concurrency_config({
3777
+ # function_name: "my-function",
3778
+ # qualifier: "BLUE",
3779
+ # })
3780
+ #
3781
+ # resp.to_h outputs the following:
3782
+ # {
3783
+ # allocated_provisioned_concurrent_executions: 100,
3784
+ # available_provisioned_concurrent_executions: 100,
3785
+ # last_modified: Time.parse("2019-12-31T20:28:49+0000"),
3786
+ # requested_provisioned_concurrent_executions: 100,
3787
+ # status: "READY",
3788
+ # }
3789
+ #
3211
3790
  # @example Request syntax with placeholder values
3212
3791
  #
3213
3792
  # resp = client.get_provisioned_concurrency_config({
@@ -3233,6 +3812,12 @@ module Aws::Lambda
3233
3812
  req.send_request(options)
3234
3813
  end
3235
3814
 
3815
+ # <note markdown="1"> The option to configure public-access settings, and to use the
3816
+ # PutPublicAccessBlock and GetPublicAccessBlock APIs, won't be
3817
+ # available in all Amazon Web Services Regions until September 30, 2024.
3818
+ #
3819
+ # </note>
3820
+ #
3236
3821
  # Retrieve the public-access settings for a function.
3237
3822
  #
3238
3823
  # @option params [required, String] :resource_arn
@@ -3263,6 +3848,13 @@ module Aws::Lambda
3263
3848
  req.send_request(options)
3264
3849
  end
3265
3850
 
3851
+ # <note markdown="1"> The option to create and modify full JSON resource-based policies, and
3852
+ # to use the PutResourcePolicy, GetResourcePolicy, and
3853
+ # DeleteResourcePolicy APIs, won't be available in all Amazon Web
3854
+ # Services Regions until September 30, 2024.
3855
+ #
3856
+ # </note>
3857
+ #
3266
3858
  # Retrieves the [resource-based policy][1] attached to a function.
3267
3859
  #
3268
3860
  #
@@ -3476,6 +4068,40 @@ module Aws::Lambda
3476
4068
  # * {Types::InvocationResponse#payload #payload} => String
3477
4069
  # * {Types::InvocationResponse#executed_version #executed_version} => String
3478
4070
  #
4071
+ #
4072
+ # @example Example: To invoke a Lambda function
4073
+ #
4074
+ # # The following example invokes version 1 of a function named my-function with an empty event payload.
4075
+ #
4076
+ # resp = client.invoke({
4077
+ # function_name: "my-function",
4078
+ # payload: "{}",
4079
+ # qualifier: "1",
4080
+ # })
4081
+ #
4082
+ # resp.to_h outputs the following:
4083
+ # {
4084
+ # payload: "200 SUCCESS",
4085
+ # status_code: 200,
4086
+ # }
4087
+ #
4088
+ # @example Example: To invoke a Lambda function asynchronously
4089
+ #
4090
+ # # The following example invokes version 1 of a function named my-function asynchronously.
4091
+ #
4092
+ # resp = client.invoke({
4093
+ # function_name: "my-function",
4094
+ # invocation_type: "Event",
4095
+ # payload: "{}",
4096
+ # qualifier: "1",
4097
+ # })
4098
+ #
4099
+ # resp.to_h outputs the following:
4100
+ # {
4101
+ # payload: "",
4102
+ # status_code: 202,
4103
+ # }
4104
+ #
3479
4105
  # @example Request syntax with placeholder values
3480
4106
  #
3481
4107
  # resp = client.invoke({
@@ -3536,6 +4162,21 @@ module Aws::Lambda
3536
4162
  #
3537
4163
  # * {Types::InvokeAsyncResponse#status #status} => Integer
3538
4164
  #
4165
+ #
4166
+ # @example Example: To invoke a Lambda function asynchronously
4167
+ #
4168
+ # # The following example invokes a Lambda function asynchronously
4169
+ #
4170
+ # resp = client.invoke_async({
4171
+ # function_name: "my-function",
4172
+ # invoke_args: "{}",
4173
+ # })
4174
+ #
4175
+ # resp.to_h outputs the following:
4176
+ # {
4177
+ # status: 202,
4178
+ # }
4179
+ #
3539
4180
  # @example Request syntax with placeholder values
3540
4181
  #
3541
4182
  # resp = client.invoke_async({
@@ -3808,6 +4449,40 @@ module Aws::Lambda
3808
4449
  #
3809
4450
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3810
4451
  #
4452
+ #
4453
+ # @example Example: To list a function's aliases
4454
+ #
4455
+ # # The following example returns a list of aliases for a function named my-function.
4456
+ #
4457
+ # resp = client.list_aliases({
4458
+ # function_name: "my-function",
4459
+ # })
4460
+ #
4461
+ # resp.to_h outputs the following:
4462
+ # {
4463
+ # aliases: [
4464
+ # {
4465
+ # alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function:BETA",
4466
+ # description: "Production environment BLUE.",
4467
+ # function_version: "2",
4468
+ # name: "BLUE",
4469
+ # revision_id: "a410117f-xmpl-494e-8035-7e204bb7933b",
4470
+ # routing_config: {
4471
+ # additional_version_weights: {
4472
+ # "1" => 0.7,
4473
+ # },
4474
+ # },
4475
+ # },
4476
+ # {
4477
+ # alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE",
4478
+ # description: "Production environment GREEN.",
4479
+ # function_version: "1",
4480
+ # name: "GREEN",
4481
+ # revision_id: "21d40116-xmpl-40ba-9360-3ea284da1bb5",
4482
+ # },
4483
+ # ],
4484
+ # }
4485
+ #
3811
4486
  # @example Request syntax with placeholder values
3812
4487
  #
3813
4488
  # resp = client.list_aliases({
@@ -3946,6 +4621,30 @@ module Aws::Lambda
3946
4621
  #
3947
4622
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3948
4623
  #
4624
+ #
4625
+ # @example Example: To list the event source mappings for a function
4626
+ #
4627
+ # # The following example returns a list of the event source mappings for a function named my-function.
4628
+ #
4629
+ # resp = client.list_event_source_mappings({
4630
+ # function_name: "my-function",
4631
+ # })
4632
+ #
4633
+ # resp.to_h outputs the following:
4634
+ # {
4635
+ # event_source_mappings: [
4636
+ # {
4637
+ # batch_size: 5,
4638
+ # event_source_arn: "arn:aws:sqs:us-west-2:123456789012:mySQSqueue",
4639
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
4640
+ # last_modified: Time.parse(1569284520.333),
4641
+ # state: "Enabled",
4642
+ # state_transition_reason: "USER_INITIATED",
4643
+ # uuid: "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
4644
+ # },
4645
+ # ],
4646
+ # }
4647
+ #
3949
4648
  # @example Request syntax with placeholder values
3950
4649
  #
3951
4650
  # resp = client.list_event_source_mappings({
@@ -4000,6 +4699,7 @@ module Aws::Lambda
4000
4699
  # resp.event_source_mappings[0].kms_key_arn #=> String
4001
4700
  # resp.event_source_mappings[0].filter_criteria_error.error_code #=> String
4002
4701
  # resp.event_source_mappings[0].filter_criteria_error.message #=> String
4702
+ # resp.event_source_mappings[0].event_source_mapping_arn #=> String
4003
4703
  #
4004
4704
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings AWS API Documentation
4005
4705
  #
@@ -4045,6 +4745,33 @@ module Aws::Lambda
4045
4745
  #
4046
4746
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4047
4747
  #
4748
+ #
4749
+ # @example Example: To view a list of asynchronous invocation configurations
4750
+ #
4751
+ # # The following example returns a list of asynchronous invocation configurations for a function named my-function.
4752
+ #
4753
+ # resp = client.list_function_event_invoke_configs({
4754
+ # function_name: "my-function",
4755
+ # })
4756
+ #
4757
+ # resp.to_h outputs the following:
4758
+ # {
4759
+ # function_event_invoke_configs: [
4760
+ # {
4761
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN",
4762
+ # last_modified: Time.parse(1577824406.719),
4763
+ # maximum_event_age_in_seconds: 1800,
4764
+ # maximum_retry_attempts: 2,
4765
+ # },
4766
+ # {
4767
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE",
4768
+ # last_modified: Time.parse(1577824396.653),
4769
+ # maximum_event_age_in_seconds: 3600,
4770
+ # maximum_retry_attempts: 0,
4771
+ # },
4772
+ # ],
4773
+ # }
4774
+ #
4048
4775
  # @example Request syntax with placeholder values
4049
4776
  #
4050
4777
  # resp = client.list_function_event_invoke_configs({
@@ -4185,6 +4912,64 @@ module Aws::Lambda
4185
4912
  #
4186
4913
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4187
4914
  #
4915
+ #
4916
+ # @example Example: To get a list of Lambda functions
4917
+ #
4918
+ # # This operation returns a list of Lambda functions.
4919
+ #
4920
+ # resp = client.list_functions({
4921
+ # })
4922
+ #
4923
+ # resp.to_h outputs the following:
4924
+ # {
4925
+ # functions: [
4926
+ # {
4927
+ # code_sha_256: "dBG9m8SGdmlEjw/JYXlhhvCrAv5TxvXsbL/RMr0fT/I=",
4928
+ # code_size: 294,
4929
+ # description: "",
4930
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:helloworld",
4931
+ # function_name: "helloworld",
4932
+ # handler: "helloworld.handler",
4933
+ # last_modified: Time.parse("2019-09-23T18:32:33.857+0000"),
4934
+ # memory_size: 128,
4935
+ # revision_id: "1718e831-badf-4253-9518-d0644210af7b",
4936
+ # role: "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4",
4937
+ # runtime: "nodejs10.x",
4938
+ # timeout: 3,
4939
+ # tracing_config: {
4940
+ # mode: "PassThrough",
4941
+ # },
4942
+ # version: "$LATEST",
4943
+ # },
4944
+ # {
4945
+ # code_sha_256: "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=",
4946
+ # code_size: 266,
4947
+ # description: "",
4948
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
4949
+ # function_name: "my-function",
4950
+ # handler: "index.handler",
4951
+ # last_modified: Time.parse("2019-10-01T16:47:28.490+0000"),
4952
+ # memory_size: 256,
4953
+ # revision_id: "93017fc9-59cb-41dc-901b-4845ce4bf668",
4954
+ # role: "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq",
4955
+ # runtime: "nodejs10.x",
4956
+ # timeout: 3,
4957
+ # tracing_config: {
4958
+ # mode: "PassThrough",
4959
+ # },
4960
+ # version: "$LATEST",
4961
+ # vpc_config: {
4962
+ # security_group_ids: [
4963
+ # ],
4964
+ # subnet_ids: [
4965
+ # ],
4966
+ # vpc_id: "",
4967
+ # },
4968
+ # },
4969
+ # ],
4970
+ # next_marker: "",
4971
+ # }
4972
+ #
4188
4973
  # @example Request syntax with placeholder values
4189
4974
  #
4190
4975
  # resp = client.list_functions({
@@ -4363,6 +5148,39 @@ module Aws::Lambda
4363
5148
  #
4364
5149
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4365
5150
  #
5151
+ #
5152
+ # @example Example: To list versions of a layer
5153
+ #
5154
+ # # The following example displays information about the versions for the layer named blank-java-lib
5155
+ #
5156
+ # resp = client.list_layer_versions({
5157
+ # layer_name: "blank-java-lib",
5158
+ # })
5159
+ #
5160
+ # resp.to_h outputs the following:
5161
+ # {
5162
+ # layer_versions: [
5163
+ # {
5164
+ # compatible_runtimes: [
5165
+ # "java8",
5166
+ # ],
5167
+ # created_date: Time.parse("2020-03-18T23:38:42.284+0000"),
5168
+ # description: "Dependencies for the blank-java sample app.",
5169
+ # layer_version_arn: "arn:aws:lambda:us-east-2:123456789012:layer:blank-java-lib:7",
5170
+ # version: 7,
5171
+ # },
5172
+ # {
5173
+ # compatible_runtimes: [
5174
+ # "java8",
5175
+ # ],
5176
+ # created_date: Time.parse("2020-03-17T07:24:21.960+0000"),
5177
+ # description: "Dependencies for the blank-java sample app.",
5178
+ # layer_version_arn: "arn:aws:lambda:us-east-2:123456789012:layer:blank-java-lib:6",
5179
+ # version: 6,
5180
+ # },
5181
+ # ],
5182
+ # }
5183
+ #
4366
5184
  # @example Request syntax with placeholder values
4367
5185
  #
4368
5186
  # resp = client.list_layer_versions({
@@ -4442,6 +5260,35 @@ module Aws::Lambda
4442
5260
  #
4443
5261
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4444
5262
  #
5263
+ #
5264
+ # @example Example: To list the layers that are compatible with your function's runtime
5265
+ #
5266
+ # # The following example returns information about layers that are compatible with the Python 3.7 runtime.
5267
+ #
5268
+ # resp = client.list_layers({
5269
+ # compatible_runtime: "python3.7",
5270
+ # })
5271
+ #
5272
+ # resp.to_h outputs the following:
5273
+ # {
5274
+ # layers: [
5275
+ # {
5276
+ # latest_matching_version: {
5277
+ # compatible_runtimes: [
5278
+ # "python3.6",
5279
+ # "python3.7",
5280
+ # ],
5281
+ # created_date: Time.parse("2018-11-15T00:37:46.592+0000"),
5282
+ # description: "My layer",
5283
+ # layer_version_arn: "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
5284
+ # version: 2,
5285
+ # },
5286
+ # layer_arn: "arn:aws:lambda:us-east-2:123456789012:layer:my-layer",
5287
+ # layer_name: "my-layer",
5288
+ # },
5289
+ # ],
5290
+ # }
5291
+ #
4445
5292
  # @example Request syntax with placeholder values
4446
5293
  #
4447
5294
  # resp = client.list_layers({
@@ -4508,6 +5355,37 @@ module Aws::Lambda
4508
5355
  #
4509
5356
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4510
5357
  #
5358
+ #
5359
+ # @example Example: To get a list of provisioned concurrency configurations
5360
+ #
5361
+ # # The following example returns a list of provisioned concurrency configurations for a function named my-function.
5362
+ #
5363
+ # resp = client.list_provisioned_concurrency_configs({
5364
+ # function_name: "my-function",
5365
+ # })
5366
+ #
5367
+ # resp.to_h outputs the following:
5368
+ # {
5369
+ # provisioned_concurrency_configs: [
5370
+ # {
5371
+ # allocated_provisioned_concurrent_executions: 100,
5372
+ # available_provisioned_concurrent_executions: 100,
5373
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN",
5374
+ # last_modified: Time.parse("2019-12-31T20:29:00+0000"),
5375
+ # requested_provisioned_concurrent_executions: 100,
5376
+ # status: "READY",
5377
+ # },
5378
+ # {
5379
+ # allocated_provisioned_concurrent_executions: 100,
5380
+ # available_provisioned_concurrent_executions: 100,
5381
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE",
5382
+ # last_modified: Time.parse("2019-12-31T20:28:49+0000"),
5383
+ # requested_provisioned_concurrent_executions: 100,
5384
+ # status: "READY",
5385
+ # },
5386
+ # ],
5387
+ # }
5388
+ #
4511
5389
  # @example Request syntax with placeholder values
4512
5390
  #
4513
5391
  # resp = client.list_provisioned_concurrency_configs({
@@ -4537,7 +5415,8 @@ module Aws::Lambda
4537
5415
  req.send_request(options)
4538
5416
  end
4539
5417
 
4540
- # Returns a function's [tags][1]. You can also view tags with
5418
+ # Returns a function, event source mapping, or code signing
5419
+ # configuration's [tags][1]. You can also view funciton tags with
4541
5420
  # GetFunction.
4542
5421
  #
4543
5422
  #
@@ -4545,17 +5424,34 @@ module Aws::Lambda
4545
5424
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/tagging.html
4546
5425
  #
4547
5426
  # @option params [required, String] :resource
4548
- # The function's Amazon Resource Name (ARN). Note: Lambda does not
4549
- # support adding tags to aliases or versions.
5427
+ # The resource's Amazon Resource Name (ARN). Note: Lambda does not
5428
+ # support adding tags to function aliases or versions.
4550
5429
  #
4551
5430
  # @return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4552
5431
  #
4553
5432
  # * {Types::ListTagsResponse#tags #tags} => Hash&lt;String,String&gt;
4554
5433
  #
5434
+ #
5435
+ # @example Example: To retrieve the list of tags for a Lambda function
5436
+ #
5437
+ # # The following example displays the tags attached to the my-function Lambda function.
5438
+ #
5439
+ # resp = client.list_tags({
5440
+ # resource: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
5441
+ # })
5442
+ #
5443
+ # resp.to_h outputs the following:
5444
+ # {
5445
+ # tags: {
5446
+ # "Category" => "Web Tools",
5447
+ # "Department" => "Sales",
5448
+ # },
5449
+ # }
5450
+ #
4555
5451
  # @example Request syntax with placeholder values
4556
5452
  #
4557
5453
  # resp = client.list_tags({
4558
- # resource: "FunctionArn", # required
5454
+ # resource: "TaggableResource", # required
4559
5455
  # })
4560
5456
  #
4561
5457
  # @example Response structure
@@ -4610,6 +5506,71 @@ module Aws::Lambda
4610
5506
  #
4611
5507
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4612
5508
  #
5509
+ #
5510
+ # @example Example: To list versions of a function
5511
+ #
5512
+ # # The following example returns a list of versions of a function named my-function
5513
+ #
5514
+ # resp = client.list_versions_by_function({
5515
+ # function_name: "my-function",
5516
+ # })
5517
+ #
5518
+ # resp.to_h outputs the following:
5519
+ # {
5520
+ # versions: [
5521
+ # {
5522
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
5523
+ # code_size: 5797206,
5524
+ # description: "Process image objects from Amazon S3.",
5525
+ # environment: {
5526
+ # variables: {
5527
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
5528
+ # "PREFIX" => "inbound",
5529
+ # },
5530
+ # },
5531
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
5532
+ # function_name: "my-function",
5533
+ # handler: "index.handler",
5534
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
5535
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
5536
+ # memory_size: 256,
5537
+ # revision_id: "850ca006-2d98-4ff4-86db-8766e9d32fe9",
5538
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
5539
+ # runtime: "nodejs12.x",
5540
+ # timeout: 15,
5541
+ # tracing_config: {
5542
+ # mode: "Active",
5543
+ # },
5544
+ # version: "$LATEST",
5545
+ # },
5546
+ # {
5547
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
5548
+ # code_size: 5797206,
5549
+ # description: "Process image objects from Amazon S3.",
5550
+ # environment: {
5551
+ # variables: {
5552
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
5553
+ # "PREFIX" => "inbound",
5554
+ # },
5555
+ # },
5556
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
5557
+ # function_name: "my-function",
5558
+ # handler: "index.handler",
5559
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
5560
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
5561
+ # memory_size: 256,
5562
+ # revision_id: "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727",
5563
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
5564
+ # runtime: "nodejs12.x",
5565
+ # timeout: 5,
5566
+ # tracing_config: {
5567
+ # mode: "Active",
5568
+ # },
5569
+ # version: "1",
5570
+ # },
5571
+ # ],
5572
+ # }
5573
+ #
4613
5574
  # @example Request syntax with placeholder values
4614
5575
  #
4615
5576
  # resp = client.list_versions_by_function({
@@ -4760,6 +5721,45 @@ module Aws::Lambda
4760
5721
  # * {Types::PublishLayerVersionResponse#license_info #license_info} => String
4761
5722
  # * {Types::PublishLayerVersionResponse#compatible_architectures #compatible_architectures} => Array&lt;String&gt;
4762
5723
  #
5724
+ #
5725
+ # @example Example: To create a Lambda layer version
5726
+ #
5727
+ # # The following example creates a new Python library layer version. The command retrieves the layer content a file named
5728
+ # # layer.zip in the specified S3 bucket.
5729
+ #
5730
+ # resp = client.publish_layer_version({
5731
+ # compatible_runtimes: [
5732
+ # "python3.6",
5733
+ # "python3.7",
5734
+ # ],
5735
+ # content: {
5736
+ # s3_bucket: "lambda-layers-us-west-2-123456789012",
5737
+ # s3_key: "layer.zip",
5738
+ # },
5739
+ # description: "My Python layer",
5740
+ # layer_name: "my-layer",
5741
+ # license_info: "MIT",
5742
+ # })
5743
+ #
5744
+ # resp.to_h outputs the following:
5745
+ # {
5746
+ # compatible_runtimes: [
5747
+ # "python3.6",
5748
+ # "python3.7",
5749
+ # ],
5750
+ # content: {
5751
+ # code_sha_256: "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=",
5752
+ # code_size: 169,
5753
+ # location: "https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...",
5754
+ # },
5755
+ # created_date: Time.parse("2018-11-14T23:03:52.894+0000"),
5756
+ # description: "My Python layer",
5757
+ # layer_arn: "arn:aws:lambda:us-west-2:123456789012:layer:my-layer",
5758
+ # layer_version_arn: "arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1",
5759
+ # license_info: "MIT",
5760
+ # version: 1,
5761
+ # }
5762
+ #
4763
5763
  # @example Request syntax with placeholder values
4764
5764
  #
4765
5765
  # resp = client.publish_layer_version({
@@ -4889,6 +5889,46 @@ module Aws::Lambda
4889
5889
  # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
4890
5890
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
4891
5891
  #
5892
+ #
5893
+ # @example Example: To publish a version of a Lambda function
5894
+ #
5895
+ # # This operation publishes a version of a Lambda function
5896
+ #
5897
+ # resp = client.publish_version({
5898
+ # code_sha_256: "",
5899
+ # description: "",
5900
+ # function_name: "myFunction",
5901
+ # })
5902
+ #
5903
+ # resp.to_h outputs the following:
5904
+ # {
5905
+ # code_sha_256: "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=",
5906
+ # code_size: 5797206,
5907
+ # description: "Process image objects from Amazon S3.",
5908
+ # environment: {
5909
+ # variables: {
5910
+ # "BUCKET" => "my-bucket-1xpuxmplzrlbh",
5911
+ # "PREFIX" => "inbound",
5912
+ # },
5913
+ # },
5914
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
5915
+ # function_name: "my-function",
5916
+ # handler: "index.handler",
5917
+ # kms_key_arn: "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966",
5918
+ # last_modified: Time.parse("2020-04-10T19:06:32.563+0000"),
5919
+ # last_update_status: "Successful",
5920
+ # memory_size: 256,
5921
+ # revision_id: "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727",
5922
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
5923
+ # runtime: "nodejs12.x",
5924
+ # state: "Active",
5925
+ # timeout: 5,
5926
+ # tracing_config: {
5927
+ # mode: "Active",
5928
+ # },
5929
+ # version: "1",
5930
+ # }
5931
+ #
4892
5932
  # @example Request syntax with placeholder values
4893
5933
  #
4894
5934
  # resp = client.publish_version({
@@ -5062,6 +6102,21 @@ module Aws::Lambda
5062
6102
  #
5063
6103
  # * {Types::Concurrency#reserved_concurrent_executions #reserved_concurrent_executions} => Integer
5064
6104
  #
6105
+ #
6106
+ # @example Example: To configure a reserved concurrency limit for a function
6107
+ #
6108
+ # # The following example configures 100 reserved concurrent executions for the my-function function.
6109
+ #
6110
+ # resp = client.put_function_concurrency({
6111
+ # function_name: "my-function",
6112
+ # reserved_concurrent_executions: 100,
6113
+ # })
6114
+ #
6115
+ # resp.to_h outputs the following:
6116
+ # {
6117
+ # reserved_concurrent_executions: 100,
6118
+ # }
6119
+ #
5065
6120
  # @example Request syntax with placeholder values
5066
6121
  #
5067
6122
  # resp = client.put_function_concurrency({
@@ -5157,6 +6212,31 @@ module Aws::Lambda
5157
6212
  # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
5158
6213
  # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
5159
6214
  #
6215
+ #
6216
+ # @example Example: To configure error handling for asynchronous invocation
6217
+ #
6218
+ # # The following example sets a maximum event age of one hour and disables retries for the specified function.
6219
+ #
6220
+ # resp = client.put_function_event_invoke_config({
6221
+ # function_name: "my-function",
6222
+ # maximum_event_age_in_seconds: 3600,
6223
+ # maximum_retry_attempts: 0,
6224
+ # })
6225
+ #
6226
+ # resp.to_h outputs the following:
6227
+ # {
6228
+ # destination_config: {
6229
+ # on_failure: {
6230
+ # },
6231
+ # on_success: {
6232
+ # },
6233
+ # },
6234
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST",
6235
+ # last_modified: Time.parse("${timestamp}"),
6236
+ # maximum_event_age_in_seconds: 3600,
6237
+ # maximum_retry_attempts: 0,
6238
+ # }
6239
+ #
5160
6240
  # @example Request syntax with placeholder values
5161
6241
  #
5162
6242
  # resp = client.put_function_event_invoke_config({
@@ -5311,6 +6391,25 @@ module Aws::Lambda
5311
6391
  # * {Types::PutProvisionedConcurrencyConfigResponse#status_reason #status_reason} => String
5312
6392
  # * {Types::PutProvisionedConcurrencyConfigResponse#last_modified #last_modified} => Time
5313
6393
  #
6394
+ #
6395
+ # @example Example: To allocate provisioned concurrency
6396
+ #
6397
+ # # The following example allocates 100 provisioned concurrency for the BLUE alias of the specified function.
6398
+ #
6399
+ # resp = client.put_provisioned_concurrency_config({
6400
+ # function_name: "my-function",
6401
+ # provisioned_concurrent_executions: 100,
6402
+ # qualifier: "BLUE",
6403
+ # })
6404
+ #
6405
+ # resp.to_h outputs the following:
6406
+ # {
6407
+ # allocated_provisioned_concurrent_executions: 0,
6408
+ # last_modified: Time.parse("2019-11-21T19:32:12+0000"),
6409
+ # requested_provisioned_concurrent_executions: 100,
6410
+ # status: "IN_PROGRESS",
6411
+ # }
6412
+ #
5314
6413
  # @example Request syntax with placeholder values
5315
6414
  #
5316
6415
  # resp = client.put_provisioned_concurrency_config({
@@ -5337,6 +6436,12 @@ module Aws::Lambda
5337
6436
  req.send_request(options)
5338
6437
  end
5339
6438
 
6439
+ # <note markdown="1"> The option to configure public-access settings, and to use the
6440
+ # PutPublicAccessBlock and GetPublicAccessBlock APIs, won't be
6441
+ # available in all Amazon Web Services Regions until September 30, 2024.
6442
+ #
6443
+ # </note>
6444
+ #
5340
6445
  # Configure your function's public-access settings.
5341
6446
  #
5342
6447
  # To control public access to a Lambda function, you can choose whether
@@ -5399,6 +6504,13 @@ module Aws::Lambda
5399
6504
  req.send_request(options)
5400
6505
  end
5401
6506
 
6507
+ # <note markdown="1"> The option to create and modify full JSON resource-based policies, and
6508
+ # to use the PutResourcePolicy, GetResourcePolicy, and
6509
+ # DeleteResourcePolicy APIs, won't be available in all Amazon Web
6510
+ # Services Regions until September 30, 2024.
6511
+ #
6512
+ # </note>
6513
+ #
5402
6514
  # Adds a [resource-based policy][1] to a function. You can use
5403
6515
  # resource-based policies to grant access to other [Amazon Web Services
5404
6516
  # accounts][2], [organizations][3], or [services][4]. Resource-based
@@ -5583,6 +6695,17 @@ module Aws::Lambda
5583
6695
  #
5584
6696
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5585
6697
  #
6698
+ #
6699
+ # @example Example: To delete layer-version permissions
6700
+ #
6701
+ # # The following example deletes permission for an account to configure a layer version.
6702
+ #
6703
+ # resp = client.remove_layer_version_permission({
6704
+ # layer_name: "my-layer",
6705
+ # statement_id: "xaccount",
6706
+ # version_number: 1,
6707
+ # })
6708
+ #
5586
6709
  # @example Request syntax with placeholder values
5587
6710
  #
5588
6711
  # resp = client.remove_layer_version_permission({
@@ -5636,6 +6759,18 @@ module Aws::Lambda
5636
6759
  #
5637
6760
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5638
6761
  #
6762
+ #
6763
+ # @example Example: To remove a Lambda function's permissions
6764
+ #
6765
+ # # The following example removes a permissions statement named xaccount from the PROD alias of a function named
6766
+ # # my-function.
6767
+ #
6768
+ # resp = client.remove_permission({
6769
+ # function_name: "my-function",
6770
+ # qualifier: "PROD",
6771
+ # statement_id: "xaccount",
6772
+ # })
6773
+ #
5639
6774
  # @example Request syntax with placeholder values
5640
6775
  #
5641
6776
  # resp = client.remove_permission({
@@ -5654,24 +6789,38 @@ module Aws::Lambda
5654
6789
  req.send_request(options)
5655
6790
  end
5656
6791
 
5657
- # Adds [tags][1] to a function.
6792
+ # Adds [tags][1] to a function, event source mapping, or code signing
6793
+ # configuration.
5658
6794
  #
5659
6795
  #
5660
6796
  #
5661
6797
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/tagging.html
5662
6798
  #
5663
6799
  # @option params [required, String] :resource
5664
- # The function's Amazon Resource Name (ARN).
6800
+ # The resource's Amazon Resource Name (ARN).
5665
6801
  #
5666
6802
  # @option params [required, Hash<String,String>] :tags
5667
- # A list of tags to apply to the function.
6803
+ # A list of tags to apply to the resource.
5668
6804
  #
5669
6805
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5670
6806
  #
6807
+ #
6808
+ # @example Example: To add tags to an existing Lambda function
6809
+ #
6810
+ # # The following example adds a tag with the key name DEPARTMENT and a value of 'Department A' to the specified Lambda
6811
+ # # function.
6812
+ #
6813
+ # resp = client.tag_resource({
6814
+ # resource: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
6815
+ # tags: {
6816
+ # "DEPARTMENT" => "Department A",
6817
+ # },
6818
+ # })
6819
+ #
5671
6820
  # @example Request syntax with placeholder values
5672
6821
  #
5673
6822
  # resp = client.tag_resource({
5674
- # resource: "FunctionArn", # required
6823
+ # resource: "TaggableResource", # required
5675
6824
  # tags: { # required
5676
6825
  # "TagKey" => "TagValue",
5677
6826
  # },
@@ -5686,24 +6835,37 @@ module Aws::Lambda
5686
6835
  req.send_request(options)
5687
6836
  end
5688
6837
 
5689
- # Removes [tags][1] from a function.
6838
+ # Removes [tags][1] from a function, event source mapping, or code
6839
+ # signing configuration.
5690
6840
  #
5691
6841
  #
5692
6842
  #
5693
6843
  # [1]: https://docs.aws.amazon.com/lambda/latest/dg/tagging.html
5694
6844
  #
5695
6845
  # @option params [required, String] :resource
5696
- # The function's Amazon Resource Name (ARN).
6846
+ # The resource's Amazon Resource Name (ARN).
5697
6847
  #
5698
6848
  # @option params [required, Array<String>] :tag_keys
5699
- # A list of tag keys to remove from the function.
6849
+ # A list of tag keys to remove from the resource.
5700
6850
  #
5701
6851
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5702
6852
  #
6853
+ #
6854
+ # @example Example: To remove tags from an existing Lambda function
6855
+ #
6856
+ # # The following example removes the tag with the key name DEPARTMENT tag from the my-function Lambda function.
6857
+ #
6858
+ # resp = client.untag_resource({
6859
+ # resource: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
6860
+ # tag_keys: [
6861
+ # "DEPARTMENT",
6862
+ # ],
6863
+ # })
6864
+ #
5703
6865
  # @example Request syntax with placeholder values
5704
6866
  #
5705
6867
  # resp = client.untag_resource({
5706
- # resource: "FunctionArn", # required
6868
+ # resource: "TaggableResource", # required
5707
6869
  # tag_keys: ["TagKey"], # required
5708
6870
  # })
5709
6871
  #
@@ -5767,6 +6929,36 @@ module Aws::Lambda
5767
6929
  # * {Types::AliasConfiguration#routing_config #routing_config} => Types::AliasRoutingConfiguration
5768
6930
  # * {Types::AliasConfiguration#revision_id #revision_id} => String
5769
6931
  #
6932
+ #
6933
+ # @example Example: To update a function alias
6934
+ #
6935
+ # # The following example updates the alias named BLUE to send 30% of traffic to version 2 and 70% to version 1.
6936
+ #
6937
+ # resp = client.update_alias({
6938
+ # function_name: "my-function",
6939
+ # function_version: "2",
6940
+ # name: "BLUE",
6941
+ # routing_config: {
6942
+ # additional_version_weights: {
6943
+ # "1" => 0.7,
6944
+ # },
6945
+ # },
6946
+ # })
6947
+ #
6948
+ # resp.to_h outputs the following:
6949
+ # {
6950
+ # alias_arn: "arn:aws:lambda:us-west-2:123456789012:function:my-function:BLUE",
6951
+ # description: "Production environment BLUE.",
6952
+ # function_version: "2",
6953
+ # name: "BLUE",
6954
+ # revision_id: "594f41fb-xmpl-4c20-95c7-6ca5f2a92c93",
6955
+ # routing_config: {
6956
+ # additional_version_weights: {
6957
+ # "1" => 0.7,
6958
+ # },
6959
+ # },
6960
+ # }
6961
+ #
5770
6962
  # @example Request syntax with placeholder values
5771
6963
  #
5772
6964
  # resp = client.update_alias({
@@ -6094,6 +7286,31 @@ module Aws::Lambda
6094
7286
  # * {Types::EventSourceMappingConfiguration#document_db_event_source_config #document_db_event_source_config} => Types::DocumentDBEventSourceConfig
6095
7287
  # * {Types::EventSourceMappingConfiguration#kms_key_arn #kms_key_arn} => String
6096
7288
  # * {Types::EventSourceMappingConfiguration#filter_criteria_error #filter_criteria_error} => Types::FilterCriteriaError
7289
+ # * {Types::EventSourceMappingConfiguration#event_source_mapping_arn #event_source_mapping_arn} => String
7290
+ #
7291
+ #
7292
+ # @example Example: To update a Lambda function event source mapping
7293
+ #
7294
+ # # This operation updates a Lambda function event source mapping
7295
+ #
7296
+ # resp = client.update_event_source_mapping({
7297
+ # batch_size: 123,
7298
+ # enabled: true,
7299
+ # function_name: "myFunction",
7300
+ # uuid: "1234xCy789012",
7301
+ # })
7302
+ #
7303
+ # resp.to_h outputs the following:
7304
+ # {
7305
+ # batch_size: 123,
7306
+ # event_source_arn: "arn:aws:s3:::examplebucket/*",
7307
+ # function_arn: "arn:aws:lambda:us-west-2:123456789012:function:myFunction",
7308
+ # last_modified: Time.parse("2016-11-21T19:49:20.006+0000"),
7309
+ # last_processing_result: "",
7310
+ # state: "",
7311
+ # state_transition_reason: "",
7312
+ # uuid: "1234xCy789012",
7313
+ # }
6097
7314
  #
6098
7315
  # @example Request syntax with placeholder values
6099
7316
  #
@@ -6184,6 +7401,7 @@ module Aws::Lambda
6184
7401
  # resp.kms_key_arn #=> String
6185
7402
  # resp.filter_criteria_error.error_code #=> String
6186
7403
  # resp.filter_criteria_error.message #=> String
7404
+ # resp.event_source_mapping_arn #=> String
6187
7405
  #
6188
7406
  # @see http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping AWS API Documentation
6189
7407
  #
@@ -6321,6 +7539,38 @@ module Aws::Lambda
6321
7539
  # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
6322
7540
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
6323
7541
  #
7542
+ #
7543
+ # @example Example: To update a Lambda function's code
7544
+ #
7545
+ # # The following example replaces the code of the unpublished ($LATEST) version of a function named my-function with the
7546
+ # # contents of the specified zip file in Amazon S3.
7547
+ #
7548
+ # resp = client.update_function_code({
7549
+ # function_name: "my-function",
7550
+ # s3_bucket: "my-bucket-1xpuxmplzrlbh",
7551
+ # s3_key: "function.zip",
7552
+ # })
7553
+ #
7554
+ # resp.to_h outputs the following:
7555
+ # {
7556
+ # code_sha_256: "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=",
7557
+ # code_size: 308,
7558
+ # description: "",
7559
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function",
7560
+ # function_name: "my-function",
7561
+ # handler: "index.handler",
7562
+ # last_modified: Time.parse("2019-08-14T22:26:11.234+0000"),
7563
+ # memory_size: 128,
7564
+ # revision_id: "873282ed-xmpl-4dc8-a069-d0c647e470c6",
7565
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
7566
+ # runtime: "nodejs12.x",
7567
+ # timeout: 3,
7568
+ # tracing_config: {
7569
+ # mode: "PassThrough",
7570
+ # },
7571
+ # version: "$LATEST",
7572
+ # }
7573
+ #
6324
7574
  # @example Request syntax with placeholder values
6325
7575
  #
6326
7576
  # resp = client.update_function_code({
@@ -6636,6 +7886,37 @@ module Aws::Lambda
6636
7886
  # * {Types::FunctionConfiguration#runtime_version_config #runtime_version_config} => Types::RuntimeVersionConfig
6637
7887
  # * {Types::FunctionConfiguration#logging_config #logging_config} => Types::LoggingConfig
6638
7888
  #
7889
+ #
7890
+ # @example Example: To update a Lambda function's configuration
7891
+ #
7892
+ # # The following example modifies the memory size to be 256 MB for the unpublished ($LATEST) version of a function named
7893
+ # # my-function.
7894
+ #
7895
+ # resp = client.update_function_configuration({
7896
+ # function_name: "my-function",
7897
+ # memory_size: 256,
7898
+ # })
7899
+ #
7900
+ # resp.to_h outputs the following:
7901
+ # {
7902
+ # code_sha_256: "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=",
7903
+ # code_size: 308,
7904
+ # description: "",
7905
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function",
7906
+ # function_name: "my-function",
7907
+ # handler: "index.handler",
7908
+ # last_modified: Time.parse("2019-08-14T22:26:11.234+0000"),
7909
+ # memory_size: 256,
7910
+ # revision_id: "873282ed-xmpl-4dc8-a069-d0c647e470c6",
7911
+ # role: "arn:aws:iam::123456789012:role/lambda-role",
7912
+ # runtime: "nodejs12.x",
7913
+ # timeout: 3,
7914
+ # tracing_config: {
7915
+ # mode: "PassThrough",
7916
+ # },
7917
+ # version: "$LATEST",
7918
+ # }
7919
+ #
6639
7920
  # @example Request syntax with placeholder values
6640
7921
  #
6641
7922
  # resp = client.update_function_configuration({
@@ -6821,6 +8102,36 @@ module Aws::Lambda
6821
8102
  # * {Types::FunctionEventInvokeConfig#maximum_event_age_in_seconds #maximum_event_age_in_seconds} => Integer
6822
8103
  # * {Types::FunctionEventInvokeConfig#destination_config #destination_config} => Types::DestinationConfig
6823
8104
  #
8105
+ #
8106
+ # @example Example: To update an asynchronous invocation configuration
8107
+ #
8108
+ # # The following example adds an on-failure destination to the existing asynchronous invocation configuration for a
8109
+ # # function named my-function.
8110
+ #
8111
+ # resp = client.update_function_event_invoke_config({
8112
+ # destination_config: {
8113
+ # on_failure: {
8114
+ # destination: "arn:aws:sqs:us-east-2:123456789012:destination",
8115
+ # },
8116
+ # },
8117
+ # function_name: "my-function",
8118
+ # })
8119
+ #
8120
+ # resp.to_h outputs the following:
8121
+ # {
8122
+ # destination_config: {
8123
+ # on_failure: {
8124
+ # destination: "arn:aws:sqs:us-east-2:123456789012:destination",
8125
+ # },
8126
+ # on_success: {
8127
+ # },
8128
+ # },
8129
+ # function_arn: "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST",
8130
+ # last_modified: Time.parse(1573687896.493),
8131
+ # maximum_event_age_in_seconds: 3600,
8132
+ # maximum_retry_attempts: 0,
8133
+ # }
8134
+ #
6824
8135
  # @example Request syntax with placeholder values
6825
8136
  #
6826
8137
  # resp = client.update_function_event_invoke_config({
@@ -6986,7 +8297,7 @@ module Aws::Lambda
6986
8297
  tracer: tracer
6987
8298
  )
6988
8299
  context[:gem_name] = 'aws-sdk-lambda'
6989
- context[:gem_version] = '1.131.0'
8300
+ context[:gem_version] = '1.133.0'
6990
8301
  Seahorse::Client::Request.new(handlers, context)
6991
8302
  end
6992
8303