community.aws.lambda_info (4.3.0) — module

Gathers AWS Lambda function details

| "added in version" 1.0.0 of community.aws"

Authors: Pierre Jodouin (@pjodouin)

Install collection

Install with ansible-galaxy collection install community.aws:==4.3.0


Add to requirements.yml

  collections:
    - name: community.aws
      version: 4.3.0

Description

Gathers various details related to Lambda functions, including aliases, versions and event source mappings.

Use module M(community.aws.lambda) to manage the lambda function itself, M(community.aws.lambda_alias) to manage function aliases, M(community.aws.lambda_event) to manage lambda event source mappings, and M(community.aws.lambda_policy) to manage policy statements.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
---
# Simple example of listing all info for a function
- name: List all for a specific function
  community.aws.lambda_info:
    query: all
    function_name: myFunction
  register: my_function_details
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# List all versions of a function
- name: List function versions
  community.aws.lambda_info:
    query: versions
    function_name: myFunction
  register: my_function_versions
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# List all info for all functions
- name: List all functions
  community.aws.lambda_info:
    query: all
  register: output
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: show Lambda information
  ansible.builtin.debug:
    msg: "{{ output['function'] }}"

Inputs

    
query:
    choices:
    - aliases
    - all
    - config
    - mappings
    - policy
    - versions
    - tags
    description:
    - Specifies the resource type for which to gather information.
    - Defaults to C(all) when I(function_name) is specified.
    - Defaults to C(config) when I(function_name) is NOT specified.
    type: str

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

profile:
    aliases:
    - aws_profile
    description:
    - Uses a boto profile. Only works with boto >= 2.24.0.
    - 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

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).
    - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto)
      for more boto configuration.
    type: dict

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - Only used for boto3 based modules.
    - '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:
    aliases:
    - function
    - name
    description:
    - The name of the lambda function for which information is requested.
    type: str

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - AWS access key. If not set then the value of the AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY
      or 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:
    - AWS secret key. If not set then the value of the AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY,
      or 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_security_token
    - access_token
    description:
    - AWS STS security token. If not set then the value of the AWS_SECURITY_TOKEN or 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.
    type: str

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for boto versions >= 2.6.0.
    type: bool

event_source_arn:
    description:
    - When I(query=mappings), this is the Amazon Resource Name (ARN) of the Amazon Kinesis
      or DynamoDB stream.
    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

Outputs

function:
  description:
  - lambda function list.
  - C(function) has been deprecated in will be removed in the next major release after
    2025-01-01.
  returned: success
  type: dict
function.TheName:
  description:
  - lambda function information, including event, mapping, and version information.
  - C(function) has been deprecated in will be removed in the next major release after
    2025-01-01.
  returned: success
  type: dict
functions:
  contains:
    aliases:
      description: The aliases associated with the function.
      elements: str
      returned: when C(query) is I(aliases) or I(all)
      type: list
    code_sha256:
      description: The SHA256 hash of the function's deployment package.
      returned: success
      sample: zOAGfF5JLFuzZoSNirUtOrQp+S341IOA3BcoXXoaIaU=
      type: str
    code_size:
      description: The size of the function's deployment package in bytes.
      returned: success
      sample: 123
      type: int
    dead_letter_config:
      contains:
        target_arn:
          description: The ARN of an SQS queue or SNS topic.
          returned: when the function has a dead letter queue configured
          sample: arn:aws:lambda:us-east-1:123456789012:function:myFunction:1
          type: str
      description: The function's dead letter queue.
      returned: when the function has a dead letter queue configured
      sample:
        target_arn: arn:aws:lambda:us-east-1:123456789012:function:myFunction:1
      type: dict
    description:
      description: The function's description.
      returned: success
      sample: My function
      type: str
    environment:
      contains:
        error:
          contains:
            error_code:
              description: The error code.
              returned: when there is an error applying environment variables
              type: str
            message:
              description: The error message.
              returned: when there is an error applying environment variables
              type: str
          description: Error message for environment variables that could not be applied.
          returned: when there is an error applying environment variables
          type: dict
        variables:
          description: Environment variable key-value pairs.
          returned: when environment variables exist
          sample:
            key: value
          type: dict
      description: The function's environment variables.
      returned: when environment variables exist
      type: dict
    function_arn:
      description: The function's Amazon Resource Name (ARN).
      returned: on success
      sample: arn:aws:lambda:us-east-1:123456789012:function:myFunction:1
      type: str
    function_name:
      description: The function's name.
      returned: on success
      sample: myFunction
      type: str
    handler:
      description: The function Lambda calls to begin executing your function.
      returned: on success
      sample: index.handler
      type: str
    last_modified:
      description: The date and time that the function was last updated, in ISO-8601
        format (YYYY-MM-DDThh:mm:ssTZD).
      returned: on success
      sample: 2017-08-01T00:00:00.000+0000
      type: str
    mappings:
      contains:
        batch_size:
          description: The largest number of records that AWS Lambda will retrieve
            from the event source at the time of invoking the function.
          returned: on success
          type: int
        event_source_arn:
          description: The ARN of the Amazon Kinesis or DyanmoDB stream that is the
            source of events.
          returned: on success
          type: str
        function_arn:
          description: The Lambda function to invoke when AWS Lambda detects an event
            on the poll-based source.
          returned: on success
          type: str
        last_modified:
          description: The UTC time string indicating the last time the event mapping
            was updated.
          returned: on success
          type: str
        last_processing_result:
          description: The result of the last AWS Lambda invocation of your Lambda
            function.
          returned: on success
          type: str
        state:
          description: The state of the event source mapping.
          returned: on success
          type: str
        state_transition_reason:
          description: The reason the event source mapping is in its current state.
          returned: on success
          type: str
        uuid:
          description: The AWS Lambda assigned opaque identifier for the mapping.
          returned: on success
          type: str
      description: List of configuration information for each event source mapping.
      elements: dict
      returned: when C(query) is I(all) or I(mappings)
      type: list
    memory_size:
      description: The memory allocated to the function.
      returned: on success
      sample: 128
      type: int
    policy:
      description: The policy associated with the function.
      returned: when C(query) is I(all) or I(policy)
      type: dict
    revision_id:
      description: The latest updated revision of the function or alias.
      returned: on success
      sample: a2x9886d-d48a-4a0c-ab64-82abc005x80c
      type: str
    role:
      description: The function's execution role.
      returned: on success
      sample: arn:aws:iam::123456789012:role/lambda_basic_execution
      type: str
    runtime:
      description: The funtime environment for the Lambda function.
      returned: on success
      sample: nodejs6.10
      type: str
    timeout:
      description: The amount of time that Lambda allows a function to run before
        terminating it.
      returned: on success
      sample: 3
      type: int
    tracing_config:
      contains:
        mode:
          description: The tracing mode.
          returned: on success
          sample: Active
          type: str
      description: The function's AWS X-Ray tracing configuration.
      returned: on success
      sample:
        mode: Active
      type: dict
    version:
      description: The version of the Lambda function.
      returned: on success
      sample: '1'
      type: str
    versions:
      description: List of Lambda function versions.
      elements: dict
      returned: when C(query) is I(all) or I(versions)
      type: list
    vpc_config:
      description: The function's networking configuration.
      returned: on success
      sample:
        security_group_ids: []
        subnet_ids: []
        vpc_id: '123'
      type: dict
  description: List of information for each lambda function matching the query.
  elements: dict
  returned: always
  type: list
  version_added: 4.1.0
  version_added_collection: community.aws