aws-sdk-lambda 1.0.0.rc1

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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 68d2b8aab11371161deda00a24878a594f3939a9
4
+ data.tar.gz: 644ca03d684822a958924979718237ceca1e7fcb
5
+ SHA512:
6
+ metadata.gz: ce7950574d36a6fb125c8a9e76d3882064a18d5378ff278d52b1ab70c92ef290eb7a7697d98829cc39060fab9cf62b05ddced638cea63499a15e114ef8444da1
7
+ data.tar.gz: d50e838aa2727a6c5e9c8ea97a7a7eb5b303488dc26d60dc7045f69c61ce178d4ea3acb2b50e450979f66f68d1bbbf5673bbc04402844828f4c3bf2b8a05c248
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-lambda/types'
12
+ require_relative 'aws-sdk-lambda/client_api'
13
+ require_relative 'aws-sdk-lambda/client'
14
+ require_relative 'aws-sdk-lambda/errors'
15
+ require_relative 'aws-sdk-lambda/resource'
16
+ require_relative 'aws-sdk-lambda/customizations'
17
+
18
+ # This module provides support for AWS Lambda. This module is available in the
19
+ # `aws-sdk-lambda` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Lambda all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Lambda::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Lambda
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1918 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:lambda)
25
+
26
+ module Aws
27
+ module Lambda
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :lambda
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::RestJson)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :stub_responses (false)
117
+ # Causes the client to return stubbed responses. By default
118
+ # fake responses are generated and returned. You can specify
119
+ # the response data to return or errors to raise by calling
120
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
+ #
122
+ # ** Please note ** When response stubbing is enabled, no HTTP
123
+ # requests are made, and retries are disabled.
124
+ # @option options [Boolean] :validate_params (true)
125
+ # When `true`, request parameters are validated before
126
+ # sending the request.
127
+ def initialize(*args)
128
+ super
129
+ end
130
+
131
+ # @!group API Operations
132
+
133
+ # Adds a permission to the resource policy associated with the specified
134
+ # AWS Lambda function. You use resource policies to grant permissions to
135
+ # event sources that use *push* model. In a *push* model, event sources
136
+ # (such as Amazon S3 and custom applications) invoke your Lambda
137
+ # function. Each permission you add to the resource policy allows an
138
+ # event source, permission to invoke the Lambda function.
139
+ #
140
+ # For information about the push model, see [AWS Lambda: How it
141
+ # Works][1].
142
+ #
143
+ # If you are using versioning, the permissions you add are specific to
144
+ # the Lambda function version or alias you specify in the
145
+ # `AddPermission` request via the `Qualifier` parameter. For more
146
+ # information about versioning, see [AWS Lambda Function Versioning and
147
+ # Aliases][2].
148
+ #
149
+ # This operation requires permission for the `lambda:AddPermission`
150
+ # action.
151
+ #
152
+ #
153
+ #
154
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
155
+ # [2]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
156
+ # @option params [required, String] :function_name
157
+ # Name of the Lambda function whose resource policy you are updating by
158
+ # adding a new permission.
159
+ #
160
+ # You can specify a function name (for example, `Thumbnail`) or you can
161
+ # specify Amazon Resource Name (ARN) of the function (for example,
162
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
163
+ # also allows you to specify partial ARN (for example,
164
+ # `account-id:Thumbnail`). Note that the length constraint applies only
165
+ # to the ARN. If you specify only the function name, it is limited to 64
166
+ # character in length.
167
+ # @option params [required, String] :statement_id
168
+ # A unique statement identifier.
169
+ # @option params [required, String] :action
170
+ # The AWS Lambda action you want to allow in this statement. Each Lambda
171
+ # action is a string starting with `lambda:` followed by the API name .
172
+ # For example, `lambda:CreateFunction`. You can use wildcard
173
+ # (`lambda:*`) to grant permission for all AWS Lambda actions.
174
+ # @option params [required, String] :principal
175
+ # The principal who is getting this permission. It can be Amazon S3
176
+ # service Principal (`s3.amazonaws.com`) if you want Amazon S3 to invoke
177
+ # the function, an AWS account ID if you are granting cross-account
178
+ # permission, or any valid AWS service principal such as
179
+ # `sns.amazonaws.com`. For example, you might want to allow a custom
180
+ # application in another AWS account to push events to AWS Lambda by
181
+ # invoking your function.
182
+ # @option params [String] :source_arn
183
+ # This is optional; however, when granting Amazon S3 permission to
184
+ # invoke your function, you should specify this field with the Amazon
185
+ # Resource Name (ARN) as its value. This ensures that only events
186
+ # generated from the specified source can invoke the function.
187
+ #
188
+ # If you add a permission for the Amazon S3 principal without providing
189
+ # the source ARN, any AWS account that creates a mapping to your
190
+ # function ARN can send events to invoke your Lambda function from
191
+ # Amazon S3.
192
+ # @option params [String] :source_account
193
+ # This parameter is used for S3, SES, CloudWatch Logs and CloudWatch
194
+ # Rules only. The AWS account ID (without a hyphen) of the source owner.
195
+ # For example, if the `SourceArn` identifies a bucket, then this is the
196
+ # bucket owner's account ID. You can use this additional condition to
197
+ # ensure the bucket you specify is owned by a specific account (it is
198
+ # possible the bucket owner deleted the bucket and some other AWS
199
+ # account created the bucket). You can also use this condition to
200
+ # specify all sources (that is, you don't specify the `SourceArn`)
201
+ # owned by a specific account.
202
+ # @option params [String] :event_source_token
203
+ # A unique token that must be supplied by the principal invoking the
204
+ # function. This is currently only used for Alexa Smart Home functions.
205
+ # @option params [String] :qualifier
206
+ # You can use this optional query parameter to describe a qualified ARN
207
+ # using a function version or an alias name. The permission will then
208
+ # apply to the specific qualified ARN. For example, if you specify
209
+ # function version 2 as the qualifier, then permission applies only when
210
+ # request is made using qualified function ARN:
211
+ #
212
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name:2`
213
+ #
214
+ # If you specify an alias name, for example `PROD`, then the permission
215
+ # is valid only for requests made using the alias ARN:
216
+ #
217
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name:PROD`
218
+ #
219
+ # If the qualifier is not specified, the permission is valid only when
220
+ # requests is made using unqualified function ARN.
221
+ #
222
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name`
223
+ # @return [Types::AddPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
224
+ #
225
+ # * {Types::AddPermissionResponse#statement #Statement} => String
226
+ #
227
+ # @example Request syntax with placeholder values
228
+ # resp = client.add_permission({
229
+ # function_name: "FunctionName", # required
230
+ # statement_id: "StatementId", # required
231
+ # action: "Action", # required
232
+ # principal: "Principal", # required
233
+ # source_arn: "Arn",
234
+ # source_account: "SourceOwner",
235
+ # event_source_token: "EventSourceToken",
236
+ # qualifier: "Qualifier",
237
+ # })
238
+ #
239
+ # @example Response structure
240
+ # resp.statement #=> String
241
+ # @overload add_permission(params = {})
242
+ # @param [Hash] params ({})
243
+ def add_permission(params = {}, options = {})
244
+ req = build_request(:add_permission, params)
245
+ req.send_request(options)
246
+ end
247
+
248
+ # Creates an alias that points to the specified Lambda function version.
249
+ # For more information, see [Introduction to AWS Lambda Aliases][1].
250
+ #
251
+ # Alias names are unique for a given function. This requires permission
252
+ # for the lambda:CreateAlias action.
253
+ #
254
+ #
255
+ #
256
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html
257
+ # @option params [required, String] :function_name
258
+ # Name of the Lambda function for which you want to create an alias.
259
+ # @option params [required, String] :name
260
+ # Name for the alias you are creating.
261
+ # @option params [required, String] :function_version
262
+ # Lambda function version for which you are creating the alias.
263
+ # @option params [String] :description
264
+ # Description of the alias.
265
+ # @return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
266
+ #
267
+ # * {Types::AliasConfiguration#alias_arn #AliasArn} => String
268
+ # * {Types::AliasConfiguration#name #Name} => String
269
+ # * {Types::AliasConfiguration#function_version #FunctionVersion} => String
270
+ # * {Types::AliasConfiguration#description #Description} => String
271
+ #
272
+ # @example Request syntax with placeholder values
273
+ # resp = client.create_alias({
274
+ # function_name: "FunctionName", # required
275
+ # name: "Alias", # required
276
+ # function_version: "Version", # required
277
+ # description: "Description",
278
+ # })
279
+ #
280
+ # @example Response structure
281
+ # resp.alias_arn #=> String
282
+ # resp.name #=> String
283
+ # resp.function_version #=> String
284
+ # resp.description #=> String
285
+ # @overload create_alias(params = {})
286
+ # @param [Hash] params ({})
287
+ def create_alias(params = {}, options = {})
288
+ req = build_request(:create_alias, params)
289
+ req.send_request(options)
290
+ end
291
+
292
+ # Identifies a stream as an event source for a Lambda function. It can
293
+ # be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS
294
+ # Lambda invokes the specified function when records are posted to the
295
+ # stream.
296
+ #
297
+ # This association between a stream source and a Lambda function is
298
+ # called the event source mapping.
299
+ #
300
+ # This event source mapping is relevant only in the AWS Lambda pull
301
+ # model, where AWS Lambda invokes the function. For more information, go
302
+ # to [AWS Lambda: How it Works][1] in the *AWS Lambda Developer Guide*.
303
+ #
304
+ # You provide mapping information (for example, which stream to read
305
+ # from and which Lambda function to invoke) in the request body.
306
+ #
307
+ # Each event source, such as an Amazon Kinesis or a DynamoDB stream, can
308
+ # be associated with multiple AWS Lambda function. A given Lambda
309
+ # function can be associated with multiple AWS event sources.
310
+ #
311
+ # If you are using versioning, you can specify a specific function
312
+ # version or an alias via the function name parameter. For more
313
+ # information about versioning, see [AWS Lambda Function Versioning and
314
+ # Aliases][2].
315
+ #
316
+ # This operation requires permission for the
317
+ # `lambda:CreateEventSourceMapping` action.
318
+ #
319
+ #
320
+ #
321
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
322
+ # [2]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
323
+ # @option params [required, String] :event_source_arn
324
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon
325
+ # DynamoDB stream that is the event source. Any record added to this
326
+ # stream could cause AWS Lambda to invoke your Lambda function, it
327
+ # depends on the `BatchSize`. AWS Lambda POSTs the Amazon Kinesis event,
328
+ # containing records, to your Lambda function as JSON.
329
+ # @option params [required, String] :function_name
330
+ # The Lambda function to invoke when AWS Lambda detects an event on the
331
+ # stream.
332
+ #
333
+ # You can specify the function name (for example, `Thumbnail`) or you
334
+ # can specify Amazon Resource Name (ARN) of the function (for example,
335
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`).
336
+ #
337
+ # If you are using versioning, you can also provide a qualified function
338
+ # ARN (ARN that is qualified with function version or alias name as
339
+ # suffix). For more information about versioning, see [AWS Lambda
340
+ # Function Versioning and Aliases][1]
341
+ #
342
+ # AWS Lambda also allows you to specify only the function name with the
343
+ # account ID qualifier (for example, `account-id:Thumbnail`).
344
+ #
345
+ # Note that the length constraint applies only to the ARN. If you
346
+ # specify only the function name, it is limited to 64 character in
347
+ # length.
348
+ #
349
+ #
350
+ #
351
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
352
+ # @option params [Boolean] :enabled
353
+ # Indicates whether AWS Lambda should begin polling the event source. By
354
+ # default, `Enabled` is true.
355
+ # @option params [Integer] :batch_size
356
+ # The largest number of records that AWS Lambda will retrieve from your
357
+ # event source at the time of invoking your function. Your function
358
+ # receives an event with all the retrieved records. The default is 100
359
+ # records.
360
+ # @option params [required, String] :starting_position
361
+ # The position in the stream where AWS Lambda should start reading. For
362
+ # more information, go to [ShardIteratorType][1] in the *Amazon Kinesis
363
+ # API Reference*.
364
+ #
365
+ #
366
+ #
367
+ # [1]: http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType
368
+ # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
369
+ #
370
+ # * {Types::EventSourceMappingConfiguration#uuid #UUID} => String
371
+ # * {Types::EventSourceMappingConfiguration#batch_size #BatchSize} => Integer
372
+ # * {Types::EventSourceMappingConfiguration#event_source_arn #EventSourceArn} => String
373
+ # * {Types::EventSourceMappingConfiguration#function_arn #FunctionArn} => String
374
+ # * {Types::EventSourceMappingConfiguration#last_modified #LastModified} => Time
375
+ # * {Types::EventSourceMappingConfiguration#last_processing_result #LastProcessingResult} => String
376
+ # * {Types::EventSourceMappingConfiguration#state #State} => String
377
+ # * {Types::EventSourceMappingConfiguration#state_transition_reason #StateTransitionReason} => String
378
+ #
379
+ # @example Request syntax with placeholder values
380
+ # resp = client.create_event_source_mapping({
381
+ # event_source_arn: "Arn", # required
382
+ # function_name: "FunctionName", # required
383
+ # enabled: false,
384
+ # batch_size: 1,
385
+ # starting_position: "TRIM_HORIZON", # required, accepts TRIM_HORIZON, LATEST
386
+ # })
387
+ #
388
+ # @example Response structure
389
+ # resp.uuid #=> String
390
+ # resp.batch_size #=> Integer
391
+ # resp.event_source_arn #=> String
392
+ # resp.function_arn #=> String
393
+ # resp.last_modified #=> Time
394
+ # resp.last_processing_result #=> String
395
+ # resp.state #=> String
396
+ # resp.state_transition_reason #=> String
397
+ # @overload create_event_source_mapping(params = {})
398
+ # @param [Hash] params ({})
399
+ def create_event_source_mapping(params = {}, options = {})
400
+ req = build_request(:create_event_source_mapping, params)
401
+ req.send_request(options)
402
+ end
403
+
404
+ # Creates a new Lambda function. The function metadata is created from
405
+ # the request parameters, and the code for the function is provided by a
406
+ # .zip file in the request body. If the function name already exists,
407
+ # the operation will fail. Note that the function name is
408
+ # case-sensitive.
409
+ #
410
+ # If you are using versioning, you can also publish a version of the
411
+ # Lambda function you are creating using the `Publish` parameter. For
412
+ # more information about versioning, see [AWS Lambda Function Versioning
413
+ # and Aliases][1].
414
+ #
415
+ # This operation requires permission for the `lambda:CreateFunction`
416
+ # action.
417
+ #
418
+ #
419
+ #
420
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
421
+ # @option params [required, String] :function_name
422
+ # The name you want to assign to the function you are uploading. The
423
+ # function names appear in the console and are returned in the
424
+ # ListFunctions API. Function names are used to specify functions to
425
+ # other AWS Lambda APIs, such as Invoke.
426
+ # @option params [required, String] :runtime
427
+ # The runtime environment for the Lambda function you are uploading.
428
+ #
429
+ # To use the Node.js runtime v4.3, set the value to "nodejs4.3". To
430
+ # use earlier runtime (v0.10.42), set the value to "nodejs".
431
+ # @option params [required, String] :role
432
+ # The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
433
+ # when it executes your function to access any other Amazon Web Services
434
+ # (AWS) resources. For more information, see [AWS Lambda: How it
435
+ # Works][1].
436
+ #
437
+ #
438
+ #
439
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
440
+ # @option params [required, String] :handler
441
+ # The function within your code that Lambda calls to begin execution.
442
+ # For Node.js, it is the *module-name*.*export* value in your function.
443
+ # For Java, it can be `package.class-name::handler` or
444
+ # `package.class-name`. For more information, see [Lambda Function
445
+ # Handler (Java)][1].
446
+ #
447
+ #
448
+ #
449
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html
450
+ # @option params [required, Types::FunctionCode] :code
451
+ # The code for the Lambda function.
452
+ # @option params [String] :description
453
+ # A short, user-defined function description. Lambda does not use this
454
+ # value. Assign a meaningful description as you see fit.
455
+ # @option params [Integer] :timeout
456
+ # The function execution time at which Lambda should terminate the
457
+ # function. Because the execution time has cost implications, we
458
+ # recommend you set this value based on your expected execution time.
459
+ # The default is 3 seconds.
460
+ # @option params [Integer] :memory_size
461
+ # The amount of memory, in MB, your Lambda function is given. Lambda
462
+ # uses this memory size to infer the amount of CPU and memory allocated
463
+ # to your function. Your function use-case determines your CPU and
464
+ # memory requirements. For example, a database operation might need less
465
+ # memory compared to an image processing function. The default value is
466
+ # 128 MB. The value must be a multiple of 64 MB.
467
+ # @option params [Boolean] :publish
468
+ # This boolean parameter can be used to request AWS Lambda to create the
469
+ # Lambda function and publish a version as an atomic operation.
470
+ # @option params [Types::VpcConfig] :vpc_config
471
+ # If your Lambda function accesses resources in a VPC, you provide this
472
+ # parameter identifying the list of security group IDs and subnet IDs.
473
+ # These must belong to the same VPC. You must provide at least one
474
+ # security group and one subnet ID.
475
+ # @option params [Types::Environment] :environment
476
+ # The parent object that contains your environment's configuration
477
+ # settings.
478
+ # @option params [String] :kms_key_arn
479
+ # The Amazon Resource Name (ARN) of the KMS key used to encrypt your
480
+ # function's environment variables. If not provided, AWS Lambda will
481
+ # use a default service key.
482
+ # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
483
+ #
484
+ # * {Types::FunctionConfiguration#function_name #FunctionName} => String
485
+ # * {Types::FunctionConfiguration#function_arn #FunctionArn} => String
486
+ # * {Types::FunctionConfiguration#runtime #Runtime} => String
487
+ # * {Types::FunctionConfiguration#role #Role} => String
488
+ # * {Types::FunctionConfiguration#handler #Handler} => String
489
+ # * {Types::FunctionConfiguration#code_size #CodeSize} => Integer
490
+ # * {Types::FunctionConfiguration#description #Description} => String
491
+ # * {Types::FunctionConfiguration#timeout #Timeout} => Integer
492
+ # * {Types::FunctionConfiguration#memory_size #MemorySize} => Integer
493
+ # * {Types::FunctionConfiguration#last_modified #LastModified} => Time
494
+ # * {Types::FunctionConfiguration#code_sha_256 #CodeSha256} => String
495
+ # * {Types::FunctionConfiguration#version #Version} => String
496
+ # * {Types::FunctionConfiguration#vpc_config #VpcConfig} => Types::VpcConfigResponse
497
+ # * {Types::FunctionConfiguration#environment #Environment} => Types::EnvironmentResponse
498
+ # * {Types::FunctionConfiguration#kms_key_arn #KMSKeyArn} => String
499
+ #
500
+ # @example Request syntax with placeholder values
501
+ # resp = client.create_function({
502
+ # function_name: "FunctionName", # required
503
+ # runtime: "nodejs", # required, accepts nodejs, nodejs4.3, java8, python2.7
504
+ # role: "RoleArn", # required
505
+ # handler: "Handler", # required
506
+ # code: { # required
507
+ # zip_file: "data",
508
+ # s3_bucket: "S3Bucket",
509
+ # s3_key: "S3Key",
510
+ # s3_object_version: "S3ObjectVersion",
511
+ # },
512
+ # description: "Description",
513
+ # timeout: 1,
514
+ # memory_size: 1,
515
+ # publish: false,
516
+ # vpc_config: {
517
+ # subnet_ids: ["SubnetId"],
518
+ # security_group_ids: ["SecurityGroupId"],
519
+ # },
520
+ # environment: {
521
+ # variables: {
522
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
523
+ # },
524
+ # },
525
+ # kms_key_arn: "KMSKeyArn",
526
+ # })
527
+ #
528
+ # @example Response structure
529
+ # resp.function_name #=> String
530
+ # resp.function_arn #=> String
531
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
532
+ # resp.role #=> String
533
+ # resp.handler #=> String
534
+ # resp.code_size #=> Integer
535
+ # resp.description #=> String
536
+ # resp.timeout #=> Integer
537
+ # resp.memory_size #=> Integer
538
+ # resp.last_modified #=> Time
539
+ # resp.code_sha_256 #=> String
540
+ # resp.version #=> String
541
+ # resp.vpc_config.subnet_ids #=> Array
542
+ # resp.vpc_config.subnet_ids[0] #=> String
543
+ # resp.vpc_config.security_group_ids #=> Array
544
+ # resp.vpc_config.security_group_ids[0] #=> String
545
+ # resp.vpc_config.vpc_id #=> String
546
+ # resp.environment.variables #=> Hash
547
+ # resp.environment.variables["EnvironmentVariableName"] #=> String
548
+ # resp.environment.error.error_code #=> String
549
+ # resp.environment.error.message #=> String
550
+ # resp.kms_key_arn #=> String
551
+ # @overload create_function(params = {})
552
+ # @param [Hash] params ({})
553
+ def create_function(params = {}, options = {})
554
+ req = build_request(:create_function, params)
555
+ req.send_request(options)
556
+ end
557
+
558
+ # Deletes the specified Lambda function alias. For more information, see
559
+ # [Introduction to AWS Lambda Aliases][1].
560
+ #
561
+ # This requires permission for the lambda:DeleteAlias action.
562
+ #
563
+ #
564
+ #
565
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html
566
+ # @option params [required, String] :function_name
567
+ # The Lambda function name for which the alias is created. Deleting an
568
+ # alias does not delete the function version to which it is pointing.
569
+ # @option params [required, String] :name
570
+ # Name of the alias to delete.
571
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ # resp = client.delete_alias({
575
+ # function_name: "FunctionName", # required
576
+ # name: "Alias", # required
577
+ # })
578
+ # @overload delete_alias(params = {})
579
+ # @param [Hash] params ({})
580
+ def delete_alias(params = {}, options = {})
581
+ req = build_request(:delete_alias, params)
582
+ req.send_request(options)
583
+ end
584
+
585
+ # Removes an event source mapping. This means AWS Lambda will no longer
586
+ # invoke the function for events in the associated source.
587
+ #
588
+ # This operation requires permission for the
589
+ # `lambda:DeleteEventSourceMapping` action.
590
+ # @option params [required, String] :uuid
591
+ # The event source mapping ID.
592
+ # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
593
+ #
594
+ # * {Types::EventSourceMappingConfiguration#uuid #UUID} => String
595
+ # * {Types::EventSourceMappingConfiguration#batch_size #BatchSize} => Integer
596
+ # * {Types::EventSourceMappingConfiguration#event_source_arn #EventSourceArn} => String
597
+ # * {Types::EventSourceMappingConfiguration#function_arn #FunctionArn} => String
598
+ # * {Types::EventSourceMappingConfiguration#last_modified #LastModified} => Time
599
+ # * {Types::EventSourceMappingConfiguration#last_processing_result #LastProcessingResult} => String
600
+ # * {Types::EventSourceMappingConfiguration#state #State} => String
601
+ # * {Types::EventSourceMappingConfiguration#state_transition_reason #StateTransitionReason} => String
602
+ #
603
+ # @example Request syntax with placeholder values
604
+ # resp = client.delete_event_source_mapping({
605
+ # uuid: "String", # required
606
+ # })
607
+ #
608
+ # @example Response structure
609
+ # resp.uuid #=> String
610
+ # resp.batch_size #=> Integer
611
+ # resp.event_source_arn #=> String
612
+ # resp.function_arn #=> String
613
+ # resp.last_modified #=> Time
614
+ # resp.last_processing_result #=> String
615
+ # resp.state #=> String
616
+ # resp.state_transition_reason #=> String
617
+ # @overload delete_event_source_mapping(params = {})
618
+ # @param [Hash] params ({})
619
+ def delete_event_source_mapping(params = {}, options = {})
620
+ req = build_request(:delete_event_source_mapping, params)
621
+ req.send_request(options)
622
+ end
623
+
624
+ # Deletes the specified Lambda function code and configuration.
625
+ #
626
+ # If you are using the versioning feature and you don't specify a
627
+ # function version in your `DeleteFunction` request, AWS Lambda will
628
+ # delete the function, including all its versions, and any aliases
629
+ # pointing to the function versions. To delete a specific function
630
+ # version, you must provide the function version via the `Qualifier`
631
+ # parameter. For information about function versioning, see [AWS Lambda
632
+ # Function Versioning and Aliases][1].
633
+ #
634
+ # When you delete a function the associated resource policy is also
635
+ # deleted. You will need to delete the event source mappings explicitly.
636
+ #
637
+ # This operation requires permission for the `lambda:DeleteFunction`
638
+ # action.
639
+ #
640
+ #
641
+ #
642
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
643
+ # @option params [required, String] :function_name
644
+ # The Lambda function to delete.
645
+ #
646
+ # You can specify the function name (for example, `Thumbnail`) or you
647
+ # can specify Amazon Resource Name (ARN) of the function (for example,
648
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you are
649
+ # using versioning, you can also provide a qualified function ARN (ARN
650
+ # that is qualified with function version or alias name as suffix). AWS
651
+ # Lambda also allows you to specify only the function name with the
652
+ # account ID qualifier (for example, `account-id:Thumbnail`). Note that
653
+ # the length constraint applies only to the ARN. If you specify only the
654
+ # function name, it is limited to 64 character in length.
655
+ # @option params [String] :qualifier
656
+ # Using this optional parameter you can specify a function version (but
657
+ # not the `$LATEST` version) to direct AWS Lambda to delete a specific
658
+ # function version. If the function version has one or more aliases
659
+ # pointing to it, you will get an error because you cannot have aliases
660
+ # pointing to it. You can delete any function version but not the
661
+ # `$LATEST`, that is, you cannot specify `$LATEST` as the value of this
662
+ # parameter. The `$LATEST` version can be deleted only when you want to
663
+ # delete all the function versions and aliases.
664
+ #
665
+ # You can only specify a function version, not an alias name, using this
666
+ # parameter. You cannot delete a function version using its alias.
667
+ #
668
+ # If you don't specify this parameter, AWS Lambda will delete the
669
+ # function, including all of its versions and aliases.
670
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
671
+ #
672
+ # @example Request syntax with placeholder values
673
+ # resp = client.delete_function({
674
+ # function_name: "FunctionName", # required
675
+ # qualifier: "Qualifier",
676
+ # })
677
+ # @overload delete_function(params = {})
678
+ # @param [Hash] params ({})
679
+ def delete_function(params = {}, options = {})
680
+ req = build_request(:delete_function, params)
681
+ req.send_request(options)
682
+ end
683
+
684
+ # Returns the specified alias information such as the alias ARN,
685
+ # description, and function version it is pointing to. For more
686
+ # information, see [Introduction to AWS Lambda Aliases][1].
687
+ #
688
+ # This requires permission for the `lambda:GetAlias` action.
689
+ #
690
+ #
691
+ #
692
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html
693
+ # @option params [required, String] :function_name
694
+ # Function name for which the alias is created. An alias is a
695
+ # subresource that exists only in the context of an existing Lambda
696
+ # function so you must specify the function name.
697
+ # @option params [required, String] :name
698
+ # Name of the alias for which you want to retrieve information.
699
+ # @return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
700
+ #
701
+ # * {Types::AliasConfiguration#alias_arn #AliasArn} => String
702
+ # * {Types::AliasConfiguration#name #Name} => String
703
+ # * {Types::AliasConfiguration#function_version #FunctionVersion} => String
704
+ # * {Types::AliasConfiguration#description #Description} => String
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ # resp = client.get_alias({
708
+ # function_name: "FunctionName", # required
709
+ # name: "Alias", # required
710
+ # })
711
+ #
712
+ # @example Response structure
713
+ # resp.alias_arn #=> String
714
+ # resp.name #=> String
715
+ # resp.function_version #=> String
716
+ # resp.description #=> String
717
+ # @overload get_alias(params = {})
718
+ # @param [Hash] params ({})
719
+ def get_alias(params = {}, options = {})
720
+ req = build_request(:get_alias, params)
721
+ req.send_request(options)
722
+ end
723
+
724
+ # Returns configuration information for the specified event source
725
+ # mapping (see CreateEventSourceMapping).
726
+ #
727
+ # This operation requires permission for the
728
+ # `lambda:GetEventSourceMapping` action.
729
+ # @option params [required, String] :uuid
730
+ # The AWS Lambda assigned ID of the event source mapping.
731
+ # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
732
+ #
733
+ # * {Types::EventSourceMappingConfiguration#uuid #UUID} => String
734
+ # * {Types::EventSourceMappingConfiguration#batch_size #BatchSize} => Integer
735
+ # * {Types::EventSourceMappingConfiguration#event_source_arn #EventSourceArn} => String
736
+ # * {Types::EventSourceMappingConfiguration#function_arn #FunctionArn} => String
737
+ # * {Types::EventSourceMappingConfiguration#last_modified #LastModified} => Time
738
+ # * {Types::EventSourceMappingConfiguration#last_processing_result #LastProcessingResult} => String
739
+ # * {Types::EventSourceMappingConfiguration#state #State} => String
740
+ # * {Types::EventSourceMappingConfiguration#state_transition_reason #StateTransitionReason} => String
741
+ #
742
+ # @example Request syntax with placeholder values
743
+ # resp = client.get_event_source_mapping({
744
+ # uuid: "String", # required
745
+ # })
746
+ #
747
+ # @example Response structure
748
+ # resp.uuid #=> String
749
+ # resp.batch_size #=> Integer
750
+ # resp.event_source_arn #=> String
751
+ # resp.function_arn #=> String
752
+ # resp.last_modified #=> Time
753
+ # resp.last_processing_result #=> String
754
+ # resp.state #=> String
755
+ # resp.state_transition_reason #=> String
756
+ # @overload get_event_source_mapping(params = {})
757
+ # @param [Hash] params ({})
758
+ def get_event_source_mapping(params = {}, options = {})
759
+ req = build_request(:get_event_source_mapping, params)
760
+ req.send_request(options)
761
+ end
762
+
763
+ # Returns the configuration information of the Lambda function and a
764
+ # presigned URL link to the .zip file you uploaded with CreateFunction
765
+ # so you can download the .zip file. Note that the URL is valid for up
766
+ # to 10 minutes. The configuration information is the same information
767
+ # you provided as parameters when uploading the function.
768
+ #
769
+ # Using the optional `Qualifier` parameter, you can specify a specific
770
+ # function version for which you want this information. If you don't
771
+ # specify this parameter, the API uses unqualified function ARN which
772
+ # return information about the `$LATEST` version of the Lambda function.
773
+ # For more information, see [AWS Lambda Function Versioning and
774
+ # Aliases][1].
775
+ #
776
+ # This operation requires permission for the `lambda:GetFunction`
777
+ # action.
778
+ #
779
+ #
780
+ #
781
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
782
+ # @option params [required, String] :function_name
783
+ # The Lambda function name.
784
+ #
785
+ # You can specify a function name (for example, `Thumbnail`) or you can
786
+ # specify Amazon Resource Name (ARN) of the function (for example,
787
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
788
+ # also allows you to specify a partial ARN (for example,
789
+ # `account-id:Thumbnail`). Note that the length constraint applies only
790
+ # to the ARN. If you specify only the function name, it is limited to 64
791
+ # character in length.
792
+ # @option params [String] :qualifier
793
+ # Using this optional parameter to specify a function version or an
794
+ # alias name. If you specify function version, the API uses qualified
795
+ # function ARN for the request and returns information about the
796
+ # specific Lambda function version. If you specify an alias name, the
797
+ # API uses the alias ARN and returns information about the function
798
+ # version to which the alias points. If you don't provide this
799
+ # parameter, the API uses unqualified function ARN and returns
800
+ # information about the `$LATEST` version of the Lambda function.
801
+ # @return [Types::GetFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
802
+ #
803
+ # * {Types::GetFunctionResponse#configuration #Configuration} => Types::FunctionConfiguration
804
+ # * {Types::GetFunctionResponse#code #Code} => Types::FunctionCodeLocation
805
+ #
806
+ # @example Request syntax with placeholder values
807
+ # resp = client.get_function({
808
+ # function_name: "FunctionName", # required
809
+ # qualifier: "Qualifier",
810
+ # })
811
+ #
812
+ # @example Response structure
813
+ # resp.configuration.function_name #=> String
814
+ # resp.configuration.function_arn #=> String
815
+ # resp.configuration.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
816
+ # resp.configuration.role #=> String
817
+ # resp.configuration.handler #=> String
818
+ # resp.configuration.code_size #=> Integer
819
+ # resp.configuration.description #=> String
820
+ # resp.configuration.timeout #=> Integer
821
+ # resp.configuration.memory_size #=> Integer
822
+ # resp.configuration.last_modified #=> Time
823
+ # resp.configuration.code_sha_256 #=> String
824
+ # resp.configuration.version #=> String
825
+ # resp.configuration.vpc_config.subnet_ids #=> Array
826
+ # resp.configuration.vpc_config.subnet_ids[0] #=> String
827
+ # resp.configuration.vpc_config.security_group_ids #=> Array
828
+ # resp.configuration.vpc_config.security_group_ids[0] #=> String
829
+ # resp.configuration.vpc_config.vpc_id #=> String
830
+ # resp.configuration.environment.variables #=> Hash
831
+ # resp.configuration.environment.variables["EnvironmentVariableName"] #=> String
832
+ # resp.configuration.environment.error.error_code #=> String
833
+ # resp.configuration.environment.error.message #=> String
834
+ # resp.configuration.kms_key_arn #=> String
835
+ # resp.code.repository_type #=> String
836
+ # resp.code.location #=> String
837
+ # @overload get_function(params = {})
838
+ # @param [Hash] params ({})
839
+ def get_function(params = {}, options = {})
840
+ req = build_request(:get_function, params)
841
+ req.send_request(options)
842
+ end
843
+
844
+ # Returns the configuration information of the Lambda function. This the
845
+ # same information you provided as parameters when uploading the
846
+ # function by using CreateFunction.
847
+ #
848
+ # If you are using the versioning feature, you can retrieve this
849
+ # information for a specific function version by using the optional
850
+ # `Qualifier` parameter and specifying the function version or alias
851
+ # that points to it. If you don't provide it, the API returns
852
+ # information about the $LATEST version of the function. For more
853
+ # information about versioning, see [AWS Lambda Function Versioning and
854
+ # Aliases][1].
855
+ #
856
+ # This operation requires permission for the
857
+ # `lambda:GetFunctionConfiguration` operation.
858
+ #
859
+ #
860
+ #
861
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
862
+ # @option params [required, String] :function_name
863
+ # The name of the Lambda function for which you want to retrieve the
864
+ # configuration information.
865
+ #
866
+ # You can specify a function name (for example, `Thumbnail`) or you can
867
+ # specify Amazon Resource Name (ARN) of the function (for example,
868
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
869
+ # also allows you to specify a partial ARN (for example,
870
+ # `account-id:Thumbnail`). Note that the length constraint applies only
871
+ # to the ARN. If you specify only the function name, it is limited to 64
872
+ # character in length.
873
+ # @option params [String] :qualifier
874
+ # Using this optional parameter you can specify a function version or an
875
+ # alias name. If you specify function version, the API uses qualified
876
+ # function ARN and returns information about the specific function
877
+ # version. If you specify an alias name, the API uses the alias ARN and
878
+ # returns information about the function version to which the alias
879
+ # points.
880
+ #
881
+ # If you don't specify this parameter, the API uses unqualified
882
+ # function ARN, and returns information about the `$LATEST` function
883
+ # version.
884
+ # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
885
+ #
886
+ # * {Types::FunctionConfiguration#function_name #FunctionName} => String
887
+ # * {Types::FunctionConfiguration#function_arn #FunctionArn} => String
888
+ # * {Types::FunctionConfiguration#runtime #Runtime} => String
889
+ # * {Types::FunctionConfiguration#role #Role} => String
890
+ # * {Types::FunctionConfiguration#handler #Handler} => String
891
+ # * {Types::FunctionConfiguration#code_size #CodeSize} => Integer
892
+ # * {Types::FunctionConfiguration#description #Description} => String
893
+ # * {Types::FunctionConfiguration#timeout #Timeout} => Integer
894
+ # * {Types::FunctionConfiguration#memory_size #MemorySize} => Integer
895
+ # * {Types::FunctionConfiguration#last_modified #LastModified} => Time
896
+ # * {Types::FunctionConfiguration#code_sha_256 #CodeSha256} => String
897
+ # * {Types::FunctionConfiguration#version #Version} => String
898
+ # * {Types::FunctionConfiguration#vpc_config #VpcConfig} => Types::VpcConfigResponse
899
+ # * {Types::FunctionConfiguration#environment #Environment} => Types::EnvironmentResponse
900
+ # * {Types::FunctionConfiguration#kms_key_arn #KMSKeyArn} => String
901
+ #
902
+ # @example Request syntax with placeholder values
903
+ # resp = client.get_function_configuration({
904
+ # function_name: "FunctionName", # required
905
+ # qualifier: "Qualifier",
906
+ # })
907
+ #
908
+ # @example Response structure
909
+ # resp.function_name #=> String
910
+ # resp.function_arn #=> String
911
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
912
+ # resp.role #=> String
913
+ # resp.handler #=> String
914
+ # resp.code_size #=> Integer
915
+ # resp.description #=> String
916
+ # resp.timeout #=> Integer
917
+ # resp.memory_size #=> Integer
918
+ # resp.last_modified #=> Time
919
+ # resp.code_sha_256 #=> String
920
+ # resp.version #=> String
921
+ # resp.vpc_config.subnet_ids #=> Array
922
+ # resp.vpc_config.subnet_ids[0] #=> String
923
+ # resp.vpc_config.security_group_ids #=> Array
924
+ # resp.vpc_config.security_group_ids[0] #=> String
925
+ # resp.vpc_config.vpc_id #=> String
926
+ # resp.environment.variables #=> Hash
927
+ # resp.environment.variables["EnvironmentVariableName"] #=> String
928
+ # resp.environment.error.error_code #=> String
929
+ # resp.environment.error.message #=> String
930
+ # resp.kms_key_arn #=> String
931
+ # @overload get_function_configuration(params = {})
932
+ # @param [Hash] params ({})
933
+ def get_function_configuration(params = {}, options = {})
934
+ req = build_request(:get_function_configuration, params)
935
+ req.send_request(options)
936
+ end
937
+
938
+ # Returns the resource policy associated with the specified Lambda
939
+ # function.
940
+ #
941
+ # If you are using the versioning feature, you can get the resource
942
+ # policy associated with the specific Lambda function version or alias
943
+ # by specifying the version or alias name using the `Qualifier`
944
+ # parameter. For more information about versioning, see [AWS Lambda
945
+ # Function Versioning and Aliases][1].
946
+ #
947
+ # For information about adding permissions, see AddPermission.
948
+ #
949
+ # You need permission for the `lambda:GetPolicy action.`
950
+ #
951
+ #
952
+ #
953
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
954
+ # @option params [required, String] :function_name
955
+ # Function name whose resource policy you want to retrieve.
956
+ #
957
+ # You can specify the function name (for example, `Thumbnail`) or you
958
+ # can specify Amazon Resource Name (ARN) of the function (for example,
959
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you are
960
+ # using versioning, you can also provide a qualified function ARN (ARN
961
+ # that is qualified with function version or alias name as suffix). AWS
962
+ # Lambda also allows you to specify only the function name with the
963
+ # account ID qualifier (for example, `account-id:Thumbnail`). Note that
964
+ # the length constraint applies only to the ARN. If you specify only the
965
+ # function name, it is limited to 64 character in length.
966
+ # @option params [String] :qualifier
967
+ # You can specify this optional query parameter to specify a function
968
+ # version or an alias name in which case this API will return all
969
+ # permissions associated with the specific qualified ARN. If you don't
970
+ # provide this parameter, the API will return permissions that apply to
971
+ # the unqualified function ARN.
972
+ # @return [Types::GetPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
973
+ #
974
+ # * {Types::GetPolicyResponse#policy #Policy} => String
975
+ #
976
+ # @example Request syntax with placeholder values
977
+ # resp = client.get_policy({
978
+ # function_name: "FunctionName", # required
979
+ # qualifier: "Qualifier",
980
+ # })
981
+ #
982
+ # @example Response structure
983
+ # resp.policy #=> String
984
+ # @overload get_policy(params = {})
985
+ # @param [Hash] params ({})
986
+ def get_policy(params = {}, options = {})
987
+ req = build_request(:get_policy, params)
988
+ req.send_request(options)
989
+ end
990
+
991
+ # Invokes a specific Lambda function. For an example, see [Create the
992
+ # Lambda Function and Test It Manually][1].
993
+ #
994
+ # If you are using the versioning feature, you can invoke the specific
995
+ # function version by providing function version or alias name that is
996
+ # pointing to the function version using the `Qualifier` parameter in
997
+ # the request. If you don't provide the `Qualifier` parameter, the
998
+ # `$LATEST` version of the Lambda function is invoked. Invocations occur
999
+ # at least once in response to an event and functions must be idempotent
1000
+ # to handle this. For information about the versioning feature, see [AWS
1001
+ # Lambda Function Versioning and Aliases][2].
1002
+ #
1003
+ # This operation requires permission for the `lambda:InvokeFunction`
1004
+ # action.
1005
+ #
1006
+ #
1007
+ #
1008
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually
1009
+ # [2]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1010
+ # @option params [required, String] :function_name
1011
+ # The Lambda function name.
1012
+ #
1013
+ # You can specify a function name (for example, `Thumbnail`) or you can
1014
+ # specify Amazon Resource Name (ARN) of the function (for example,
1015
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1016
+ # also allows you to specify a partial ARN (for example,
1017
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1018
+ # to the ARN. If you specify only the function name, it is limited to 64
1019
+ # character in length.
1020
+ # @option params [String] :invocation_type
1021
+ # By default, the `Invoke` API assumes `RequestResponse` invocation
1022
+ # type. You can optionally request asynchronous execution by specifying
1023
+ # `Event` as the `InvocationType`. You can also use this parameter to
1024
+ # request AWS Lambda to not execute the function but do some
1025
+ # verification, such as if the caller is authorized to invoke the
1026
+ # function and if the inputs are valid. You request this by specifying
1027
+ # `DryRun` as the `InvocationType`. This is useful in a cross-account
1028
+ # scenario when you want to verify access to a function without running
1029
+ # it.
1030
+ # @option params [String] :log_type
1031
+ # You can set this optional parameter to `Tail` in the request only if
1032
+ # you specify the `InvocationType` parameter with value
1033
+ # `RequestResponse`. In this case, AWS Lambda returns the base64-encoded
1034
+ # last 4 KB of log data produced by your Lambda function in the
1035
+ # `x-amz-log-result` header.
1036
+ # @option params [String] :client_context
1037
+ # Using the `ClientContext` you can pass client-specific information to
1038
+ # the Lambda function you are invoking. You can then process the client
1039
+ # information in your Lambda function as you choose through the context
1040
+ # variable. For an example of a `ClientContext` JSON, see [PutEvents][1]
1041
+ # in the *Amazon Mobile Analytics API Reference and User Guide*.
1042
+ #
1043
+ # The ClientContext JSON must be base64-encoded.
1044
+ #
1045
+ #
1046
+ #
1047
+ # [1]: http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html
1048
+ # @option params [String, IO] :payload
1049
+ # JSON that you want to provide to your Lambda function as input.
1050
+ # @option params [String] :qualifier
1051
+ # You can use this optional parameter to specify a Lambda function
1052
+ # version or alias name. If you specify a function version, the API uses
1053
+ # the qualified function ARN to invoke a specific Lambda function. If
1054
+ # you specify an alias name, the API uses the alias ARN to invoke the
1055
+ # Lambda function version to which the alias points.
1056
+ #
1057
+ # If you don't provide this parameter, then the API uses unqualified
1058
+ # function ARN which results in invocation of the `$LATEST` version.
1059
+ # @return [Types::InvocationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1060
+ #
1061
+ # * {Types::InvocationResponse#status_code #StatusCode} => Integer
1062
+ # * {Types::InvocationResponse#function_error #FunctionError} => String
1063
+ # * {Types::InvocationResponse#log_result #LogResult} => String
1064
+ # * {Types::InvocationResponse#payload #Payload} => String
1065
+ #
1066
+ # @example Request syntax with placeholder values
1067
+ # resp = client.invoke({
1068
+ # function_name: "FunctionName", # required
1069
+ # invocation_type: "Event", # accepts Event, RequestResponse, DryRun
1070
+ # log_type: "None", # accepts None, Tail
1071
+ # client_context: "String",
1072
+ # payload: "data",
1073
+ # qualifier: "Qualifier",
1074
+ # })
1075
+ #
1076
+ # @example Response structure
1077
+ # resp.status_code #=> Integer
1078
+ # resp.function_error #=> String
1079
+ # resp.log_result #=> String
1080
+ # resp.payload #=> String
1081
+ # @overload invoke(params = {})
1082
+ # @param [Hash] params ({})
1083
+ def invoke(params = {}, options = {})
1084
+ req = build_request(:invoke, params)
1085
+ req.send_request(options)
1086
+ end
1087
+
1088
+ # This API is deprecated. We recommend you use `Invoke` API (see
1089
+ # Invoke).
1090
+ #
1091
+ # Submits an invocation request to AWS Lambda. Upon receiving the
1092
+ # request, Lambda executes the specified function asynchronously. To see
1093
+ # the logs generated by the Lambda function execution, see the
1094
+ # CloudWatch Logs console.
1095
+ #
1096
+ # This operation requires permission for the `lambda:InvokeFunction`
1097
+ # action.
1098
+ # @option params [required, String] :function_name
1099
+ # The Lambda function name.
1100
+ # @option params [required, String, IO] :invoke_args
1101
+ # JSON that you want to provide to your Lambda function as input.
1102
+ # @return [Types::InvokeAsyncResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1103
+ #
1104
+ # * {Types::InvokeAsyncResponse#status #Status} => Integer
1105
+ #
1106
+ # @example Request syntax with placeholder values
1107
+ # resp = client.invoke_async({
1108
+ # function_name: "FunctionName", # required
1109
+ # invoke_args: "data", # required
1110
+ # })
1111
+ #
1112
+ # @example Response structure
1113
+ # resp.status #=> Integer
1114
+ # @overload invoke_async(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def invoke_async(params = {}, options = {})
1117
+ req = build_request(:invoke_async, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
1121
+ # Returns list of aliases created for a Lambda function. For each alias,
1122
+ # the response includes information such as the alias ARN, description,
1123
+ # alias name, and the function version to which it points. For more
1124
+ # information, see [Introduction to AWS Lambda Aliases][1].
1125
+ #
1126
+ # This requires permission for the lambda:ListAliases action.
1127
+ #
1128
+ #
1129
+ #
1130
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html
1131
+ # @option params [required, String] :function_name
1132
+ # Lambda function name for which the alias is created.
1133
+ # @option params [String] :function_version
1134
+ # If you specify this optional parameter, the API returns only the
1135
+ # aliases that are pointing to the specific Lambda function version,
1136
+ # otherwise the API returns all of the aliases created for the Lambda
1137
+ # function.
1138
+ # @option params [String] :marker
1139
+ # Optional string. An opaque pagination token returned from a previous
1140
+ # `ListAliases` operation. If present, indicates where to continue the
1141
+ # listing.
1142
+ # @option params [Integer] :max_items
1143
+ # Optional integer. Specifies the maximum number of aliases to return in
1144
+ # response. This parameter value must be greater than 0.
1145
+ # @return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1146
+ #
1147
+ # * {Types::ListAliasesResponse#next_marker #NextMarker} => String
1148
+ # * {Types::ListAliasesResponse#aliases #Aliases} => Array&lt;Types::AliasConfiguration&gt;
1149
+ #
1150
+ # @example Request syntax with placeholder values
1151
+ # resp = client.list_aliases({
1152
+ # function_name: "FunctionName", # required
1153
+ # function_version: "Version",
1154
+ # marker: "String",
1155
+ # max_items: 1,
1156
+ # })
1157
+ #
1158
+ # @example Response structure
1159
+ # resp.next_marker #=> String
1160
+ # resp.aliases #=> Array
1161
+ # resp.aliases[0].alias_arn #=> String
1162
+ # resp.aliases[0].name #=> String
1163
+ # resp.aliases[0].function_version #=> String
1164
+ # resp.aliases[0].description #=> String
1165
+ # @overload list_aliases(params = {})
1166
+ # @param [Hash] params ({})
1167
+ def list_aliases(params = {}, options = {})
1168
+ req = build_request(:list_aliases, params)
1169
+ req.send_request(options)
1170
+ end
1171
+
1172
+ # Returns a list of event source mappings you created using the
1173
+ # `CreateEventSourceMapping` (see CreateEventSourceMapping).
1174
+ #
1175
+ # For each mapping, the API returns configuration information. You can
1176
+ # optionally specify filters to retrieve specific event source mappings.
1177
+ #
1178
+ # If you are using the versioning feature, you can get list of event
1179
+ # source mappings for a specific Lambda function version or an alias as
1180
+ # described in the `FunctionName` parameter. For information about the
1181
+ # versioning feature, see [AWS Lambda Function Versioning and
1182
+ # Aliases][1].
1183
+ #
1184
+ # This operation requires permission for the
1185
+ # `lambda:ListEventSourceMappings` action.
1186
+ #
1187
+ #
1188
+ #
1189
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1190
+ # @option params [String] :event_source_arn
1191
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This
1192
+ # parameter is optional.)
1193
+ # @option params [String] :function_name
1194
+ # The name of the Lambda function.
1195
+ #
1196
+ # You can specify the function name (for example, `Thumbnail`) or you
1197
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1198
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you are
1199
+ # using versioning, you can also provide a qualified function ARN (ARN
1200
+ # that is qualified with function version or alias name as suffix). AWS
1201
+ # Lambda also allows you to specify only the function name with the
1202
+ # account ID qualifier (for example, `account-id:Thumbnail`). Note that
1203
+ # the length constraint applies only to the ARN. If you specify only the
1204
+ # function name, it is limited to 64 character in length.
1205
+ # @option params [String] :marker
1206
+ # Optional string. An opaque pagination token returned from a previous
1207
+ # `ListEventSourceMappings` operation. If present, specifies to continue
1208
+ # the list from where the returning call left off.
1209
+ # @option params [Integer] :max_items
1210
+ # Optional integer. Specifies the maximum number of event sources to
1211
+ # return in response. This value must be greater than 0.
1212
+ # @return [Types::ListEventSourceMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1213
+ #
1214
+ # * {Types::ListEventSourceMappingsResponse#next_marker #NextMarker} => String
1215
+ # * {Types::ListEventSourceMappingsResponse#event_source_mappings #EventSourceMappings} => Array&lt;Types::EventSourceMappingConfiguration&gt;
1216
+ #
1217
+ # @example Request syntax with placeholder values
1218
+ # resp = client.list_event_source_mappings({
1219
+ # event_source_arn: "Arn",
1220
+ # function_name: "FunctionName",
1221
+ # marker: "String",
1222
+ # max_items: 1,
1223
+ # })
1224
+ #
1225
+ # @example Response structure
1226
+ # resp.next_marker #=> String
1227
+ # resp.event_source_mappings #=> Array
1228
+ # resp.event_source_mappings[0].uuid #=> String
1229
+ # resp.event_source_mappings[0].batch_size #=> Integer
1230
+ # resp.event_source_mappings[0].event_source_arn #=> String
1231
+ # resp.event_source_mappings[0].function_arn #=> String
1232
+ # resp.event_source_mappings[0].last_modified #=> Time
1233
+ # resp.event_source_mappings[0].last_processing_result #=> String
1234
+ # resp.event_source_mappings[0].state #=> String
1235
+ # resp.event_source_mappings[0].state_transition_reason #=> String
1236
+ # @overload list_event_source_mappings(params = {})
1237
+ # @param [Hash] params ({})
1238
+ def list_event_source_mappings(params = {}, options = {})
1239
+ req = build_request(:list_event_source_mappings, params)
1240
+ req.send_request(options)
1241
+ end
1242
+
1243
+ # Returns a list of your Lambda functions. For each function, the
1244
+ # response includes the function configuration information. You must use
1245
+ # GetFunction to retrieve the code for your function.
1246
+ #
1247
+ # This operation requires permission for the `lambda:ListFunctions`
1248
+ # action.
1249
+ #
1250
+ # If you are using versioning feature, the response returns list of
1251
+ # $LATEST versions of your functions. For information about the
1252
+ # versioning feature, see [AWS Lambda Function Versioning and
1253
+ # Aliases][1].
1254
+ #
1255
+ #
1256
+ #
1257
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1258
+ # @option params [String] :marker
1259
+ # Optional string. An opaque pagination token returned from a previous
1260
+ # `ListFunctions` operation. If present, indicates where to continue the
1261
+ # listing.
1262
+ # @option params [Integer] :max_items
1263
+ # Optional integer. Specifies the maximum number of AWS Lambda functions
1264
+ # to return in response. This parameter value must be greater than 0.
1265
+ # @return [Types::ListFunctionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1266
+ #
1267
+ # * {Types::ListFunctionsResponse#next_marker #NextMarker} => String
1268
+ # * {Types::ListFunctionsResponse#functions #Functions} => Array&lt;Types::FunctionConfiguration&gt;
1269
+ #
1270
+ # @example Request syntax with placeholder values
1271
+ # resp = client.list_functions({
1272
+ # marker: "String",
1273
+ # max_items: 1,
1274
+ # })
1275
+ #
1276
+ # @example Response structure
1277
+ # resp.next_marker #=> String
1278
+ # resp.functions #=> Array
1279
+ # resp.functions[0].function_name #=> String
1280
+ # resp.functions[0].function_arn #=> String
1281
+ # resp.functions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
1282
+ # resp.functions[0].role #=> String
1283
+ # resp.functions[0].handler #=> String
1284
+ # resp.functions[0].code_size #=> Integer
1285
+ # resp.functions[0].description #=> String
1286
+ # resp.functions[0].timeout #=> Integer
1287
+ # resp.functions[0].memory_size #=> Integer
1288
+ # resp.functions[0].last_modified #=> Time
1289
+ # resp.functions[0].code_sha_256 #=> String
1290
+ # resp.functions[0].version #=> String
1291
+ # resp.functions[0].vpc_config.subnet_ids #=> Array
1292
+ # resp.functions[0].vpc_config.subnet_ids[0] #=> String
1293
+ # resp.functions[0].vpc_config.security_group_ids #=> Array
1294
+ # resp.functions[0].vpc_config.security_group_ids[0] #=> String
1295
+ # resp.functions[0].vpc_config.vpc_id #=> String
1296
+ # resp.functions[0].environment.variables #=> Hash
1297
+ # resp.functions[0].environment.variables["EnvironmentVariableName"] #=> String
1298
+ # resp.functions[0].environment.error.error_code #=> String
1299
+ # resp.functions[0].environment.error.message #=> String
1300
+ # resp.functions[0].kms_key_arn #=> String
1301
+ # @overload list_functions(params = {})
1302
+ # @param [Hash] params ({})
1303
+ def list_functions(params = {}, options = {})
1304
+ req = build_request(:list_functions, params)
1305
+ req.send_request(options)
1306
+ end
1307
+
1308
+ # List all versions of a function. For information about the versioning
1309
+ # feature, see [AWS Lambda Function Versioning and Aliases][1].
1310
+ #
1311
+ #
1312
+ #
1313
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1314
+ # @option params [required, String] :function_name
1315
+ # Function name whose versions to list. You can specify a function name
1316
+ # (for example, `Thumbnail`) or you can specify Amazon Resource Name
1317
+ # (ARN) of the function (for example,
1318
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1319
+ # also allows you to specify a partial ARN (for example,
1320
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1321
+ # to the ARN. If you specify only the function name, it is limited to 64
1322
+ # character in length.
1323
+ # @option params [String] :marker
1324
+ # Optional string. An opaque pagination token returned from a previous
1325
+ # `ListVersionsByFunction` operation. If present, indicates where to
1326
+ # continue the listing.
1327
+ # @option params [Integer] :max_items
1328
+ # Optional integer. Specifies the maximum number of AWS Lambda function
1329
+ # versions to return in response. This parameter value must be greater
1330
+ # than 0.
1331
+ # @return [Types::ListVersionsByFunctionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1332
+ #
1333
+ # * {Types::ListVersionsByFunctionResponse#next_marker #NextMarker} => String
1334
+ # * {Types::ListVersionsByFunctionResponse#versions #Versions} => Array&lt;Types::FunctionConfiguration&gt;
1335
+ #
1336
+ # @example Request syntax with placeholder values
1337
+ # resp = client.list_versions_by_function({
1338
+ # function_name: "FunctionName", # required
1339
+ # marker: "String",
1340
+ # max_items: 1,
1341
+ # })
1342
+ #
1343
+ # @example Response structure
1344
+ # resp.next_marker #=> String
1345
+ # resp.versions #=> Array
1346
+ # resp.versions[0].function_name #=> String
1347
+ # resp.versions[0].function_arn #=> String
1348
+ # resp.versions[0].runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
1349
+ # resp.versions[0].role #=> String
1350
+ # resp.versions[0].handler #=> String
1351
+ # resp.versions[0].code_size #=> Integer
1352
+ # resp.versions[0].description #=> String
1353
+ # resp.versions[0].timeout #=> Integer
1354
+ # resp.versions[0].memory_size #=> Integer
1355
+ # resp.versions[0].last_modified #=> Time
1356
+ # resp.versions[0].code_sha_256 #=> String
1357
+ # resp.versions[0].version #=> String
1358
+ # resp.versions[0].vpc_config.subnet_ids #=> Array
1359
+ # resp.versions[0].vpc_config.subnet_ids[0] #=> String
1360
+ # resp.versions[0].vpc_config.security_group_ids #=> Array
1361
+ # resp.versions[0].vpc_config.security_group_ids[0] #=> String
1362
+ # resp.versions[0].vpc_config.vpc_id #=> String
1363
+ # resp.versions[0].environment.variables #=> Hash
1364
+ # resp.versions[0].environment.variables["EnvironmentVariableName"] #=> String
1365
+ # resp.versions[0].environment.error.error_code #=> String
1366
+ # resp.versions[0].environment.error.message #=> String
1367
+ # resp.versions[0].kms_key_arn #=> String
1368
+ # @overload list_versions_by_function(params = {})
1369
+ # @param [Hash] params ({})
1370
+ def list_versions_by_function(params = {}, options = {})
1371
+ req = build_request(:list_versions_by_function, params)
1372
+ req.send_request(options)
1373
+ end
1374
+
1375
+ # Publishes a version of your function from the current snapshot of
1376
+ # $LATEST. That is, AWS Lambda takes a snapshot of the function code and
1377
+ # configuration information from $LATEST and publishes a new version.
1378
+ # The code and configuration cannot be modified after publication. For
1379
+ # information about the versioning feature, see [AWS Lambda Function
1380
+ # Versioning and Aliases][1].
1381
+ #
1382
+ #
1383
+ #
1384
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1385
+ # @option params [required, String] :function_name
1386
+ # The Lambda function name. You can specify a function name (for
1387
+ # example, `Thumbnail`) or you can specify Amazon Resource Name (ARN) of
1388
+ # the function (for example,
1389
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1390
+ # also allows you to specify a partial ARN (for example,
1391
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1392
+ # to the ARN. If you specify only the function name, it is limited to 64
1393
+ # character in length.
1394
+ # @option params [String] :code_sha_256
1395
+ # The SHA256 hash of the deployment package you want to publish. This
1396
+ # provides validation on the code you are publishing. If you provide
1397
+ # this parameter value must match the SHA256 of the $LATEST version for
1398
+ # the publication to succeed.
1399
+ # @option params [String] :description
1400
+ # The description for the version you are publishing. If not provided,
1401
+ # AWS Lambda copies the description from the $LATEST version.
1402
+ # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1403
+ #
1404
+ # * {Types::FunctionConfiguration#function_name #FunctionName} => String
1405
+ # * {Types::FunctionConfiguration#function_arn #FunctionArn} => String
1406
+ # * {Types::FunctionConfiguration#runtime #Runtime} => String
1407
+ # * {Types::FunctionConfiguration#role #Role} => String
1408
+ # * {Types::FunctionConfiguration#handler #Handler} => String
1409
+ # * {Types::FunctionConfiguration#code_size #CodeSize} => Integer
1410
+ # * {Types::FunctionConfiguration#description #Description} => String
1411
+ # * {Types::FunctionConfiguration#timeout #Timeout} => Integer
1412
+ # * {Types::FunctionConfiguration#memory_size #MemorySize} => Integer
1413
+ # * {Types::FunctionConfiguration#last_modified #LastModified} => Time
1414
+ # * {Types::FunctionConfiguration#code_sha_256 #CodeSha256} => String
1415
+ # * {Types::FunctionConfiguration#version #Version} => String
1416
+ # * {Types::FunctionConfiguration#vpc_config #VpcConfig} => Types::VpcConfigResponse
1417
+ # * {Types::FunctionConfiguration#environment #Environment} => Types::EnvironmentResponse
1418
+ # * {Types::FunctionConfiguration#kms_key_arn #KMSKeyArn} => String
1419
+ #
1420
+ # @example Request syntax with placeholder values
1421
+ # resp = client.publish_version({
1422
+ # function_name: "FunctionName", # required
1423
+ # code_sha_256: "String",
1424
+ # description: "Description",
1425
+ # })
1426
+ #
1427
+ # @example Response structure
1428
+ # resp.function_name #=> String
1429
+ # resp.function_arn #=> String
1430
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
1431
+ # resp.role #=> String
1432
+ # resp.handler #=> String
1433
+ # resp.code_size #=> Integer
1434
+ # resp.description #=> String
1435
+ # resp.timeout #=> Integer
1436
+ # resp.memory_size #=> Integer
1437
+ # resp.last_modified #=> Time
1438
+ # resp.code_sha_256 #=> String
1439
+ # resp.version #=> String
1440
+ # resp.vpc_config.subnet_ids #=> Array
1441
+ # resp.vpc_config.subnet_ids[0] #=> String
1442
+ # resp.vpc_config.security_group_ids #=> Array
1443
+ # resp.vpc_config.security_group_ids[0] #=> String
1444
+ # resp.vpc_config.vpc_id #=> String
1445
+ # resp.environment.variables #=> Hash
1446
+ # resp.environment.variables["EnvironmentVariableName"] #=> String
1447
+ # resp.environment.error.error_code #=> String
1448
+ # resp.environment.error.message #=> String
1449
+ # resp.kms_key_arn #=> String
1450
+ # @overload publish_version(params = {})
1451
+ # @param [Hash] params ({})
1452
+ def publish_version(params = {}, options = {})
1453
+ req = build_request(:publish_version, params)
1454
+ req.send_request(options)
1455
+ end
1456
+
1457
+ # You can remove individual permissions from an resource policy
1458
+ # associated with a Lambda function by providing a statement ID that you
1459
+ # provided when you added the permission.
1460
+ #
1461
+ # If you are using versioning, the permissions you remove are specific
1462
+ # to the Lambda function version or alias you specify in the
1463
+ # `AddPermission` request via the `Qualifier` parameter. For more
1464
+ # information about versioning, see [AWS Lambda Function Versioning and
1465
+ # Aliases][1].
1466
+ #
1467
+ # Note that removal of a permission will cause an active event source to
1468
+ # lose permission to the function.
1469
+ #
1470
+ # You need permission for the `lambda:RemovePermission` action.
1471
+ #
1472
+ #
1473
+ #
1474
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1475
+ # @option params [required, String] :function_name
1476
+ # Lambda function whose resource policy you want to remove a permission
1477
+ # from.
1478
+ #
1479
+ # You can specify a function name (for example, `Thumbnail`) or you can
1480
+ # specify Amazon Resource Name (ARN) of the function (for example,
1481
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1482
+ # also allows you to specify a partial ARN (for example,
1483
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1484
+ # to the ARN. If you specify only the function name, it is limited to 64
1485
+ # character in length.
1486
+ # @option params [required, String] :statement_id
1487
+ # Statement ID of the permission to remove.
1488
+ # @option params [String] :qualifier
1489
+ # You can specify this optional parameter to remove permission
1490
+ # associated with a specific function version or function alias. If you
1491
+ # don't specify this parameter, the API removes permission associated
1492
+ # with the unqualified function ARN.
1493
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1494
+ #
1495
+ # @example Request syntax with placeholder values
1496
+ # resp = client.remove_permission({
1497
+ # function_name: "FunctionName", # required
1498
+ # statement_id: "StatementId", # required
1499
+ # qualifier: "Qualifier",
1500
+ # })
1501
+ # @overload remove_permission(params = {})
1502
+ # @param [Hash] params ({})
1503
+ def remove_permission(params = {}, options = {})
1504
+ req = build_request(:remove_permission, params)
1505
+ req.send_request(options)
1506
+ end
1507
+
1508
+ # Using this API you can update the function version to which the alias
1509
+ # points and the alias description. For more information, see
1510
+ # [Introduction to AWS Lambda Aliases][1].
1511
+ #
1512
+ # This requires permission for the lambda:UpdateAlias action.
1513
+ #
1514
+ #
1515
+ #
1516
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html
1517
+ # @option params [required, String] :function_name
1518
+ # The function name for which the alias is created.
1519
+ # @option params [required, String] :name
1520
+ # The alias name.
1521
+ # @option params [String] :function_version
1522
+ # Using this parameter you can change the Lambda function version to
1523
+ # which the alias points.
1524
+ # @option params [String] :description
1525
+ # You can change the description of the alias using this parameter.
1526
+ # @return [Types::AliasConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1527
+ #
1528
+ # * {Types::AliasConfiguration#alias_arn #AliasArn} => String
1529
+ # * {Types::AliasConfiguration#name #Name} => String
1530
+ # * {Types::AliasConfiguration#function_version #FunctionVersion} => String
1531
+ # * {Types::AliasConfiguration#description #Description} => String
1532
+ #
1533
+ # @example Request syntax with placeholder values
1534
+ # resp = client.update_alias({
1535
+ # function_name: "FunctionName", # required
1536
+ # name: "Alias", # required
1537
+ # function_version: "Version",
1538
+ # description: "Description",
1539
+ # })
1540
+ #
1541
+ # @example Response structure
1542
+ # resp.alias_arn #=> String
1543
+ # resp.name #=> String
1544
+ # resp.function_version #=> String
1545
+ # resp.description #=> String
1546
+ # @overload update_alias(params = {})
1547
+ # @param [Hash] params ({})
1548
+ def update_alias(params = {}, options = {})
1549
+ req = build_request(:update_alias, params)
1550
+ req.send_request(options)
1551
+ end
1552
+
1553
+ # You can update an event source mapping. This is useful if you want to
1554
+ # change the parameters of the existing mapping without losing your
1555
+ # position in the stream. You can change which function will receive the
1556
+ # stream records, but to change the stream itself, you must create a new
1557
+ # mapping.
1558
+ #
1559
+ # If you are using the versioning feature, you can update the event
1560
+ # source mapping to map to a specific Lambda function version or alias
1561
+ # as described in the `FunctionName` parameter. For information about
1562
+ # the versioning feature, see [AWS Lambda Function Versioning and
1563
+ # Aliases][1].
1564
+ #
1565
+ # If you disable the event source mapping, AWS Lambda stops polling. If
1566
+ # you enable again, it will resume polling from the time it had stopped
1567
+ # polling, so you don't lose processing of any records. However, if you
1568
+ # delete event source mapping and create it again, it will reset.
1569
+ #
1570
+ # This operation requires permission for the
1571
+ # `lambda:UpdateEventSourceMapping` action.
1572
+ #
1573
+ #
1574
+ #
1575
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1576
+ # @option params [required, String] :uuid
1577
+ # The event source mapping identifier.
1578
+ # @option params [String] :function_name
1579
+ # The Lambda function to which you want the stream records sent.
1580
+ #
1581
+ # You can specify a function name (for example, `Thumbnail`) or you can
1582
+ # specify Amazon Resource Name (ARN) of the function (for example,
1583
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1584
+ # also allows you to specify a partial ARN (for example,
1585
+ # `account-id:Thumbnail`).
1586
+ #
1587
+ # If you are using versioning, you can also provide a qualified function
1588
+ # ARN (ARN that is qualified with function version or alias name as
1589
+ # suffix). For more information about versioning, see [AWS Lambda
1590
+ # Function Versioning and Aliases][1]
1591
+ #
1592
+ # Note that the length constraint applies only to the ARN. If you
1593
+ # specify only the function name, it is limited to 64 character in
1594
+ # length.
1595
+ #
1596
+ #
1597
+ #
1598
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1599
+ # @option params [Boolean] :enabled
1600
+ # Specifies whether AWS Lambda should actively poll the stream or not.
1601
+ # If disabled, AWS Lambda will not poll the stream.
1602
+ # @option params [Integer] :batch_size
1603
+ # The maximum number of stream records that can be sent to your Lambda
1604
+ # function for a single invocation.
1605
+ # @return [Types::EventSourceMappingConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1606
+ #
1607
+ # * {Types::EventSourceMappingConfiguration#uuid #UUID} => String
1608
+ # * {Types::EventSourceMappingConfiguration#batch_size #BatchSize} => Integer
1609
+ # * {Types::EventSourceMappingConfiguration#event_source_arn #EventSourceArn} => String
1610
+ # * {Types::EventSourceMappingConfiguration#function_arn #FunctionArn} => String
1611
+ # * {Types::EventSourceMappingConfiguration#last_modified #LastModified} => Time
1612
+ # * {Types::EventSourceMappingConfiguration#last_processing_result #LastProcessingResult} => String
1613
+ # * {Types::EventSourceMappingConfiguration#state #State} => String
1614
+ # * {Types::EventSourceMappingConfiguration#state_transition_reason #StateTransitionReason} => String
1615
+ #
1616
+ # @example Request syntax with placeholder values
1617
+ # resp = client.update_event_source_mapping({
1618
+ # uuid: "String", # required
1619
+ # function_name: "FunctionName",
1620
+ # enabled: false,
1621
+ # batch_size: 1,
1622
+ # })
1623
+ #
1624
+ # @example Response structure
1625
+ # resp.uuid #=> String
1626
+ # resp.batch_size #=> Integer
1627
+ # resp.event_source_arn #=> String
1628
+ # resp.function_arn #=> String
1629
+ # resp.last_modified #=> Time
1630
+ # resp.last_processing_result #=> String
1631
+ # resp.state #=> String
1632
+ # resp.state_transition_reason #=> String
1633
+ # @overload update_event_source_mapping(params = {})
1634
+ # @param [Hash] params ({})
1635
+ def update_event_source_mapping(params = {}, options = {})
1636
+ req = build_request(:update_event_source_mapping, params)
1637
+ req.send_request(options)
1638
+ end
1639
+
1640
+ # Updates the code for the specified Lambda function. This operation
1641
+ # must only be used on an existing Lambda function and cannot be used to
1642
+ # update the function configuration.
1643
+ #
1644
+ # If you are using the versioning feature, note this API will always
1645
+ # update the $LATEST version of your Lambda function. For information
1646
+ # about the versioning feature, see [AWS Lambda Function Versioning and
1647
+ # Aliases][1].
1648
+ #
1649
+ # This operation requires permission for the `lambda:UpdateFunctionCode`
1650
+ # action.
1651
+ #
1652
+ #
1653
+ #
1654
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1655
+ # @option params [required, String] :function_name
1656
+ # The existing Lambda function name whose code you want to replace.
1657
+ #
1658
+ # You can specify a function name (for example, `Thumbnail`) or you can
1659
+ # specify Amazon Resource Name (ARN) of the function (for example,
1660
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1661
+ # also allows you to specify a partial ARN (for example,
1662
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1663
+ # to the ARN. If you specify only the function name, it is limited to 64
1664
+ # character in length.
1665
+ # @option params [String, IO] :zip_file
1666
+ # The contents of your zip file containing your deployment package. If
1667
+ # you are using the web API directly, the contents of the zip file must
1668
+ # be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the
1669
+ # SDKs or CLI will do the encoding for you. For more information about
1670
+ # creating a .zip file, go to [Execution Permissions][1] in the *AWS
1671
+ # Lambda Developer Guide*.
1672
+ #
1673
+ #
1674
+ #
1675
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html
1676
+ # @option params [String] :s3_bucket
1677
+ # Amazon S3 bucket name where the .zip file containing your deployment
1678
+ # package is stored. This bucket must reside in the same AWS region
1679
+ # where you are creating the Lambda function.
1680
+ # @option params [String] :s3_key
1681
+ # The Amazon S3 object (the deployment package) key name you want to
1682
+ # upload.
1683
+ # @option params [String] :s3_object_version
1684
+ # The Amazon S3 object (the deployment package) version you want to
1685
+ # upload.
1686
+ # @option params [Boolean] :publish
1687
+ # This boolean parameter can be used to request AWS Lambda to update the
1688
+ # Lambda function and publish a version as an atomic operation.
1689
+ # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1690
+ #
1691
+ # * {Types::FunctionConfiguration#function_name #FunctionName} => String
1692
+ # * {Types::FunctionConfiguration#function_arn #FunctionArn} => String
1693
+ # * {Types::FunctionConfiguration#runtime #Runtime} => String
1694
+ # * {Types::FunctionConfiguration#role #Role} => String
1695
+ # * {Types::FunctionConfiguration#handler #Handler} => String
1696
+ # * {Types::FunctionConfiguration#code_size #CodeSize} => Integer
1697
+ # * {Types::FunctionConfiguration#description #Description} => String
1698
+ # * {Types::FunctionConfiguration#timeout #Timeout} => Integer
1699
+ # * {Types::FunctionConfiguration#memory_size #MemorySize} => Integer
1700
+ # * {Types::FunctionConfiguration#last_modified #LastModified} => Time
1701
+ # * {Types::FunctionConfiguration#code_sha_256 #CodeSha256} => String
1702
+ # * {Types::FunctionConfiguration#version #Version} => String
1703
+ # * {Types::FunctionConfiguration#vpc_config #VpcConfig} => Types::VpcConfigResponse
1704
+ # * {Types::FunctionConfiguration#environment #Environment} => Types::EnvironmentResponse
1705
+ # * {Types::FunctionConfiguration#kms_key_arn #KMSKeyArn} => String
1706
+ #
1707
+ # @example Request syntax with placeholder values
1708
+ # resp = client.update_function_code({
1709
+ # function_name: "FunctionName", # required
1710
+ # zip_file: "data",
1711
+ # s3_bucket: "S3Bucket",
1712
+ # s3_key: "S3Key",
1713
+ # s3_object_version: "S3ObjectVersion",
1714
+ # publish: false,
1715
+ # })
1716
+ #
1717
+ # @example Response structure
1718
+ # resp.function_name #=> String
1719
+ # resp.function_arn #=> String
1720
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
1721
+ # resp.role #=> String
1722
+ # resp.handler #=> String
1723
+ # resp.code_size #=> Integer
1724
+ # resp.description #=> String
1725
+ # resp.timeout #=> Integer
1726
+ # resp.memory_size #=> Integer
1727
+ # resp.last_modified #=> Time
1728
+ # resp.code_sha_256 #=> String
1729
+ # resp.version #=> String
1730
+ # resp.vpc_config.subnet_ids #=> Array
1731
+ # resp.vpc_config.subnet_ids[0] #=> String
1732
+ # resp.vpc_config.security_group_ids #=> Array
1733
+ # resp.vpc_config.security_group_ids[0] #=> String
1734
+ # resp.vpc_config.vpc_id #=> String
1735
+ # resp.environment.variables #=> Hash
1736
+ # resp.environment.variables["EnvironmentVariableName"] #=> String
1737
+ # resp.environment.error.error_code #=> String
1738
+ # resp.environment.error.message #=> String
1739
+ # resp.kms_key_arn #=> String
1740
+ # @overload update_function_code(params = {})
1741
+ # @param [Hash] params ({})
1742
+ def update_function_code(params = {}, options = {})
1743
+ req = build_request(:update_function_code, params)
1744
+ req.send_request(options)
1745
+ end
1746
+
1747
+ # Updates the configuration parameters for the specified Lambda function
1748
+ # by using the values provided in the request. You provide only the
1749
+ # parameters you want to change. This operation must only be used on an
1750
+ # existing Lambda function and cannot be used to update the function's
1751
+ # code.
1752
+ #
1753
+ # If you are using the versioning feature, note this API will always
1754
+ # update the $LATEST version of your Lambda function. For information
1755
+ # about the versioning feature, see [AWS Lambda Function Versioning and
1756
+ # Aliases][1].
1757
+ #
1758
+ # This operation requires permission for the
1759
+ # `lambda:UpdateFunctionConfiguration` action.
1760
+ #
1761
+ #
1762
+ #
1763
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1764
+ # @option params [required, String] :function_name
1765
+ # The name of the Lambda function.
1766
+ #
1767
+ # You can specify a function name (for example, `Thumbnail`) or you can
1768
+ # specify Amazon Resource Name (ARN) of the function (for example,
1769
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS Lambda
1770
+ # also allows you to specify a partial ARN (for example,
1771
+ # `account-id:Thumbnail`). Note that the length constraint applies only
1772
+ # to the ARN. If you specify only the function name, it is limited to 64
1773
+ # character in length.
1774
+ # @option params [String] :role
1775
+ # The Amazon Resource Name (ARN) of the IAM role that Lambda will assume
1776
+ # when it executes your function.
1777
+ # @option params [String] :handler
1778
+ # The function that Lambda calls to begin executing your function. For
1779
+ # Node.js, it is the `module-name.export` value in your function.
1780
+ # @option params [String] :description
1781
+ # A short user-defined function description. AWS Lambda does not use
1782
+ # this value. Assign a meaningful description as you see fit.
1783
+ # @option params [Integer] :timeout
1784
+ # The function execution time at which AWS Lambda should terminate the
1785
+ # function. Because the execution time has cost implications, we
1786
+ # recommend you set this value based on your expected execution time.
1787
+ # The default is 3 seconds.
1788
+ # @option params [Integer] :memory_size
1789
+ # The amount of memory, in MB, your Lambda function is given. AWS Lambda
1790
+ # uses this memory size to infer the amount of CPU allocated to your
1791
+ # function. Your function use-case determines your CPU and memory
1792
+ # requirements. For example, a database operation might need less memory
1793
+ # compared to an image processing function. The default value is 128 MB.
1794
+ # The value must be a multiple of 64 MB.
1795
+ # @option params [Types::VpcConfig] :vpc_config
1796
+ # If your Lambda function accesses resources in a VPC, you provide this
1797
+ # parameter identifying the list of security group IDs and subnet IDs.
1798
+ # These must belong to the same VPC. You must provide at least one
1799
+ # security group and one subnet ID.
1800
+ # @option params [Types::Environment] :environment
1801
+ # The parent object that contains your environment's configuration
1802
+ # settings.
1803
+ # @option params [String] :kms_key_arn
1804
+ # The Amazon Resource Name (ARN) of the KMS key used to encrypt your
1805
+ # function's environment variables. If you elect to use the AWS Lambda
1806
+ # default service key, pass in an empty string ("") for this
1807
+ # parameter.
1808
+ # @option params [String] :runtime
1809
+ # The runtime environment for the Lambda function.
1810
+ #
1811
+ # To use the Node.js runtime v4.3, set the value to "nodejs4.3". To
1812
+ # use earlier runtime (v0.10.42), set the value to "nodejs".
1813
+ # @return [Types::FunctionConfiguration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1814
+ #
1815
+ # * {Types::FunctionConfiguration#function_name #FunctionName} => String
1816
+ # * {Types::FunctionConfiguration#function_arn #FunctionArn} => String
1817
+ # * {Types::FunctionConfiguration#runtime #Runtime} => String
1818
+ # * {Types::FunctionConfiguration#role #Role} => String
1819
+ # * {Types::FunctionConfiguration#handler #Handler} => String
1820
+ # * {Types::FunctionConfiguration#code_size #CodeSize} => Integer
1821
+ # * {Types::FunctionConfiguration#description #Description} => String
1822
+ # * {Types::FunctionConfiguration#timeout #Timeout} => Integer
1823
+ # * {Types::FunctionConfiguration#memory_size #MemorySize} => Integer
1824
+ # * {Types::FunctionConfiguration#last_modified #LastModified} => Time
1825
+ # * {Types::FunctionConfiguration#code_sha_256 #CodeSha256} => String
1826
+ # * {Types::FunctionConfiguration#version #Version} => String
1827
+ # * {Types::FunctionConfiguration#vpc_config #VpcConfig} => Types::VpcConfigResponse
1828
+ # * {Types::FunctionConfiguration#environment #Environment} => Types::EnvironmentResponse
1829
+ # * {Types::FunctionConfiguration#kms_key_arn #KMSKeyArn} => String
1830
+ #
1831
+ # @example Request syntax with placeholder values
1832
+ # resp = client.update_function_configuration({
1833
+ # function_name: "FunctionName", # required
1834
+ # role: "RoleArn",
1835
+ # handler: "Handler",
1836
+ # description: "Description",
1837
+ # timeout: 1,
1838
+ # memory_size: 1,
1839
+ # vpc_config: {
1840
+ # subnet_ids: ["SubnetId"],
1841
+ # security_group_ids: ["SecurityGroupId"],
1842
+ # },
1843
+ # environment: {
1844
+ # variables: {
1845
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
1846
+ # },
1847
+ # },
1848
+ # kms_key_arn: "KMSKeyArn",
1849
+ # runtime: "nodejs", # accepts nodejs, nodejs4.3, java8, python2.7
1850
+ # })
1851
+ #
1852
+ # @example Response structure
1853
+ # resp.function_name #=> String
1854
+ # resp.function_arn #=> String
1855
+ # resp.runtime #=> String, one of "nodejs", "nodejs4.3", "java8", "python2.7"
1856
+ # resp.role #=> String
1857
+ # resp.handler #=> String
1858
+ # resp.code_size #=> Integer
1859
+ # resp.description #=> String
1860
+ # resp.timeout #=> Integer
1861
+ # resp.memory_size #=> Integer
1862
+ # resp.last_modified #=> Time
1863
+ # resp.code_sha_256 #=> String
1864
+ # resp.version #=> String
1865
+ # resp.vpc_config.subnet_ids #=> Array
1866
+ # resp.vpc_config.subnet_ids[0] #=> String
1867
+ # resp.vpc_config.security_group_ids #=> Array
1868
+ # resp.vpc_config.security_group_ids[0] #=> String
1869
+ # resp.vpc_config.vpc_id #=> String
1870
+ # resp.environment.variables #=> Hash
1871
+ # resp.environment.variables["EnvironmentVariableName"] #=> String
1872
+ # resp.environment.error.error_code #=> String
1873
+ # resp.environment.error.message #=> String
1874
+ # resp.kms_key_arn #=> String
1875
+ # @overload update_function_configuration(params = {})
1876
+ # @param [Hash] params ({})
1877
+ def update_function_configuration(params = {}, options = {})
1878
+ req = build_request(:update_function_configuration, params)
1879
+ req.send_request(options)
1880
+ end
1881
+
1882
+ # @!endgroup
1883
+
1884
+ # @param params ({})
1885
+ # @api private
1886
+ def build_request(operation_name, params = {})
1887
+ handlers = @handlers.for(operation_name)
1888
+ context = Seahorse::Client::RequestContext.new(
1889
+ operation_name: operation_name,
1890
+ operation: config.api.operation(operation_name),
1891
+ client: self,
1892
+ params: params,
1893
+ config: config)
1894
+ context[:gem_name] = 'aws-sdk-lambda'
1895
+ context[:gem_version] = '1.0.0.rc1'
1896
+ Seahorse::Client::Request.new(handlers, context)
1897
+ end
1898
+
1899
+ # @api private
1900
+ # @deprecated
1901
+ def waiter_names
1902
+ []
1903
+ end
1904
+
1905
+ class << self
1906
+
1907
+ # @api private
1908
+ attr_reader :identifier
1909
+
1910
+ # @api private
1911
+ def errors_module
1912
+ Errors
1913
+ end
1914
+
1915
+ end
1916
+ end
1917
+ end
1918
+ end