aws_lambdas resource

[edit on GitHub]

Use the aws_lambdas resource to test the collection of lambdas deployed into an account.

Syntax

describe aws_lambdas do
  its('count') { should eq 20 }
end

Parameters

This resource does not expect any parameters.

Properties

Property Description
names The names of the lambda deployed.
tags The tags of the lambda deployed.

Examples

tests that all lambdas with a particular tag is correctly deployed

lambdas = aws_lambdas()

describe lambdas do
  its ('count') { should eq 33}
end

lambdas.tags.each_with_index { | tag, i |
  if tag!= {} and tag.include? 'Application' and tag['Application']=='test')
    lambda_name = lambdas.names[i]

    describe aws_lambda(lambda_name) do
        it { should exist}
        its ('handler') { should eq 'main.on_event'}
        its ('version') { should eq '$LATEST' }
        its ('runtime') { should eq 'python3.7' }
    end
  end
}

Matchers

This InSpec audit resource uses the standard matchers. For a full list of available matchers, please visit our matchers page.

AWS Permissions

Your Principal will need the lambda:ListFunctions action with Effect set to Allow.

You can find detailed documentation at AWS Lambda

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/aws_lambdas/