aws-sdk-lambda 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,23 @@
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
+ module Aws
9
+ module Lambda
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
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
+ module Aws
9
+ module Lambda
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,1637 @@
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
+ module Aws
9
+ module Lambda
10
+ module Types
11
+
12
+ # @note When making an API call, pass AddPermissionRequest
13
+ # data as a hash:
14
+ #
15
+ # {
16
+ # function_name: "FunctionName", # required
17
+ # statement_id: "StatementId", # required
18
+ # action: "Action", # required
19
+ # principal: "Principal", # required
20
+ # source_arn: "Arn",
21
+ # source_account: "SourceOwner",
22
+ # event_source_token: "EventSourceToken",
23
+ # qualifier: "Qualifier",
24
+ # }
25
+ # @!attribute [rw] function_name
26
+ # Name of the Lambda function whose resource policy you are updating
27
+ # by adding a new permission.
28
+ #
29
+ # You can specify a function name (for example, `Thumbnail`) or you
30
+ # can specify Amazon Resource Name (ARN) of the function (for example,
31
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
32
+ # Lambda also allows you to specify partial ARN (for example,
33
+ # `account-id:Thumbnail`). Note that the length constraint applies
34
+ # only to the ARN. If you specify only the function name, it is
35
+ # limited to 64 character in length.
36
+ # @return [String]
37
+ #
38
+ # @!attribute [rw] statement_id
39
+ # A unique statement identifier.
40
+ # @return [String]
41
+ #
42
+ # @!attribute [rw] action
43
+ # The AWS Lambda action you want to allow in this statement. Each
44
+ # Lambda action is a string starting with `lambda:` followed by the
45
+ # API name . For example, `lambda:CreateFunction`. You can use
46
+ # wildcard (`lambda:*`) to grant permission for all AWS Lambda
47
+ # actions.
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] principal
51
+ # The principal who is getting this permission. It can be Amazon S3
52
+ # service Principal (`s3.amazonaws.com`) if you want Amazon S3 to
53
+ # invoke the function, an AWS account ID if you are granting
54
+ # cross-account permission, or any valid AWS service principal such as
55
+ # `sns.amazonaws.com`. For example, you might want to allow a custom
56
+ # application in another AWS account to push events to AWS Lambda by
57
+ # invoking your function.
58
+ # @return [String]
59
+ #
60
+ # @!attribute [rw] source_arn
61
+ # This is optional; however, when granting Amazon S3 permission to
62
+ # invoke your function, you should specify this field with the Amazon
63
+ # Resource Name (ARN) as its value. This ensures that only events
64
+ # generated from the specified source can invoke the function.
65
+ #
66
+ # If you add a permission for the Amazon S3 principal without
67
+ # providing the source ARN, any AWS account that creates a mapping to
68
+ # your function ARN can send events to invoke your Lambda function
69
+ # from Amazon S3.
70
+ # @return [String]
71
+ #
72
+ # @!attribute [rw] source_account
73
+ # This parameter is used for S3, SES, CloudWatch Logs and CloudWatch
74
+ # Rules only. The AWS account ID (without a hyphen) of the source
75
+ # owner. For example, if the `SourceArn` identifies a bucket, then
76
+ # this is the bucket owner's account ID. You can use this additional
77
+ # condition to ensure the bucket you specify is owned by a specific
78
+ # account (it is possible the bucket owner deleted the bucket and some
79
+ # other AWS account created the bucket). You can also use this
80
+ # condition to specify all sources (that is, you don't specify the
81
+ # `SourceArn`) owned by a specific account.
82
+ # @return [String]
83
+ #
84
+ # @!attribute [rw] event_source_token
85
+ # A unique token that must be supplied by the principal invoking the
86
+ # function. This is currently only used for Alexa Smart Home
87
+ # functions.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] qualifier
91
+ # You can use this optional query parameter to describe a qualified
92
+ # ARN using a function version or an alias name. The permission will
93
+ # then apply to the specific qualified ARN. For example, if you
94
+ # specify function version 2 as the qualifier, then permission applies
95
+ # only when request is made using qualified function ARN:
96
+ #
97
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name:2`
98
+ #
99
+ # If you specify an alias name, for example `PROD`, then the
100
+ # permission is valid only for requests made using the alias ARN:
101
+ #
102
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name:PROD`
103
+ #
104
+ # If the qualifier is not specified, the permission is valid only when
105
+ # requests is made using unqualified function ARN.
106
+ #
107
+ # `arn:aws:lambda:aws-region:acct-id:function:function-name`
108
+ # @return [String]
109
+ class AddPermissionRequest < Struct.new(
110
+ :function_name,
111
+ :statement_id,
112
+ :action,
113
+ :principal,
114
+ :source_arn,
115
+ :source_account,
116
+ :event_source_token,
117
+ :qualifier)
118
+ include Aws::Structure
119
+ end
120
+
121
+ # @!attribute [rw] statement
122
+ # The permission statement you specified in the request. The response
123
+ # returns the same as a string using a backslash ("\\") as an escape
124
+ # character in the JSON.
125
+ # @return [String]
126
+ class AddPermissionResponse < Struct.new(
127
+ :statement)
128
+ include Aws::Structure
129
+ end
130
+
131
+ # Provides configuration information about a Lambda function version
132
+ # alias.
133
+ # @!attribute [rw] alias_arn
134
+ # Lambda function ARN that is qualified using the alias name as the
135
+ # suffix. For example, if you create an alias called `BETA` that
136
+ # points to a helloworld function version, the ARN is
137
+ # `arn:aws:lambda:aws-regions:acct-id:function:helloworld:BETA`.
138
+ # @return [String]
139
+ #
140
+ # @!attribute [rw] name
141
+ # Alias name.
142
+ # @return [String]
143
+ #
144
+ # @!attribute [rw] function_version
145
+ # Function version to which the alias points.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] description
149
+ # Alias description.
150
+ # @return [String]
151
+ class AliasConfiguration < Struct.new(
152
+ :alias_arn,
153
+ :name,
154
+ :function_version,
155
+ :description)
156
+ include Aws::Structure
157
+ end
158
+
159
+ # @note When making an API call, pass CreateAliasRequest
160
+ # data as a hash:
161
+ #
162
+ # {
163
+ # function_name: "FunctionName", # required
164
+ # name: "Alias", # required
165
+ # function_version: "Version", # required
166
+ # description: "Description",
167
+ # }
168
+ # @!attribute [rw] function_name
169
+ # Name of the Lambda function for which you want to create an alias.
170
+ # @return [String]
171
+ #
172
+ # @!attribute [rw] name
173
+ # Name for the alias you are creating.
174
+ # @return [String]
175
+ #
176
+ # @!attribute [rw] function_version
177
+ # Lambda function version for which you are creating the alias.
178
+ # @return [String]
179
+ #
180
+ # @!attribute [rw] description
181
+ # Description of the alias.
182
+ # @return [String]
183
+ class CreateAliasRequest < Struct.new(
184
+ :function_name,
185
+ :name,
186
+ :function_version,
187
+ :description)
188
+ include Aws::Structure
189
+ end
190
+
191
+ # @note When making an API call, pass CreateEventSourceMappingRequest
192
+ # data as a hash:
193
+ #
194
+ # {
195
+ # event_source_arn: "Arn", # required
196
+ # function_name: "FunctionName", # required
197
+ # enabled: false,
198
+ # batch_size: 1,
199
+ # starting_position: "TRIM_HORIZON", # required, accepts TRIM_HORIZON, LATEST
200
+ # }
201
+ # @!attribute [rw] event_source_arn
202
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon
203
+ # DynamoDB stream that is the event source. Any record added to this
204
+ # stream could cause AWS Lambda to invoke your Lambda function, it
205
+ # depends on the `BatchSize`. AWS Lambda POSTs the Amazon Kinesis
206
+ # event, containing records, to your Lambda function as JSON.
207
+ # @return [String]
208
+ #
209
+ # @!attribute [rw] function_name
210
+ # The Lambda function to invoke when AWS Lambda detects an event on
211
+ # the stream.
212
+ #
213
+ # You can specify the function name (for example, `Thumbnail`) or you
214
+ # can specify Amazon Resource Name (ARN) of the function (for example,
215
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`).
216
+ #
217
+ # If you are using versioning, you can also provide a qualified
218
+ # function ARN (ARN that is qualified with function version or alias
219
+ # name as suffix). For more information about versioning, see [AWS
220
+ # Lambda Function Versioning and Aliases][1]
221
+ #
222
+ # AWS Lambda also allows you to specify only the function name with
223
+ # the account ID qualifier (for example, `account-id:Thumbnail`).
224
+ #
225
+ # Note that the length constraint applies only to the ARN. If you
226
+ # specify only the function name, it is limited to 64 character in
227
+ # length.
228
+ #
229
+ #
230
+ #
231
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] enabled
235
+ # Indicates whether AWS Lambda should begin polling the event source.
236
+ # By default, `Enabled` is true.
237
+ # @return [Boolean]
238
+ #
239
+ # @!attribute [rw] batch_size
240
+ # The largest number of records that AWS Lambda will retrieve from
241
+ # your event source at the time of invoking your function. Your
242
+ # function receives an event with all the retrieved records. The
243
+ # default is 100 records.
244
+ # @return [Integer]
245
+ #
246
+ # @!attribute [rw] starting_position
247
+ # The position in the stream where AWS Lambda should start reading.
248
+ # For more information, go to [ShardIteratorType][1] in the *Amazon
249
+ # Kinesis API Reference*.
250
+ #
251
+ #
252
+ #
253
+ # [1]: http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType
254
+ # @return [String]
255
+ class CreateEventSourceMappingRequest < Struct.new(
256
+ :event_source_arn,
257
+ :function_name,
258
+ :enabled,
259
+ :batch_size,
260
+ :starting_position)
261
+ include Aws::Structure
262
+ end
263
+
264
+ # @note When making an API call, pass CreateFunctionRequest
265
+ # data as a hash:
266
+ #
267
+ # {
268
+ # function_name: "FunctionName", # required
269
+ # runtime: "nodejs", # required, accepts nodejs, nodejs4.3, java8, python2.7
270
+ # role: "RoleArn", # required
271
+ # handler: "Handler", # required
272
+ # code: { # required
273
+ # zip_file: "data",
274
+ # s3_bucket: "S3Bucket",
275
+ # s3_key: "S3Key",
276
+ # s3_object_version: "S3ObjectVersion",
277
+ # },
278
+ # description: "Description",
279
+ # timeout: 1,
280
+ # memory_size: 1,
281
+ # publish: false,
282
+ # vpc_config: {
283
+ # subnet_ids: ["SubnetId"],
284
+ # security_group_ids: ["SecurityGroupId"],
285
+ # },
286
+ # environment: {
287
+ # variables: {
288
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
289
+ # },
290
+ # },
291
+ # kms_key_arn: "KMSKeyArn",
292
+ # }
293
+ # @!attribute [rw] function_name
294
+ # The name you want to assign to the function you are uploading. The
295
+ # function names appear in the console and are returned in the
296
+ # ListFunctions API. Function names are used to specify functions to
297
+ # other AWS Lambda APIs, such as Invoke.
298
+ # @return [String]
299
+ #
300
+ # @!attribute [rw] runtime
301
+ # The runtime environment for the Lambda function you are uploading.
302
+ #
303
+ # To use the Node.js runtime v4.3, set the value to "nodejs4.3". To
304
+ # use earlier runtime (v0.10.42), set the value to "nodejs".
305
+ # @return [String]
306
+ #
307
+ # @!attribute [rw] role
308
+ # The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
309
+ # when it executes your function to access any other Amazon Web
310
+ # Services (AWS) resources. For more information, see [AWS Lambda: How
311
+ # it Works][1].
312
+ #
313
+ #
314
+ #
315
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
316
+ # @return [String]
317
+ #
318
+ # @!attribute [rw] handler
319
+ # The function within your code that Lambda calls to begin execution.
320
+ # For Node.js, it is the *module-name*.*export* value in your
321
+ # function. For Java, it can be `package.class-name::handler` or
322
+ # `package.class-name`. For more information, see [Lambda Function
323
+ # Handler (Java)][1].
324
+ #
325
+ #
326
+ #
327
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] code
331
+ # The code for the Lambda function.
332
+ # @return [Types::FunctionCode]
333
+ #
334
+ # @!attribute [rw] description
335
+ # A short, user-defined function description. Lambda does not use this
336
+ # value. Assign a meaningful description as you see fit.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] timeout
340
+ # The function execution time at which Lambda should terminate the
341
+ # function. Because the execution time has cost implications, we
342
+ # recommend you set this value based on your expected execution time.
343
+ # The default is 3 seconds.
344
+ # @return [Integer]
345
+ #
346
+ # @!attribute [rw] memory_size
347
+ # The amount of memory, in MB, your Lambda function is given. Lambda
348
+ # uses this memory size to infer the amount of CPU and memory
349
+ # allocated to your function. Your function use-case determines your
350
+ # CPU and memory requirements. For example, a database operation might
351
+ # need less memory compared to an image processing function. The
352
+ # default value is 128 MB. The value must be a multiple of 64 MB.
353
+ # @return [Integer]
354
+ #
355
+ # @!attribute [rw] publish
356
+ # This boolean parameter can be used to request AWS Lambda to create
357
+ # the Lambda function and publish a version as an atomic operation.
358
+ # @return [Boolean]
359
+ #
360
+ # @!attribute [rw] vpc_config
361
+ # If your Lambda function accesses resources in a VPC, you provide
362
+ # this parameter identifying the list of security group IDs and subnet
363
+ # IDs. These must belong to the same VPC. You must provide at least
364
+ # one security group and one subnet ID.
365
+ # @return [Types::VpcConfig]
366
+ #
367
+ # @!attribute [rw] environment
368
+ # The parent object that contains your environment's configuration
369
+ # settings.
370
+ # @return [Types::Environment]
371
+ #
372
+ # @!attribute [rw] kms_key_arn
373
+ # The Amazon Resource Name (ARN) of the KMS key used to encrypt your
374
+ # function's environment variables. If not provided, AWS Lambda will
375
+ # use a default service key.
376
+ # @return [String]
377
+ class CreateFunctionRequest < Struct.new(
378
+ :function_name,
379
+ :runtime,
380
+ :role,
381
+ :handler,
382
+ :code,
383
+ :description,
384
+ :timeout,
385
+ :memory_size,
386
+ :publish,
387
+ :vpc_config,
388
+ :environment,
389
+ :kms_key_arn)
390
+ include Aws::Structure
391
+ end
392
+
393
+ # @note When making an API call, pass DeleteAliasRequest
394
+ # data as a hash:
395
+ #
396
+ # {
397
+ # function_name: "FunctionName", # required
398
+ # name: "Alias", # required
399
+ # }
400
+ # @!attribute [rw] function_name
401
+ # The Lambda function name for which the alias is created. Deleting an
402
+ # alias does not delete the function version to which it is pointing.
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] name
406
+ # Name of the alias to delete.
407
+ # @return [String]
408
+ class DeleteAliasRequest < Struct.new(
409
+ :function_name,
410
+ :name)
411
+ include Aws::Structure
412
+ end
413
+
414
+ # @note When making an API call, pass DeleteEventSourceMappingRequest
415
+ # data as a hash:
416
+ #
417
+ # {
418
+ # uuid: "String", # required
419
+ # }
420
+ # @!attribute [rw] uuid
421
+ # The event source mapping ID.
422
+ # @return [String]
423
+ class DeleteEventSourceMappingRequest < Struct.new(
424
+ :uuid)
425
+ include Aws::Structure
426
+ end
427
+
428
+ # @note When making an API call, pass DeleteFunctionRequest
429
+ # data as a hash:
430
+ #
431
+ # {
432
+ # function_name: "FunctionName", # required
433
+ # qualifier: "Qualifier",
434
+ # }
435
+ # @!attribute [rw] function_name
436
+ # The Lambda function to delete.
437
+ #
438
+ # You can specify the function name (for example, `Thumbnail`) or you
439
+ # can specify Amazon Resource Name (ARN) of the function (for example,
440
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you
441
+ # are using versioning, you can also provide a qualified function ARN
442
+ # (ARN that is qualified with function version or alias name as
443
+ # suffix). AWS Lambda also allows you to specify only the function
444
+ # name with the account ID qualifier (for example,
445
+ # `account-id:Thumbnail`). Note that the length constraint applies
446
+ # only to the ARN. If you specify only the function name, it is
447
+ # limited to 64 character in length.
448
+ # @return [String]
449
+ #
450
+ # @!attribute [rw] qualifier
451
+ # Using this optional parameter you can specify a function version
452
+ # (but not the `$LATEST` version) to direct AWS Lambda to delete a
453
+ # specific function version. If the function version has one or more
454
+ # aliases pointing to it, you will get an error because you cannot
455
+ # have aliases pointing to it. You can delete any function version but
456
+ # not the `$LATEST`, that is, you cannot specify `$LATEST` as the
457
+ # value of this parameter. The `$LATEST` version can be deleted only
458
+ # when you want to delete all the function versions and aliases.
459
+ #
460
+ # You can only specify a function version, not an alias name, using
461
+ # this parameter. You cannot delete a function version using its
462
+ # alias.
463
+ #
464
+ # If you don't specify this parameter, AWS Lambda will delete the
465
+ # function, including all of its versions and aliases.
466
+ # @return [String]
467
+ class DeleteFunctionRequest < Struct.new(
468
+ :function_name,
469
+ :qualifier)
470
+ include Aws::Structure
471
+ end
472
+
473
+ # The parent object that contains your environment's configuration
474
+ # settings.
475
+ # @note When making an API call, pass Environment
476
+ # data as a hash:
477
+ #
478
+ # {
479
+ # variables: {
480
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
481
+ # },
482
+ # }
483
+ # @!attribute [rw] variables
484
+ # The key-value pairs that represent your environment's configuration
485
+ # settings. The value you specify cannot contain a ",".
486
+ # @return [Hash<String,String>]
487
+ class Environment < Struct.new(
488
+ :variables)
489
+ include Aws::Structure
490
+ end
491
+
492
+ # The parent object that contains error information associated with your
493
+ # configuration settings.
494
+ # @!attribute [rw] error_code
495
+ # The error code returned by the environment error object.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] message
499
+ # The message returned by the environment error object.
500
+ # @return [String]
501
+ class EnvironmentError < Struct.new(
502
+ :error_code,
503
+ :message)
504
+ include Aws::Structure
505
+ end
506
+
507
+ # The parent object returned that contains your environment's
508
+ # configuration settings or any error information associated with your
509
+ # configuration settings.
510
+ # @!attribute [rw] variables
511
+ # The key-value pairs returned that represent your environment's
512
+ # configuration settings or error information.
513
+ # @return [Hash<String,String>]
514
+ #
515
+ # @!attribute [rw] error
516
+ # The parent object that contains error information associated with
517
+ # your configuration settings.
518
+ # @return [Types::EnvironmentError]
519
+ class EnvironmentResponse < Struct.new(
520
+ :variables,
521
+ :error)
522
+ include Aws::Structure
523
+ end
524
+
525
+ # Describes mapping between an Amazon Kinesis stream and a Lambda
526
+ # function.
527
+ # @!attribute [rw] uuid
528
+ # The AWS Lambda assigned opaque identifier for the mapping.
529
+ # @return [String]
530
+ #
531
+ # @!attribute [rw] batch_size
532
+ # The largest number of records that AWS Lambda will retrieve from
533
+ # your event source at the time of invoking your function. Your
534
+ # function receives an event with all the retrieved records.
535
+ # @return [Integer]
536
+ #
537
+ # @!attribute [rw] event_source_arn
538
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is
539
+ # the source of events.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] function_arn
543
+ # The Lambda function to invoke when AWS Lambda detects an event on
544
+ # the stream.
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] last_modified
548
+ # The UTC time string indicating the last time the event mapping was
549
+ # updated.
550
+ # @return [Time]
551
+ #
552
+ # @!attribute [rw] last_processing_result
553
+ # The result of the last AWS Lambda invocation of your Lambda
554
+ # function.
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] state
558
+ # The state of the event source mapping. It can be `Creating`,
559
+ # `Enabled`, `Disabled`, `Enabling`, `Disabling`, `Updating`, or
560
+ # `Deleting`.
561
+ # @return [String]
562
+ #
563
+ # @!attribute [rw] state_transition_reason
564
+ # The reason the event source mapping is in its current state. It is
565
+ # either user-requested or an AWS Lambda-initiated state transition.
566
+ # @return [String]
567
+ class EventSourceMappingConfiguration < Struct.new(
568
+ :uuid,
569
+ :batch_size,
570
+ :event_source_arn,
571
+ :function_arn,
572
+ :last_modified,
573
+ :last_processing_result,
574
+ :state,
575
+ :state_transition_reason)
576
+ include Aws::Structure
577
+ end
578
+
579
+ # The code for the Lambda function.
580
+ # @note When making an API call, pass FunctionCode
581
+ # data as a hash:
582
+ #
583
+ # {
584
+ # zip_file: "data",
585
+ # s3_bucket: "S3Bucket",
586
+ # s3_key: "S3Key",
587
+ # s3_object_version: "S3ObjectVersion",
588
+ # }
589
+ # @!attribute [rw] zip_file
590
+ # The contents of your zip file containing your deployment package. If
591
+ # you are using the web API directly, the contents of the zip file
592
+ # must be base64-encoded. If you are using the AWS SDKs or the AWS
593
+ # CLI, the SDKs or CLI will do the encoding for you. For more
594
+ # information about creating a .zip file, go to [Execution
595
+ # Permissions][1] in the *AWS Lambda Developer Guide*.
596
+ #
597
+ #
598
+ #
599
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] s3_bucket
603
+ # Amazon S3 bucket name where the .zip file containing your deployment
604
+ # package is stored. This bucket must reside in the same AWS region
605
+ # where you are creating the Lambda function.
606
+ # @return [String]
607
+ #
608
+ # @!attribute [rw] s3_key
609
+ # The Amazon S3 object (the deployment package) key name you want to
610
+ # upload.
611
+ # @return [String]
612
+ #
613
+ # @!attribute [rw] s3_object_version
614
+ # The Amazon S3 object (the deployment package) version you want to
615
+ # upload.
616
+ # @return [String]
617
+ class FunctionCode < Struct.new(
618
+ :zip_file,
619
+ :s3_bucket,
620
+ :s3_key,
621
+ :s3_object_version)
622
+ include Aws::Structure
623
+ end
624
+
625
+ # The object for the Lambda function location.
626
+ # @!attribute [rw] repository_type
627
+ # The repository from which you can download the function.
628
+ # @return [String]
629
+ #
630
+ # @!attribute [rw] location
631
+ # The presigned URL you can use to download the function's .zip file
632
+ # that you previously uploaded. The URL is valid for up to 10 minutes.
633
+ # @return [String]
634
+ class FunctionCodeLocation < Struct.new(
635
+ :repository_type,
636
+ :location)
637
+ include Aws::Structure
638
+ end
639
+
640
+ # A complex type that describes function metadata.
641
+ # @!attribute [rw] function_name
642
+ # The name of the function.
643
+ # @return [String]
644
+ #
645
+ # @!attribute [rw] function_arn
646
+ # The Amazon Resource Name (ARN) assigned to the function.
647
+ # @return [String]
648
+ #
649
+ # @!attribute [rw] runtime
650
+ # The runtime environment for the Lambda function.
651
+ #
652
+ # To use the Node.js runtime v4.3, set the value to "nodejs4.3". To
653
+ # use earlier runtime (v0.10.42), set the value to "nodejs".
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] role
657
+ # The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
658
+ # when it executes your function to access any other Amazon Web
659
+ # Services (AWS) resources.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] handler
663
+ # The function Lambda calls to begin executing your function.
664
+ # @return [String]
665
+ #
666
+ # @!attribute [rw] code_size
667
+ # The size, in bytes, of the function .zip file you uploaded.
668
+ # @return [Integer]
669
+ #
670
+ # @!attribute [rw] description
671
+ # The user-provided description.
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] timeout
675
+ # The function execution time at which Lambda should terminate the
676
+ # function. Because the execution time has cost implications, we
677
+ # recommend you set this value based on your expected execution time.
678
+ # The default is 3 seconds.
679
+ # @return [Integer]
680
+ #
681
+ # @!attribute [rw] memory_size
682
+ # The memory size, in MB, you configured for the function. Must be a
683
+ # multiple of 64 MB.
684
+ # @return [Integer]
685
+ #
686
+ # @!attribute [rw] last_modified
687
+ # The time stamp of the last time you updated the function.
688
+ # @return [Time]
689
+ #
690
+ # @!attribute [rw] code_sha_256
691
+ # It is the SHA256 hash of your function deployment package.
692
+ # @return [String]
693
+ #
694
+ # @!attribute [rw] version
695
+ # The version of the Lambda function.
696
+ # @return [String]
697
+ #
698
+ # @!attribute [rw] vpc_config
699
+ # VPC configuration associated with your Lambda function.
700
+ # @return [Types::VpcConfigResponse]
701
+ #
702
+ # @!attribute [rw] environment
703
+ # The parent object that contains your environment's configuration
704
+ # settings.
705
+ # @return [Types::EnvironmentResponse]
706
+ #
707
+ # @!attribute [rw] kms_key_arn
708
+ # The Amazon Resource Name (ARN) of the KMS key used to encrypt your
709
+ # function's environment variables. If empty, it means you are using
710
+ # the AWS Lambda default service key.
711
+ # @return [String]
712
+ class FunctionConfiguration < Struct.new(
713
+ :function_name,
714
+ :function_arn,
715
+ :runtime,
716
+ :role,
717
+ :handler,
718
+ :code_size,
719
+ :description,
720
+ :timeout,
721
+ :memory_size,
722
+ :last_modified,
723
+ :code_sha_256,
724
+ :version,
725
+ :vpc_config,
726
+ :environment,
727
+ :kms_key_arn)
728
+ include Aws::Structure
729
+ end
730
+
731
+ # @note When making an API call, pass GetAliasRequest
732
+ # data as a hash:
733
+ #
734
+ # {
735
+ # function_name: "FunctionName", # required
736
+ # name: "Alias", # required
737
+ # }
738
+ # @!attribute [rw] function_name
739
+ # Function name for which the alias is created. An alias is a
740
+ # subresource that exists only in the context of an existing Lambda
741
+ # function so you must specify the function name.
742
+ # @return [String]
743
+ #
744
+ # @!attribute [rw] name
745
+ # Name of the alias for which you want to retrieve information.
746
+ # @return [String]
747
+ class GetAliasRequest < Struct.new(
748
+ :function_name,
749
+ :name)
750
+ include Aws::Structure
751
+ end
752
+
753
+ # @note When making an API call, pass GetEventSourceMappingRequest
754
+ # data as a hash:
755
+ #
756
+ # {
757
+ # uuid: "String", # required
758
+ # }
759
+ # @!attribute [rw] uuid
760
+ # The AWS Lambda assigned ID of the event source mapping.
761
+ # @return [String]
762
+ class GetEventSourceMappingRequest < Struct.new(
763
+ :uuid)
764
+ include Aws::Structure
765
+ end
766
+
767
+ # @note When making an API call, pass GetFunctionConfigurationRequest
768
+ # data as a hash:
769
+ #
770
+ # {
771
+ # function_name: "FunctionName", # required
772
+ # qualifier: "Qualifier",
773
+ # }
774
+ # @!attribute [rw] function_name
775
+ # The name of the Lambda function for which you want to retrieve the
776
+ # configuration information.
777
+ #
778
+ # You can specify a function name (for example, `Thumbnail`) or you
779
+ # can specify Amazon Resource Name (ARN) of the function (for example,
780
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
781
+ # Lambda also allows you to specify a partial ARN (for example,
782
+ # `account-id:Thumbnail`). Note that the length constraint applies
783
+ # only to the ARN. If you specify only the function name, it is
784
+ # limited to 64 character in length.
785
+ # @return [String]
786
+ #
787
+ # @!attribute [rw] qualifier
788
+ # Using this optional parameter you can specify a function version or
789
+ # an alias name. If you specify function version, the API uses
790
+ # qualified function ARN and returns information about the specific
791
+ # function version. If you specify an alias name, the API uses the
792
+ # alias ARN and returns information about the function version to
793
+ # which the alias points.
794
+ #
795
+ # If you don't specify this parameter, the API uses unqualified
796
+ # function ARN, and returns information about the `$LATEST` function
797
+ # version.
798
+ # @return [String]
799
+ class GetFunctionConfigurationRequest < Struct.new(
800
+ :function_name,
801
+ :qualifier)
802
+ include Aws::Structure
803
+ end
804
+
805
+ # @note When making an API call, pass GetFunctionRequest
806
+ # data as a hash:
807
+ #
808
+ # {
809
+ # function_name: "FunctionName", # required
810
+ # qualifier: "Qualifier",
811
+ # }
812
+ # @!attribute [rw] function_name
813
+ # The Lambda function name.
814
+ #
815
+ # You can specify a function name (for example, `Thumbnail`) or you
816
+ # can specify Amazon Resource Name (ARN) of the function (for example,
817
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
818
+ # Lambda also allows you to specify a partial ARN (for example,
819
+ # `account-id:Thumbnail`). Note that the length constraint applies
820
+ # only to the ARN. If you specify only the function name, it is
821
+ # limited to 64 character in length.
822
+ # @return [String]
823
+ #
824
+ # @!attribute [rw] qualifier
825
+ # Using this optional parameter to specify a function version or an
826
+ # alias name. If you specify function version, the API uses qualified
827
+ # function ARN for the request and returns information about the
828
+ # specific Lambda function version. If you specify an alias name, the
829
+ # API uses the alias ARN and returns information about the function
830
+ # version to which the alias points. If you don't provide this
831
+ # parameter, the API uses unqualified function ARN and returns
832
+ # information about the `$LATEST` version of the Lambda function.
833
+ # @return [String]
834
+ class GetFunctionRequest < Struct.new(
835
+ :function_name,
836
+ :qualifier)
837
+ include Aws::Structure
838
+ end
839
+
840
+ # This response contains the object for the Lambda function location
841
+ # (see FunctionCodeLocation.
842
+ # @!attribute [rw] configuration
843
+ # A complex type that describes function metadata.
844
+ # @return [Types::FunctionConfiguration]
845
+ #
846
+ # @!attribute [rw] code
847
+ # The object for the Lambda function location.
848
+ # @return [Types::FunctionCodeLocation]
849
+ class GetFunctionResponse < Struct.new(
850
+ :configuration,
851
+ :code)
852
+ include Aws::Structure
853
+ end
854
+
855
+ # @note When making an API call, pass GetPolicyRequest
856
+ # data as a hash:
857
+ #
858
+ # {
859
+ # function_name: "FunctionName", # required
860
+ # qualifier: "Qualifier",
861
+ # }
862
+ # @!attribute [rw] function_name
863
+ # Function name whose resource policy you want to retrieve.
864
+ #
865
+ # You can specify the function name (for example, `Thumbnail`) or you
866
+ # can specify Amazon Resource Name (ARN) of the function (for example,
867
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you
868
+ # are using versioning, you can also provide a qualified function ARN
869
+ # (ARN that is qualified with function version or alias name as
870
+ # suffix). AWS Lambda also allows you to specify only the function
871
+ # name with the account ID qualifier (for example,
872
+ # `account-id:Thumbnail`). Note that the length constraint applies
873
+ # only to the ARN. If you specify only the function name, it is
874
+ # limited to 64 character in length.
875
+ # @return [String]
876
+ #
877
+ # @!attribute [rw] qualifier
878
+ # You can specify this optional query parameter to specify a function
879
+ # version or an alias name in which case this API will return all
880
+ # permissions associated with the specific qualified ARN. If you
881
+ # don't provide this parameter, the API will return permissions that
882
+ # apply to the unqualified function ARN.
883
+ # @return [String]
884
+ class GetPolicyRequest < Struct.new(
885
+ :function_name,
886
+ :qualifier)
887
+ include Aws::Structure
888
+ end
889
+
890
+ # @!attribute [rw] policy
891
+ # The resource policy associated with the specified function. The
892
+ # response returns the same as a string using a backslash ("\\") as
893
+ # an escape character in the JSON.
894
+ # @return [String]
895
+ class GetPolicyResponse < Struct.new(
896
+ :policy)
897
+ include Aws::Structure
898
+ end
899
+
900
+ # @note When making an API call, pass InvocationRequest
901
+ # data as a hash:
902
+ #
903
+ # {
904
+ # function_name: "FunctionName", # required
905
+ # invocation_type: "Event", # accepts Event, RequestResponse, DryRun
906
+ # log_type: "None", # accepts None, Tail
907
+ # client_context: "String",
908
+ # payload: "data",
909
+ # qualifier: "Qualifier",
910
+ # }
911
+ # @!attribute [rw] function_name
912
+ # The Lambda function name.
913
+ #
914
+ # You can specify a function name (for example, `Thumbnail`) or you
915
+ # can specify Amazon Resource Name (ARN) of the function (for example,
916
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
917
+ # Lambda also allows you to specify a partial ARN (for example,
918
+ # `account-id:Thumbnail`). Note that the length constraint applies
919
+ # only to the ARN. If you specify only the function name, it is
920
+ # limited to 64 character in length.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] invocation_type
924
+ # By default, the `Invoke` API assumes `RequestResponse` invocation
925
+ # type. You can optionally request asynchronous execution by
926
+ # specifying `Event` as the `InvocationType`. You can also use this
927
+ # parameter to request AWS Lambda to not execute the function but do
928
+ # some verification, such as if the caller is authorized to invoke the
929
+ # function and if the inputs are valid. You request this by specifying
930
+ # `DryRun` as the `InvocationType`. This is useful in a cross-account
931
+ # scenario when you want to verify access to a function without
932
+ # running it.
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] log_type
936
+ # You can set this optional parameter to `Tail` in the request only if
937
+ # you specify the `InvocationType` parameter with value
938
+ # `RequestResponse`. In this case, AWS Lambda returns the
939
+ # base64-encoded last 4 KB of log data produced by your Lambda
940
+ # function in the `x-amz-log-result` header.
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] client_context
944
+ # Using the `ClientContext` you can pass client-specific information
945
+ # to the Lambda function you are invoking. You can then process the
946
+ # client information in your Lambda function as you choose through the
947
+ # context variable. For an example of a `ClientContext` JSON, see
948
+ # [PutEvents][1] in the *Amazon Mobile Analytics API Reference and
949
+ # User Guide*.
950
+ #
951
+ # The ClientContext JSON must be base64-encoded.
952
+ #
953
+ #
954
+ #
955
+ # [1]: http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html
956
+ # @return [String]
957
+ #
958
+ # @!attribute [rw] payload
959
+ # JSON that you want to provide to your Lambda function as input.
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] qualifier
963
+ # You can use this optional parameter to specify a Lambda function
964
+ # version or alias name. If you specify a function version, the API
965
+ # uses the qualified function ARN to invoke a specific Lambda
966
+ # function. If you specify an alias name, the API uses the alias ARN
967
+ # to invoke the Lambda function version to which the alias points.
968
+ #
969
+ # If you don't provide this parameter, then the API uses unqualified
970
+ # function ARN which results in invocation of the `$LATEST` version.
971
+ # @return [String]
972
+ class InvocationRequest < Struct.new(
973
+ :function_name,
974
+ :invocation_type,
975
+ :log_type,
976
+ :client_context,
977
+ :payload,
978
+ :qualifier)
979
+ include Aws::Structure
980
+ end
981
+
982
+ # Upon success, returns an empty response. Otherwise, throws an
983
+ # exception.
984
+ # @!attribute [rw] status_code
985
+ # The HTTP status code will be in the 200 range for successful
986
+ # request. For the `RequestResonse` invocation type this status code
987
+ # will be 200. For the `Event` invocation type this status code will
988
+ # be 202. For the `DryRun` invocation type the status code will be
989
+ # 204.
990
+ # @return [Integer]
991
+ #
992
+ # @!attribute [rw] function_error
993
+ # Indicates whether an error occurred while executing the Lambda
994
+ # function. If an error occurred this field will have one of two
995
+ # values; `Handled` or `Unhandled`. `Handled` errors are errors that
996
+ # are reported by the function while the `Unhandled` errors are those
997
+ # detected and reported by AWS Lambda. Unhandled errors include out of
998
+ # memory errors and function timeouts. For information about how to
999
+ # report an `Handled` error, see [Programming Model][1].
1000
+ #
1001
+ #
1002
+ #
1003
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/programming-model.html
1004
+ # @return [String]
1005
+ #
1006
+ # @!attribute [rw] log_result
1007
+ # It is the base64-encoded logs for the Lambda function invocation.
1008
+ # This is present only if the invocation type is `RequestResponse` and
1009
+ # the logs were requested.
1010
+ # @return [String]
1011
+ #
1012
+ # @!attribute [rw] payload
1013
+ # It is the JSON representation of the object returned by the Lambda
1014
+ # function. This is present only if the invocation type is
1015
+ # `RequestResponse`.
1016
+ #
1017
+ # In the event of a function error this field contains a message
1018
+ # describing the error. For the `Handled` errors the Lambda function
1019
+ # will report this message. For `Unhandled` errors AWS Lambda reports
1020
+ # the message.
1021
+ # @return [String]
1022
+ class InvocationResponse < Struct.new(
1023
+ :status_code,
1024
+ :function_error,
1025
+ :log_result,
1026
+ :payload)
1027
+ include Aws::Structure
1028
+ end
1029
+
1030
+ # @note When making an API call, pass InvokeAsyncRequest
1031
+ # data as a hash:
1032
+ #
1033
+ # {
1034
+ # function_name: "FunctionName", # required
1035
+ # invoke_args: "data", # required
1036
+ # }
1037
+ # @!attribute [rw] function_name
1038
+ # The Lambda function name.
1039
+ # @return [String]
1040
+ #
1041
+ # @!attribute [rw] invoke_args
1042
+ # JSON that you want to provide to your Lambda function as input.
1043
+ # @return [IO]
1044
+ class InvokeAsyncRequest < Struct.new(
1045
+ :function_name,
1046
+ :invoke_args)
1047
+ include Aws::Structure
1048
+ end
1049
+
1050
+ # Upon success, it returns empty response. Otherwise, throws an
1051
+ # exception.
1052
+ # @!attribute [rw] status
1053
+ # It will be 202 upon success.
1054
+ # @return [Integer]
1055
+ class InvokeAsyncResponse < Struct.new(
1056
+ :status)
1057
+ include Aws::Structure
1058
+ end
1059
+
1060
+ # @note When making an API call, pass ListAliasesRequest
1061
+ # data as a hash:
1062
+ #
1063
+ # {
1064
+ # function_name: "FunctionName", # required
1065
+ # function_version: "Version",
1066
+ # marker: "String",
1067
+ # max_items: 1,
1068
+ # }
1069
+ # @!attribute [rw] function_name
1070
+ # Lambda function name for which the alias is created.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] function_version
1074
+ # If you specify this optional parameter, the API returns only the
1075
+ # aliases that are pointing to the specific Lambda function version,
1076
+ # otherwise the API returns all of the aliases created for the Lambda
1077
+ # function.
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] marker
1081
+ # Optional string. An opaque pagination token returned from a previous
1082
+ # `ListAliases` operation. If present, indicates where to continue the
1083
+ # listing.
1084
+ # @return [String]
1085
+ #
1086
+ # @!attribute [rw] max_items
1087
+ # Optional integer. Specifies the maximum number of aliases to return
1088
+ # in response. This parameter value must be greater than 0.
1089
+ # @return [Integer]
1090
+ class ListAliasesRequest < Struct.new(
1091
+ :function_name,
1092
+ :function_version,
1093
+ :marker,
1094
+ :max_items)
1095
+ include Aws::Structure
1096
+ end
1097
+
1098
+ # @!attribute [rw] next_marker
1099
+ # A string, present if there are more aliases.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] aliases
1103
+ # A list of aliases.
1104
+ # @return [Array<Types::AliasConfiguration>]
1105
+ class ListAliasesResponse < Struct.new(
1106
+ :next_marker,
1107
+ :aliases)
1108
+ include Aws::Structure
1109
+ end
1110
+
1111
+ # @note When making an API call, pass ListEventSourceMappingsRequest
1112
+ # data as a hash:
1113
+ #
1114
+ # {
1115
+ # event_source_arn: "Arn",
1116
+ # function_name: "FunctionName",
1117
+ # marker: "String",
1118
+ # max_items: 1,
1119
+ # }
1120
+ # @!attribute [rw] event_source_arn
1121
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This
1122
+ # parameter is optional.)
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] function_name
1126
+ # The name of the Lambda function.
1127
+ #
1128
+ # You can specify the function name (for example, `Thumbnail`) or you
1129
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1130
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). If you
1131
+ # are using versioning, you can also provide a qualified function ARN
1132
+ # (ARN that is qualified with function version or alias name as
1133
+ # suffix). AWS Lambda also allows you to specify only the function
1134
+ # name with the account ID qualifier (for example,
1135
+ # `account-id:Thumbnail`). Note that the length constraint applies
1136
+ # only to the ARN. If you specify only the function name, it is
1137
+ # limited to 64 character in length.
1138
+ # @return [String]
1139
+ #
1140
+ # @!attribute [rw] marker
1141
+ # Optional string. An opaque pagination token returned from a previous
1142
+ # `ListEventSourceMappings` operation. If present, specifies to
1143
+ # continue the list from where the returning call left off.
1144
+ # @return [String]
1145
+ #
1146
+ # @!attribute [rw] max_items
1147
+ # Optional integer. Specifies the maximum number of event sources to
1148
+ # return in response. This value must be greater than 0.
1149
+ # @return [Integer]
1150
+ class ListEventSourceMappingsRequest < Struct.new(
1151
+ :event_source_arn,
1152
+ :function_name,
1153
+ :marker,
1154
+ :max_items)
1155
+ include Aws::Structure
1156
+ end
1157
+
1158
+ # Contains a list of event sources (see EventSourceMappingConfiguration)
1159
+ # @!attribute [rw] next_marker
1160
+ # A string, present if there are more event source mappings.
1161
+ # @return [String]
1162
+ #
1163
+ # @!attribute [rw] event_source_mappings
1164
+ # An array of `EventSourceMappingConfiguration` objects.
1165
+ # @return [Array<Types::EventSourceMappingConfiguration>]
1166
+ class ListEventSourceMappingsResponse < Struct.new(
1167
+ :next_marker,
1168
+ :event_source_mappings)
1169
+ include Aws::Structure
1170
+ end
1171
+
1172
+ # @note When making an API call, pass ListFunctionsRequest
1173
+ # data as a hash:
1174
+ #
1175
+ # {
1176
+ # marker: "String",
1177
+ # max_items: 1,
1178
+ # }
1179
+ # @!attribute [rw] marker
1180
+ # Optional string. An opaque pagination token returned from a previous
1181
+ # `ListFunctions` operation. If present, indicates where to continue
1182
+ # the listing.
1183
+ # @return [String]
1184
+ #
1185
+ # @!attribute [rw] max_items
1186
+ # Optional integer. Specifies the maximum number of AWS Lambda
1187
+ # functions to return in response. This parameter value must be
1188
+ # greater than 0.
1189
+ # @return [Integer]
1190
+ class ListFunctionsRequest < Struct.new(
1191
+ :marker,
1192
+ :max_items)
1193
+ include Aws::Structure
1194
+ end
1195
+
1196
+ # Contains a list of AWS Lambda function configurations (see
1197
+ # FunctionConfiguration.
1198
+ # @!attribute [rw] next_marker
1199
+ # A string, present if there are more functions.
1200
+ # @return [String]
1201
+ #
1202
+ # @!attribute [rw] functions
1203
+ # A list of Lambda functions.
1204
+ # @return [Array<Types::FunctionConfiguration>]
1205
+ class ListFunctionsResponse < Struct.new(
1206
+ :next_marker,
1207
+ :functions)
1208
+ include Aws::Structure
1209
+ end
1210
+
1211
+ # @note When making an API call, pass ListVersionsByFunctionRequest
1212
+ # data as a hash:
1213
+ #
1214
+ # {
1215
+ # function_name: "FunctionName", # required
1216
+ # marker: "String",
1217
+ # max_items: 1,
1218
+ # }
1219
+ # @!attribute [rw] function_name
1220
+ # Function name whose versions to list. You can specify a function
1221
+ # name (for example, `Thumbnail`) or you can specify Amazon Resource
1222
+ # Name (ARN) of the function (for example,
1223
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1224
+ # Lambda also allows you to specify a partial ARN (for example,
1225
+ # `account-id:Thumbnail`). Note that the length constraint applies
1226
+ # only to the ARN. If you specify only the function name, it is
1227
+ # limited to 64 character in length.
1228
+ # @return [String]
1229
+ #
1230
+ # @!attribute [rw] marker
1231
+ # Optional string. An opaque pagination token returned from a previous
1232
+ # `ListVersionsByFunction` operation. If present, indicates where to
1233
+ # continue the listing.
1234
+ # @return [String]
1235
+ #
1236
+ # @!attribute [rw] max_items
1237
+ # Optional integer. Specifies the maximum number of AWS Lambda
1238
+ # function versions to return in response. This parameter value must
1239
+ # be greater than 0.
1240
+ # @return [Integer]
1241
+ class ListVersionsByFunctionRequest < Struct.new(
1242
+ :function_name,
1243
+ :marker,
1244
+ :max_items)
1245
+ include Aws::Structure
1246
+ end
1247
+
1248
+ # @!attribute [rw] next_marker
1249
+ # A string, present if there are more function versions.
1250
+ # @return [String]
1251
+ #
1252
+ # @!attribute [rw] versions
1253
+ # A list of Lambda function versions.
1254
+ # @return [Array<Types::FunctionConfiguration>]
1255
+ class ListVersionsByFunctionResponse < Struct.new(
1256
+ :next_marker,
1257
+ :versions)
1258
+ include Aws::Structure
1259
+ end
1260
+
1261
+ # @note When making an API call, pass PublishVersionRequest
1262
+ # data as a hash:
1263
+ #
1264
+ # {
1265
+ # function_name: "FunctionName", # required
1266
+ # code_sha_256: "String",
1267
+ # description: "Description",
1268
+ # }
1269
+ # @!attribute [rw] function_name
1270
+ # The Lambda function name. You can specify a function name (for
1271
+ # example, `Thumbnail`) or you can specify Amazon Resource Name (ARN)
1272
+ # of the function (for example,
1273
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1274
+ # Lambda also allows you to specify a partial ARN (for example,
1275
+ # `account-id:Thumbnail`). Note that the length constraint applies
1276
+ # only to the ARN. If you specify only the function name, it is
1277
+ # limited to 64 character in length.
1278
+ # @return [String]
1279
+ #
1280
+ # @!attribute [rw] code_sha_256
1281
+ # The SHA256 hash of the deployment package you want to publish. This
1282
+ # provides validation on the code you are publishing. If you provide
1283
+ # this parameter value must match the SHA256 of the $LATEST version
1284
+ # for the publication to succeed.
1285
+ # @return [String]
1286
+ #
1287
+ # @!attribute [rw] description
1288
+ # The description for the version you are publishing. If not provided,
1289
+ # AWS Lambda copies the description from the $LATEST version.
1290
+ # @return [String]
1291
+ class PublishVersionRequest < Struct.new(
1292
+ :function_name,
1293
+ :code_sha_256,
1294
+ :description)
1295
+ include Aws::Structure
1296
+ end
1297
+
1298
+ # @note When making an API call, pass RemovePermissionRequest
1299
+ # data as a hash:
1300
+ #
1301
+ # {
1302
+ # function_name: "FunctionName", # required
1303
+ # statement_id: "StatementId", # required
1304
+ # qualifier: "Qualifier",
1305
+ # }
1306
+ # @!attribute [rw] function_name
1307
+ # Lambda function whose resource policy you want to remove a
1308
+ # permission from.
1309
+ #
1310
+ # You can specify a function name (for example, `Thumbnail`) or you
1311
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1312
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1313
+ # Lambda also allows you to specify a partial ARN (for example,
1314
+ # `account-id:Thumbnail`). Note that the length constraint applies
1315
+ # only to the ARN. If you specify only the function name, it is
1316
+ # limited to 64 character in length.
1317
+ # @return [String]
1318
+ #
1319
+ # @!attribute [rw] statement_id
1320
+ # Statement ID of the permission to remove.
1321
+ # @return [String]
1322
+ #
1323
+ # @!attribute [rw] qualifier
1324
+ # You can specify this optional parameter to remove permission
1325
+ # associated with a specific function version or function alias. If
1326
+ # you don't specify this parameter, the API removes permission
1327
+ # associated with the unqualified function ARN.
1328
+ # @return [String]
1329
+ class RemovePermissionRequest < Struct.new(
1330
+ :function_name,
1331
+ :statement_id,
1332
+ :qualifier)
1333
+ include Aws::Structure
1334
+ end
1335
+
1336
+ # @note When making an API call, pass UpdateAliasRequest
1337
+ # data as a hash:
1338
+ #
1339
+ # {
1340
+ # function_name: "FunctionName", # required
1341
+ # name: "Alias", # required
1342
+ # function_version: "Version",
1343
+ # description: "Description",
1344
+ # }
1345
+ # @!attribute [rw] function_name
1346
+ # The function name for which the alias is created.
1347
+ # @return [String]
1348
+ #
1349
+ # @!attribute [rw] name
1350
+ # The alias name.
1351
+ # @return [String]
1352
+ #
1353
+ # @!attribute [rw] function_version
1354
+ # Using this parameter you can change the Lambda function version to
1355
+ # which the alias points.
1356
+ # @return [String]
1357
+ #
1358
+ # @!attribute [rw] description
1359
+ # You can change the description of the alias using this parameter.
1360
+ # @return [String]
1361
+ class UpdateAliasRequest < Struct.new(
1362
+ :function_name,
1363
+ :name,
1364
+ :function_version,
1365
+ :description)
1366
+ include Aws::Structure
1367
+ end
1368
+
1369
+ # @note When making an API call, pass UpdateEventSourceMappingRequest
1370
+ # data as a hash:
1371
+ #
1372
+ # {
1373
+ # uuid: "String", # required
1374
+ # function_name: "FunctionName",
1375
+ # enabled: false,
1376
+ # batch_size: 1,
1377
+ # }
1378
+ # @!attribute [rw] uuid
1379
+ # The event source mapping identifier.
1380
+ # @return [String]
1381
+ #
1382
+ # @!attribute [rw] function_name
1383
+ # The Lambda function to which you want the stream records sent.
1384
+ #
1385
+ # You can specify a function name (for example, `Thumbnail`) or you
1386
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1387
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1388
+ # Lambda also allows you to specify a partial ARN (for example,
1389
+ # `account-id:Thumbnail`).
1390
+ #
1391
+ # If you are using versioning, you can also provide a qualified
1392
+ # function ARN (ARN that is qualified with function version or alias
1393
+ # name as suffix). For more information about versioning, see [AWS
1394
+ # Lambda Function Versioning and Aliases][1]
1395
+ #
1396
+ # Note that the length constraint applies only to the ARN. If you
1397
+ # specify only the function name, it is limited to 64 character in
1398
+ # length.
1399
+ #
1400
+ #
1401
+ #
1402
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html
1403
+ # @return [String]
1404
+ #
1405
+ # @!attribute [rw] enabled
1406
+ # Specifies whether AWS Lambda should actively poll the stream or not.
1407
+ # If disabled, AWS Lambda will not poll the stream.
1408
+ # @return [Boolean]
1409
+ #
1410
+ # @!attribute [rw] batch_size
1411
+ # The maximum number of stream records that can be sent to your Lambda
1412
+ # function for a single invocation.
1413
+ # @return [Integer]
1414
+ class UpdateEventSourceMappingRequest < Struct.new(
1415
+ :uuid,
1416
+ :function_name,
1417
+ :enabled,
1418
+ :batch_size)
1419
+ include Aws::Structure
1420
+ end
1421
+
1422
+ # @note When making an API call, pass UpdateFunctionCodeRequest
1423
+ # data as a hash:
1424
+ #
1425
+ # {
1426
+ # function_name: "FunctionName", # required
1427
+ # zip_file: "data",
1428
+ # s3_bucket: "S3Bucket",
1429
+ # s3_key: "S3Key",
1430
+ # s3_object_version: "S3ObjectVersion",
1431
+ # publish: false,
1432
+ # }
1433
+ # @!attribute [rw] function_name
1434
+ # The existing Lambda function name whose code you want to replace.
1435
+ #
1436
+ # You can specify a function name (for example, `Thumbnail`) or you
1437
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1438
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1439
+ # Lambda also allows you to specify a partial ARN (for example,
1440
+ # `account-id:Thumbnail`). Note that the length constraint applies
1441
+ # only to the ARN. If you specify only the function name, it is
1442
+ # limited to 64 character in length.
1443
+ # @return [String]
1444
+ #
1445
+ # @!attribute [rw] zip_file
1446
+ # The contents of your zip file containing your deployment package. If
1447
+ # you are using the web API directly, the contents of the zip file
1448
+ # must be base64-encoded. If you are using the AWS SDKs or the AWS
1449
+ # CLI, the SDKs or CLI will do the encoding for you. For more
1450
+ # information about creating a .zip file, go to [Execution
1451
+ # Permissions][1] in the *AWS Lambda Developer Guide*.
1452
+ #
1453
+ #
1454
+ #
1455
+ # [1]: http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] s3_bucket
1459
+ # Amazon S3 bucket name where the .zip file containing your deployment
1460
+ # package is stored. This bucket must reside in the same AWS region
1461
+ # where you are creating the Lambda function.
1462
+ # @return [String]
1463
+ #
1464
+ # @!attribute [rw] s3_key
1465
+ # The Amazon S3 object (the deployment package) key name you want to
1466
+ # upload.
1467
+ # @return [String]
1468
+ #
1469
+ # @!attribute [rw] s3_object_version
1470
+ # The Amazon S3 object (the deployment package) version you want to
1471
+ # upload.
1472
+ # @return [String]
1473
+ #
1474
+ # @!attribute [rw] publish
1475
+ # This boolean parameter can be used to request AWS Lambda to update
1476
+ # the Lambda function and publish a version as an atomic operation.
1477
+ # @return [Boolean]
1478
+ class UpdateFunctionCodeRequest < Struct.new(
1479
+ :function_name,
1480
+ :zip_file,
1481
+ :s3_bucket,
1482
+ :s3_key,
1483
+ :s3_object_version,
1484
+ :publish)
1485
+ include Aws::Structure
1486
+ end
1487
+
1488
+ # @note When making an API call, pass UpdateFunctionConfigurationRequest
1489
+ # data as a hash:
1490
+ #
1491
+ # {
1492
+ # function_name: "FunctionName", # required
1493
+ # role: "RoleArn",
1494
+ # handler: "Handler",
1495
+ # description: "Description",
1496
+ # timeout: 1,
1497
+ # memory_size: 1,
1498
+ # vpc_config: {
1499
+ # subnet_ids: ["SubnetId"],
1500
+ # security_group_ids: ["SecurityGroupId"],
1501
+ # },
1502
+ # environment: {
1503
+ # variables: {
1504
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
1505
+ # },
1506
+ # },
1507
+ # kms_key_arn: "KMSKeyArn",
1508
+ # runtime: "nodejs", # accepts nodejs, nodejs4.3, java8, python2.7
1509
+ # }
1510
+ # @!attribute [rw] function_name
1511
+ # The name of the Lambda function.
1512
+ #
1513
+ # You can specify a function name (for example, `Thumbnail`) or you
1514
+ # can specify Amazon Resource Name (ARN) of the function (for example,
1515
+ # `arn:aws:lambda:us-west-2:account-id:function:ThumbNail`). AWS
1516
+ # Lambda also allows you to specify a partial ARN (for example,
1517
+ # `account-id:Thumbnail`). Note that the length constraint applies
1518
+ # only to the ARN. If you specify only the function name, it is
1519
+ # limited to 64 character in length.
1520
+ # @return [String]
1521
+ #
1522
+ # @!attribute [rw] role
1523
+ # The Amazon Resource Name (ARN) of the IAM role that Lambda will
1524
+ # assume when it executes your function.
1525
+ # @return [String]
1526
+ #
1527
+ # @!attribute [rw] handler
1528
+ # The function that Lambda calls to begin executing your function. For
1529
+ # Node.js, it is the `module-name.export` value in your function.
1530
+ # @return [String]
1531
+ #
1532
+ # @!attribute [rw] description
1533
+ # A short user-defined function description. AWS Lambda does not use
1534
+ # this value. Assign a meaningful description as you see fit.
1535
+ # @return [String]
1536
+ #
1537
+ # @!attribute [rw] timeout
1538
+ # The function execution time at which AWS Lambda should terminate the
1539
+ # function. Because the execution time has cost implications, we
1540
+ # recommend you set this value based on your expected execution time.
1541
+ # The default is 3 seconds.
1542
+ # @return [Integer]
1543
+ #
1544
+ # @!attribute [rw] memory_size
1545
+ # The amount of memory, in MB, your Lambda function is given. AWS
1546
+ # Lambda uses this memory size to infer the amount of CPU allocated to
1547
+ # your function. Your function use-case determines your CPU and memory
1548
+ # requirements. For example, a database operation might need less
1549
+ # memory compared to an image processing function. The default value
1550
+ # is 128 MB. The value must be a multiple of 64 MB.
1551
+ # @return [Integer]
1552
+ #
1553
+ # @!attribute [rw] vpc_config
1554
+ # If your Lambda function accesses resources in a VPC, you provide
1555
+ # this parameter identifying the list of security group IDs and subnet
1556
+ # IDs. These must belong to the same VPC. You must provide at least
1557
+ # one security group and one subnet ID.
1558
+ # @return [Types::VpcConfig]
1559
+ #
1560
+ # @!attribute [rw] environment
1561
+ # The parent object that contains your environment's configuration
1562
+ # settings.
1563
+ # @return [Types::Environment]
1564
+ #
1565
+ # @!attribute [rw] kms_key_arn
1566
+ # The Amazon Resource Name (ARN) of the KMS key used to encrypt your
1567
+ # function's environment variables. If you elect to use the AWS
1568
+ # Lambda default service key, pass in an empty string ("") for this
1569
+ # parameter.
1570
+ # @return [String]
1571
+ #
1572
+ # @!attribute [rw] runtime
1573
+ # The runtime environment for the Lambda function.
1574
+ #
1575
+ # To use the Node.js runtime v4.3, set the value to "nodejs4.3". To
1576
+ # use earlier runtime (v0.10.42), set the value to "nodejs".
1577
+ # @return [String]
1578
+ class UpdateFunctionConfigurationRequest < Struct.new(
1579
+ :function_name,
1580
+ :role,
1581
+ :handler,
1582
+ :description,
1583
+ :timeout,
1584
+ :memory_size,
1585
+ :vpc_config,
1586
+ :environment,
1587
+ :kms_key_arn,
1588
+ :runtime)
1589
+ include Aws::Structure
1590
+ end
1591
+
1592
+ # If your Lambda function accesses resources in a VPC, you provide this
1593
+ # parameter identifying the list of security group IDs and subnet IDs.
1594
+ # These must belong to the same VPC. You must provide at least one
1595
+ # security group and one subnet ID.
1596
+ # @note When making an API call, pass VpcConfig
1597
+ # data as a hash:
1598
+ #
1599
+ # {
1600
+ # subnet_ids: ["SubnetId"],
1601
+ # security_group_ids: ["SecurityGroupId"],
1602
+ # }
1603
+ # @!attribute [rw] subnet_ids
1604
+ # A list of one or more subnet IDs in your VPC.
1605
+ # @return [Array<String>]
1606
+ #
1607
+ # @!attribute [rw] security_group_ids
1608
+ # A list of one or more security groups IDs in your VPC.
1609
+ # @return [Array<String>]
1610
+ class VpcConfig < Struct.new(
1611
+ :subnet_ids,
1612
+ :security_group_ids)
1613
+ include Aws::Structure
1614
+ end
1615
+
1616
+ # VPC configuration associated with your Lambda function.
1617
+ # @!attribute [rw] subnet_ids
1618
+ # A list of subnet IDs associated with the Lambda function.
1619
+ # @return [Array<String>]
1620
+ #
1621
+ # @!attribute [rw] security_group_ids
1622
+ # A list of security group IDs associated with the Lambda function.
1623
+ # @return [Array<String>]
1624
+ #
1625
+ # @!attribute [rw] vpc_id
1626
+ # The VPC ID associated with you Lambda function.
1627
+ # @return [String]
1628
+ class VpcConfigResponse < Struct.new(
1629
+ :subnet_ids,
1630
+ :security_group_ids,
1631
+ :vpc_id)
1632
+ include Aws::Structure
1633
+ end
1634
+
1635
+ end
1636
+ end
1637
+ end