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
+ # 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