amazon.cloud.lambda_function (0.1.0) — module

Create and manage Lambda functions

| "added in version" 0.1.0 of amazon.cloud"

Authors: Ansible Cloud Team (@ansible-collections)

Install collection

Install with ansible-galaxy collection install amazon.cloud:==0.1.0


Add to requirements.yml

  collections:
    - name: amazon.cloud
      version: 0.1.0

Description

Creates and manage Lambda functions (list, create, update, describe, delete).


Requirements

Inputs

    
code:
    description:
    - The code for the function.
    required: true
    suboptions:
      image_uri:
        description:
        - I(image_uri).
        type: str
      s3_bucket:
        description:
        - An Amazon S3 bucket in the same AWS Region as your function.
        - The bucket can be in a different AWS account.
        type: str
      s3_key:
        description:
        - The Amazon S3 key of the deployment package.
        type: str
      s3_object_version:
        description:
        - For versioned objects, the version of the deployment package object to use.
        type: str
      zip_file:
        description:
        - The source code of your Lambda function.
        - If you include your function source inline with this parameter, AWS CloudFormation
          places it in a file named index and zips it to create a deployment package..
        type: str
    type: dict

role:
    description:
    - The Amazon Resource Name (ARN) of the functions execution role.
    required: true
    type: str

tags:
    aliases:
    - resource_tags
    description:
    - A dict of tags to apply to the resource.
    - To remove all tags set I(tags={}) and I(purge_tags=true).
    required: false
    type: dict

wait:
    default: false
    description:
    - Wait for operation to complete before returning.
    type: bool

state:
    choices:
    - present
    - absent
    - list
    - describe
    - get
    default: present
    description:
    - Goal state for resource.
    - I(state=present) creates the resource if it doesn't exist, or updates to the provided
      state if the resource already exists.
    - I(state=absent) ensures an existing instance is deleted.
    - I(state=list) get all the existing resources.
    - I(state=describe) or I(state=get) retrieves information on an existing resource.
    type: str

layers:
    description:
    - A list of function layers to add to the functions execution environment.
    - Specify each layer by its ARN, including the version.
    elements: str
    type: list

region:
    aliases:
    - aws_region
    - ec2_region
    description:
    - The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION
      environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
    type: str

ec2_url:
    aliases:
    - aws_endpoint_url
    - endpoint_url
    description:
    - URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will
      use EC2 endpoints). Ignored for modules where region is required. Must be specified
      for all other modules if region is not used. If not set then the value of the EC2_URL
      environment variable, if any, is used.
    type: str

handler:
    description:
    - The name of the method within your code that Lambda calls to execute your function.
    - The format includes the file name.
    - It can also include namespaces and other qualifiers, depending on the runtime
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token)
      and support for passing them at the same time as I(profile) has been deprecated.
    - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually
      exclusive with I(profile) after 2022-06-01.
    type: str

runtime:
    description:
    - The identifier of the functions runtime.
    type: str

timeout:
    description:
    - The amount of time that Lambda allows a function to run before stopping it.
    - The default is 3 seconds.
    - The maximum allowed value is 900 seconds.
    type: int

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config).
    type: dict

purge_tags:
    default: true
    description:
    - Remove tags not listed in I(tags).
    required: false
    type: bool

vpc_config:
    description:
    - For network connectivity to AWS resources in a VPC, specify a list of security groups
      and subnets in the VPC.The VPC security groups and subnets that are attached to
      a Lambda function.
    - When you connect a function to a VPC, Lambda creates an elastic network interface
      for each combination of security group and subnet in the functions VPC configuration.
    - The function can only access resources and the internet through that VPC.
    suboptions:
      security_group_ids:
        description:
        - A list of VPC security groups IDs.
        elements: str
        type: list
      subnet_ids:
        description:
        - A list of VPC subnet IDs.
        elements: str
        type: list
    type: dict

description:
    description:
    - A description of the function.
    type: str

environment:
    description:
    - Environment variables that are accessible from function code during execution.A
      functions environment variable settings.
    suboptions:
      variables:
        description:
        - Environment variable key-value pairs.
        type: dict
    type: dict

kms_key_arn:
    description:
    - The ARN of the AWS Key Management Service (AWS KMS) key thats used to encrypt your
      functions environment variables.
    - If its not provided, AWS Lambda uses a default service key.
    type: str

memory_size:
    description:
    - The amount of memory that your function has access to.
    - Increasing the functions memory also increases its CPU allocation.
    - The default value is 128 MB. The value must be a multiple of 64 MB.
    type: int

image_config:
    description:
    - I(image_config)
    suboptions:
      command:
        description:
        - Command.
        elements: str
        type: list
      entry_point:
        description:
        - I(entry_point).
        elements: str
        type: list
      working_directory:
        description:
        - I(working_directory).
        type: str
    type: dict

package_type:
    choices:
    - Image
    - Zip
    description:
    - I(package_type).
    type: str

wait_timeout:
    default: 320
    description:
    - How many seconds to wait for an operation to complete before timing out.
    type: int

architectures:
    choices:
    - arm64
    - x86_64
    description:
    - Not Provived.
    elements: str
    type: list

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied
      from the controller if not run locally.'
    type: path

function_name:
    description:
    - The name of the Lambda function, up to 64 characters in length.
    - If you dont specify a name, AWS CloudFormation generates one.
    type: str

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY)
      or C(EC2_ACCESS_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

aws_secret_key:
    aliases:
    - ec2_secret_key
    - secret_key
    description:
    - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY),
      or C(EC2_SECRET_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

security_token:
    aliases:
    - aws_session_token
    - session_token
    - aws_security_token
    - access_token
    description:
    - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN)
      or C(EC2_SECURITY_TOKEN) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(security_token) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    - Aliases I(aws_session_token) and I(session_token) have been added in version 3.2.0.
    type: str

tracing_config:
    description:
    - Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.The
      functions AWS X-Ray tracing configuration.
    - To sample and record incoming requests, set Mode to Active.
    suboptions:
      mode:
        choices:
        - Active
        - PassThrough
        description:
        - The tracing mode.
        type: str
    type: dict

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for communication with
      the AWS APIs.
    type: bool

ephemeral_storage:
    description:
    - A functions ephemeral storage settings.A functions ephemeral storage settings.
    suboptions:
      size:
        description:
        - The amount of ephemeral storage that your function has access to.
        required: true
        type: int
    type: dict

dead_letter_config:
    description:
    - A dead letter queue configuration that specifies the queue or topic where Lambda
      sends asynchronous events when they fail processing.The dead-letter queue for failed
      asynchronous invocations.
    suboptions:
      target_arn:
        description:
        - The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
        type: str
    type: dict

file_system_configs:
    description:
    - Connection settings for an Amazon EFS file system.
    - To connect a function to a file system, a mount target must be available in every
      Availability Zone that your function connects to.
    - If your template contains an AWS::EFS::I(mount_target) resource, you must also specify
      a I(depends_on) attribute to ensure that the mount target is created or updated
      before the function.
    elements: dict
    suboptions:
      local_mount_path:
        description:
        - The path where the function can access the file system, starting with /mnt/.
        required: true
        type: str
    type: list

code_signing_config_arn:
    description:
    - A unique Arn for I(code_signing_config) resource
    type: str

debug_botocore_endpoint_logs:
    default: 'no'
    description:
    - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action"
      API calls made during a task, outputing the set to the resource_actions key in the
      task results. Use the aws_resource_action callback to output to total list made
      during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also
      be used.
    type: bool

reserved_concurrent_executions:
    description:
    - The number of simultaneous executions to reserve for the function.
    type: int

Outputs

result:
  contains:
    identifier:
      description: The unique identifier of the resource.
      type: str
    properties:
      description: The resource properties.
      type: dict
  description: Dictionary containing resource information.
  returned: always
  type: complex