Class: Fog::AWS::Lambda::Real
- Inherits:
-
Object
- Object
- Fog::AWS::Lambda::Real
- Includes:
- CredentialFetcher::ConnectionMethods
- Defined in:
- lib/fog/aws/lambda.rb,
lib/fog/aws/requests/lambda/invoke.rb,
lib/fog/aws/requests/lambda/get_policy.rb,
lib/fog/aws/requests/lambda/get_function.rb,
lib/fog/aws/requests/lambda/add_permission.rb,
lib/fog/aws/requests/lambda/list_functions.rb,
lib/fog/aws/requests/lambda/create_function.rb,
lib/fog/aws/requests/lambda/delete_function.rb,
lib/fog/aws/requests/lambda/remove_permission.rb,
lib/fog/aws/requests/lambda/update_function_code.rb,
lib/fog/aws/requests/lambda/get_event_source_mapping.rb,
lib/fog/aws/requests/lambda/get_function_configuration.rb,
lib/fog/aws/requests/lambda/list_event_source_mappings.rb,
lib/fog/aws/requests/lambda/create_event_source_mapping.rb,
lib/fog/aws/requests/lambda/delete_event_source_mapping.rb,
lib/fog/aws/requests/lambda/update_event_source_mapping.rb,
lib/fog/aws/requests/lambda/update_function_configuration.rb
Instance Attribute Summary collapse
-
#region ⇒ Object
readonly
Returns the value of attribute region.
Instance Method Summary collapse
-
#add_permission(params = {}) ⇒ Object
Adds a permission to the access policy associated with the specified AWS Lambda function.
-
#create_event_source_mapping(params = {}) ⇒ Object
Identifies a stream as an event source for a Lambda function.
-
#create_function(params = {}) ⇒ Object
Creates a new Lambda function.
-
#delete_event_source_mapping(params = {}) ⇒ Object
Removes an event source mapping.
-
#delete_function(params = {}) ⇒ Object
Deletes the specified Lambda function code and configuration.
-
#get_event_source_mapping(params = {}) ⇒ Object
Returns configuration information for the specified event source mapping.
-
#get_function(params = {}) ⇒ Object
Returns the configuration information of the Lambda function.
-
#get_function_configuration(params = {}) ⇒ Object
Returns the configuration information of the Lambda function.
-
#get_policy(params = {}) ⇒ Object
Returns the access policy, containing a list of permissions granted via the AddPermission API, associated with the specified bucket.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to Lambda.
-
#invoke(params = {}) ⇒ Object
Invokes a specified Lambda function.
-
#list_event_source_mappings(params = {}) ⇒ Object
Returns a list of event source mappings where you can identify a stream as an event source.
-
#list_functions(params = {}) ⇒ Object
Returns a list of your Lambda functions.
- #reload ⇒ Object
-
#remove_permission(params = {}) ⇒ Object
Remove individual permissions from an access policy associated with a Lambda function by providing a Statement ID.
-
#update_event_source_mapping(params = {}) ⇒ Object
Change the parameters of the existing mapping without losing your position in the stream.
-
#update_function_code(params = {}) ⇒ Object
Updates the code for the specified Lambda function.
-
#update_function_configuration(params = {}) ⇒ Object
Updates the configuration parameters for the specified Lambda function.
Methods included from CredentialFetcher::ConnectionMethods
#refresh_credentials_if_expired
Constructor Details
#initialize(options = {}) ⇒ Real
Initialize connection to Lambda
Notes
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
Examples
lambda = Lambda.new( :aws_access_key_id => your_aws_access_key_id, :aws_secret_access_key => your_aws_secret_access_key )
Parameters
- options<~Hash> - config arguments for connection. Defaults to {}.
Returns
- Lambda object with connection to AWS.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/fog/aws/lambda.rb', line 83 def initialize(={}) @use_iam_profile = [:use_iam_profile] = [:connection_options] || {} @instrumentor = [:instrumentor] @instrumentor_name = [:instrumentor_name] || 'fog.aws.lambda' [:region] ||= 'us-east-1' @region = [:region] @host = [:host] || "lambda.#{options[:region]}.amazonaws.com" @path = [:path] || '/' @persistent = [:persistent] || false @port = [:port] || 443 @scheme = [:scheme] || 'https' @version = [:version] || '2015-03-31' @connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, ) setup_credentials() end |
Instance Attribute Details
#region ⇒ Object (readonly)
Returns the value of attribute region.
103 104 105 |
# File 'lib/fog/aws/lambda.rb', line 103 def region @region end |
Instance Method Details
#add_permission(params = {}) ⇒ Object
Adds a permission to the access policy associated with the specified AWS Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
Parameters
- FunctionName <~String> - Name of the Lambda function whose access policy you are updating by adding a new permission.
- Action <~String> - AWS Lambda action you want to allow in this statement.
- Principal <~String> - principal who is getting this permission.
- SourceAccount <~String> - AWS account ID (without a hyphen) of the source owner.
- SourceArn <~String> - Amazon Resource Name (ARN) of the source resource to assign permissions.
- StatemendId. <~String> - unique statement identifier.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'Statement' <~Hash> - permission statement you specified in the request.
- body<~Hash>:
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/fog/aws/requests/lambda/add_permission.rb', line 20 def (params={}) function_name = params.delete('FunctionName') action = params.delete('Action') principal = params.delete('Principal') source_account = params.delete('SourceAccount') source_arn = params.delete('SourceArn') sid = params.delete('StatementId') = { 'Action' => action, 'Principal' => principal, 'StatementId' => sid } ['SourceAccount'] = source_account if source_account ['SourceArn'] = source_arn if source_arn request({ :method => 'POST', :path => "/functions/#{function_name}/versions/HEAD/policy", :expects => 201, :body => Fog::JSON.encode(), :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#create_event_source_mapping(params = {}) ⇒ Object
Identifies a stream as an event source for a Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html
Parameters
- BatchSize <~Integer> - largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
- Enabled <~Boolean> - indicates whether AWS Lambda should begin polling the event source.
- EventSourceArn <~String> - Amazon Resource Name (ARN) of the stream that is the event source
- FunctionName <~String> - Lambda function to invoke when AWS Lambda detects an event on the stream.
- StartingPosition <~String> - position in the stream where AWS Lambda should start reading.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'BatchSize' <~Integer> - largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
- 'EventSourceArn' <~String> - Amazon Resource Name (ARN) of the stream that is the source of events.
- 'FunctionArn' <~String> - Lambda function to invoke when AWS Lambda detects an event on the stream.
- 'LastModified' <~Time> - UTC time string indicating the last time the event mapping was updated.
- 'LastProcessingResult' <~String> - result of the last AWS Lambda invocation of your Lambda function.
- 'State' <~String> - state of the event source mapping.
- 'StateTransitionReason' <~String> - reason the event source mapping is in its current state.
- 'UUID' <~String> - AWS Lambda assigned opaque identifier for the mapping.
- body<~Hash>:
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aws/requests/lambda/create_event_source_mapping.rb', line 24 def create_event_source_mapping(params={}) enabled = params.delete('Enabled') batch_size = params.delete('BatchSize') event_source_arn = params.delete('EventSourceArn') function_name = params.delete('FunctionName') starting_pos = params.delete('StartingPosition') data = { 'EventSourceArn' => event_source_arn, 'FunctionName' => function_name, 'StartingPosition' => starting_pos } data.merge!('BatchSize' => batch_size) if batch_size data.merge!('Enabled' => enabled) if !enabled.nil? request({ :method => 'POST', :path => '/event-source-mappings/', :expects => 202, :body => Fog::JSON.encode(data) }.merge(params)) end |
#create_function(params = {}) ⇒ Object
Creates a new Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html
Parameters
- Code <~Hash> - code for the Lambda function.
- Description <~String> - short, user-defined function description.
- FunctionName <~String> - name you want to assign to the function you are uploading.
- Handler <~String> - function within your code that Lambda calls to begin execution.
- MemorySize <~Integer> - amount of memory, in MB, your Lambda function is given.
- Role <~String> - ARN of the IAM role that Lambda assumes when it executes your function to access any other AWS resources.
- Runtime <~String> - runtime environment for the Lambda function you are uploading.
- Timeout <~Integer> - function execution time at which Lambda should terminate the function.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'CodeSize' <~Integer> - size, in bytes, of the function .zip file you uploaded.
- 'Description' <~String> - user-provided description.
- 'FunctionArn' <~String> - Amazon Resource Name (ARN) assigned to the function.
- 'FunctionName' <~String> - name of the function.
- 'Handler' <~String> - function Lambda calls to begin executing your function.
- 'LastModified' <~Time> - timestamp of the last time you updated the function.
- 'MemorySize' <~Integer> - memory size, in MB, you configured for the function.
- 'Role' <~String> - ARN of the IAM role that Lambda assumes when it executes your function to access any other AWS resources.
- 'Runtime' <~String> - runtime environment for the Lambda function.
- 'Timeout' <~Integer> - function execution time at which Lambda should terminate the function.
- body<~Hash>:
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/fog/aws/requests/lambda/create_function.rb', line 31 def create_function(params={}) runtime = params.delete('Runtime') || 'nodejs' code = params.delete('Code') function_name = params.delete('FunctionName') handler = params.delete('Handler') role = params.delete('Role') data = { 'Runtime' => runtime, 'Code' => code, 'FunctionName' => function_name, 'Handler' => handler, 'Role' => role } description = params.delete('Description') data.merge!('Description' => description) if description memory_size = params.delete('MemorySize') data.merge!('MemorySize' => memory_size) if memory_size timeout = params.delete('Timeout') data.merge!('Timeout' => timeout) if timeout request({ :method => 'POST', :path => '/functions', :expects => 201, :body => Fog::JSON.encode(data), :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#delete_event_source_mapping(params = {}) ⇒ Object
Removes an event source mapping. http://docs.aws.amazon.com/lambda/latest/dg/API_DeleteEventSourceMapping.html
Parameters
- UUID <~String> - event source mapping ID.
Returns
- response<~Excon::Response>:
- body<~String>:
13 14 15 16 17 18 19 20 |
# File 'lib/fog/aws/requests/lambda/delete_event_source_mapping.rb', line 13 def delete_event_source_mapping(params={}) mapping_id = params.delete('UUID') request({ :method => 'DELETE', :path => "/event-source-mappings/#{mapping_id}", :expects => 202 }.merge(params)) end |
#delete_function(params = {}) ⇒ Object
Deletes the specified Lambda function code and configuration. http://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunction.html
Parameters
- FunctionName <~String> - Lambda function to delete.
Returns
- response<~Excon::Response>:
- body<~String>:
13 14 15 16 17 18 19 20 |
# File 'lib/fog/aws/requests/lambda/delete_function.rb', line 13 def delete_function(params={}) function_name = params.delete('FunctionName') request({ :method => 'DELETE', :path => "/functions/#{function_name}", :expects => 204 }.merge(params)) end |
#get_event_source_mapping(params = {}) ⇒ Object
Returns configuration information for the specified event source mapping. http://docs.aws.amazon.com/lambda/latest/dg/API_GetEventSourceMapping.html
Parameters
- UUID <~String> - AWS Lambda assigned ID of the event source mapping.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'BatchSize' <~Integer> - largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
- 'EventSourceArn' <~String> - Amazon Resource Name (ARN) of the stream that is the source of events.
- 'FunctionArn' <~String> - Lambda function to invoke when AWS Lambda detects an event on the stream.
- 'LastModified' <~Time> - UTC time string indicating the last time the event mapping was updated.
- 'LastProcessingResult' <~String> - result of the last AWS Lambda invocation of your Lambda function.
- 'State' <~String> - state of the event source mapping.
- 'StateTransitionReason' <~String> - reason the event source mapping is in its current state.
- 'UUID' <~String> - AWS Lambda assigned opaque identifier for the mapping.
- 'Code' <~Hash> - object for the Lambda function location.
- 'Configuration' <~Hash> - function metadata description.
- body<~Hash>:
22 23 24 25 26 27 28 |
# File 'lib/fog/aws/requests/lambda/get_event_source_mapping.rb', line 22 def get_event_source_mapping(params={}) mapping_id = params.delete('UUID') request({ :method => 'GET', :path => "/event-source-mappings/#{mapping_id}" }.merge(params)) end |
#get_function(params = {}) ⇒ Object
Returns the configuration information of the Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_GetFunction.html
Parameters
- FunctionName <~String> - Lambda function name.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'Code' <~Hash> - object for the Lambda function location.
- 'Configuration' <~Hash> - function metadata description.
- body<~Hash>:
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/lambda/get_function.rb', line 16 def get_function(params={}) function_name = params.delete('FunctionName') request({ :method => 'GET', :path => "/functions/#{function_name}/versions/HEAD", :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#get_function_configuration(params = {}) ⇒ Object
Returns the configuration information of the Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_GetFunction.html
Parameters
- FunctionName <~String> - Lambda function name.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'CodeSize' <~Integer> - size, in bytes, of the function .zip file you uploaded.
- 'Description' <~String> - user-provided description.
- 'FunctionArn' <~String> - Amazon Resource Name (ARN) assigned to the function.
- 'FunctionName' <~String> - name of the function.
- 'Handler' <~String> - function Lambda calls to begin executing your function.
- 'LastModified' <~Time> - timestamp of the last time you updated the function.
- 'Memorysize' <~String> - memory size, in MB, you configured for the function.
- 'Role' <~String> - ARN of the IAM role that Lambda assumes when it executes your function to access any other AWS resources.
- 'Runtime' <~String> - runtime environment for the Lambda function.
- 'Timeout' <~Integer> - function execution time at which Lambda should terminate the function.
- body<~Hash>:
24 25 26 27 28 29 30 31 |
# File 'lib/fog/aws/requests/lambda/get_function_configuration.rb', line 24 def get_function_configuration(params={}) function_name = params.delete('FunctionName') request({ :method => 'GET', :path => "/functions/#{function_name}/versions/HEAD/configuration", :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#get_policy(params = {}) ⇒ Object
Returns the access policy, containing a list of permissions granted via the AddPermission API, associated with the specified bucket. http://docs.aws.amazon.com/lambda/latest/dg/API_GetPolicy.html
Parameters
- FunctionName <~String> - Function name whose access policy you want to retrieve.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'Policy' <~Hash> - The access policy associated with the specified function.
- body<~Hash>:
15 16 17 18 19 20 21 22 |
# File 'lib/fog/aws/requests/lambda/get_policy.rb', line 15 def get_policy(params={}) function_name = params.delete('FunctionName') request({ :method => 'GET', :path => "/functions/#{function_name}/versions/HEAD/policy", :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#invoke(params = {}) ⇒ Object
Invokes a specified Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html
Parameters
- ClientContext <~Hash> - client-specific information to the Lambda function you are invoking.
- FunctionName <~String> - Lambda function name.
- InvocationType <~String> - function invocation type.
- LogType <~String> - logs format for function calls of "RequestResponse" invocation type.
- Payload <~Integer> - Lambda function input.
Returns
- response<~Excon::Response>:
- body<~Hash> - JSON representation of the object returned by the Lambda function.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/fog/aws/requests/lambda/invoke.rb', line 17 def invoke(params={}) headers = {} if client_context = params.delete('ClientContext') headers['X-Amz-Client-Context'] = Base64::encode64(Fog::JSON.encode(client_context)) end if invocation_type = params.delete('InvocationType') headers['X-Amz-Invocation-Type'] = invocation_type end if log_type = params.delete('LogType') headers['X-Amz-Log-Type'] = log_type end payload = Fog::JSON.encode(params.delete('Payload')) function_name = params.delete('FunctionName') request({ :method => 'POST', :path => "/functions/#{function_name}/invocations", :headers => headers, :body => payload, :expects => [200, 202, 204] }.merge(params)) end |
#list_event_source_mappings(params = {}) ⇒ Object
Returns a list of event source mappings where you can identify a stream as an event source. http://docs.aws.amazon.com/lambda/latest/dg/API_ListEventSourceMappings.html
Parameters
- EventSourceArn <~String> - Amazon Resource Name (ARN) of the stream.
- FunctionName <~String> - name of the Lambda function.
- Marker <~String> - opaque pagination token returned from a previous ListEventSourceMappings operation.
- MaxItems <~Integer> - maximum number of event sources to return in response.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'EventSourceMappings' <~Array> - array of EventSourceMappingConfiguration objects.
- 'NextMarker' <~String> - present if there are more event source mappings.
- body<~Hash>:
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/aws/requests/lambda/list_event_source_mappings.rb', line 17 def list_event_source_mappings(params={}) event_source_arn = params.delete('EventSourceArn') function_name = params.delete('FunctionName') marker = params.delete('Marker') max_items = params.delete('MaxItems') query = {} query.merge!('EventSourceArn' => event_source_arn) if event_source_arn query.merge!('FunctionName' => function_name) if function_name query.merge!('Marker' => marker) if marker query.merge!('MaxItems' => max_items) if max_items request({ :method => 'GET', :path => '/event-source-mappings/', :query => query }.merge(params)) end |
#list_functions(params = {}) ⇒ Object
Returns a list of your Lambda functions. http://docs.aws.amazon.com/lambda/latest/dg/API_ListFunctions.html
Parameters
- Marker <~String> - opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.
- MaxItems <~Integer> - Specifies the maximum number of AWS Lambda functions to return in response.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'Functions' <~Array> - list of Lambda functions.
- 'NextMarker' <~String> - present if there are more functions.
- body<~Hash>:
17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/lambda/list_functions.rb', line 17 def list_functions(params={}) request({ :method => 'GET', :path => '/functions/', :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#reload ⇒ Object
105 106 107 |
# File 'lib/fog/aws/lambda.rb', line 105 def reload @connection.reset end |
#remove_permission(params = {}) ⇒ Object
Remove individual permissions from an access policy associated with a Lambda function by providing a Statement ID. http://docs.aws.amazon.com/lambda/latest/dg/API_RemovePermission.html
Parameters
- FunctionName <~String> - Lambda function whose access policy you want to remove a permission from.
- StatementId <~String> - Statement ID of the permission to remove.
Returns
- response<~Excon::Response>:
- body<~String>:
14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/aws/requests/lambda/remove_permission.rb', line 14 def (params={}) function_name = params.delete('FunctionName') statement_id = params.delete('StatementId') request({ :method => 'DELETE', :path => "/functions/#{function_name}/versions/HEAD/policy/#{statement_id}", :expects => 204 }.merge(params)) end |
#update_event_source_mapping(params = {}) ⇒ Object
Change the parameters of the existing mapping without losing your position in the stream. http://docs.aws.amazon.com/lambda/latest/dg/API_UpdateEventSourceMapping.html
Parameters
- UUID <~String> - event source mapping identifier.
- BatchSize <~Integer> - maximum number of stream records that can be sent to your Lambda function for a single invocation.
- Enabled <~Boolean> - specifies whether AWS Lambda should actively poll the stream or not.
- FunctionName <~String> - Lambda function to which you want the stream records sent.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'BatchSize' <~Integer> - largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.
- 'EventSourceArn' <~String> - Amazon Resource Name (ARN) of the stream that is the source of events.
- 'FunctionArn' <~String> - Lambda function to invoke when AWS Lambda detects an event on the stream.
- 'LastModified' <~Time> - UTC time string indicating the last time the event mapping was updated.
- 'LastProcessingResult' <~String> - result of the last AWS Lambda invocation of your Lambda function.
- 'State' <~String> - state of the event source mapping.
- 'StateTransitionReason' <~String> - reason the event source mapping is in its current state.
- 'UUID' <~String> - AWS Lambda assigned opaque identifier for the mapping.
- body<~Hash>:
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/fog/aws/requests/lambda/update_event_source_mapping.rb', line 23 def update_event_source_mapping(params={}) function_name = params.delete('FunctionName') mapping_id = params.delete('UUID') batch_size = params.delete('BatchSize') enabled = params.delete('Enabled') update = {} update.merge!('BatchSize' => batch_size) if batch_size update.merge!('Enabled' => enabled) if !enabled.nil? update.merge!('FunctionName' => function_name) if function_name request({ :method => 'PUT', :path => "/event-source-mappings/#{mapping_id}", :expects => 202, :body => Fog::JSON.encode(update) }.merge(params)) end |
#update_function_code(params = {}) ⇒ Object
Updates the code for the specified Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionCode.html
Parameters
- FunctionName <~String> - existing Lambda function name whose code you want to replace.
- S3Bucket <~String> - Amazon S3 bucket name where the .zip file containing your deployment package is stored.
- S3Key <~String> - Amazon S3 object (the deployment package) key name you want to upload.
- S3ObjectVersion <~String> - Amazon S3 object (the deployment package) version you want to upload.
- ZipFile <~String> - Based64-encoded .zip file containing your packaged source code.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'CodeSize' <~Integer> - size, in bytes, of the function .zip file you uploaded.
- 'Description' <~String> - user-provided description.
- 'FunctionArn' <~String> - Amazon Resource Name (ARN) assigned to the function.
- 'FunctionName' <~String> - name of the function.
- 'Handler' <~String> - function Lambda calls to begin executing your function.
- 'LastModified' <~Time> - timestamp of the last time you updated the function.
- 'Memorysize' <~String> - memory size, in MB, you configured for the function.
- 'Role' <~String> - ARN of the IAM role that Lambda assumes when it executes your function to access any other AWS resources.
- 'Runtime' <~String> - runtime environment for the Lambda function.
- 'Timeout' <~Integer> - function execution time at which Lambda should terminate the function.
- body<~Hash>:
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/fog/aws/requests/lambda/update_function_code.rb', line 28 def update_function_code(params={}) function_name = params.delete('FunctionName') s3_bucket = params.delete('S3Bucket') s3_key = params.delete('S3Key') s3_object_ver = params.delete('S3ObjectVersion') zip_file = params.delete('ZipFile') update = {} update.merge!('S3Bucket' => s3_bucket) if s3_bucket update.merge!('S3Key' => s3_key) if s3_key update.merge!('S3ObjectVersion' => s3_object_ver) if s3_object_ver update.merge!('ZipFile' => zip_file) if zip_file request({ :method => 'PUT', :path => "/functions/#{function_name}/versions/HEAD/code", :body => Fog::JSON.encode(update), :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |
#update_function_configuration(params = {}) ⇒ Object
Updates the configuration parameters for the specified Lambda function. http://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionConfiguration.html
Parameters
- FunctionName <~String> - name of the Lambda function.
- Description <~String> - short user-defined function description.
- Handler <~String> - function that Lambda calls to begin executing your function.
- MemorySize <~Integer> - amount of memory, in MB, your Lambda function is given.
- Role <~String> - ARN of the IAM role that Lambda will assume when it executes your function.
- Timeout <~Integer> - function execution time at which AWS Lambda should terminate the function.
Returns
- response<~Excon::Response>:
- body<~Hash>:
- 'CodeSize' <~Integer> - size, in bytes, of the function .zip file you uploaded.
- 'Description' <~String> - user-provided description.
- 'FunctionArn' <~String> - Amazon Resource Name (ARN) assigned to the function.
- 'FunctionName' <~String> - name of the function.
- 'Handler' <~String> - function Lambda calls to begin executing your function.
- 'LastModified' <~Time> - timestamp of the last time you updated the function.
- 'Memorysize' <~String> - memory size, in MB, you configured for the function.
- 'Role' <~String> - ARN of the IAM role that Lambda assumes when it executes your function to access any other AWS resources.
- 'Runtime' <~String> - runtime environment for the Lambda function.
- 'Timeout' <~Integer> - function execution time at which Lambda should terminate the function.
- body<~Hash>:
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/fog/aws/requests/lambda/update_function_configuration.rb', line 29 def update_function_configuration(params={}) function_name = params.delete('FunctionName') description = params.delete('Description') handler = params.delete('Handler') memory_size = params.delete('MemorySize') role = params.delete('Role') timeout = params.delete('Timeout') update = {} update.merge!('Description' => description) if description update.merge!('Handler' => handler) if handler update.merge!('MemorySize' => memory_size) if memory_size update.merge!('Role' => role) if role update.merge!('Timeout' => timeout) if timeout request({ :method => 'PUT', :path => "/functions/#{function_name}/versions/HEAD/configuration", :body => Fog::JSON.encode(update), :parser => Fog::AWS::Parsers::Lambda::Base.new }.merge(params)) end |