Lambda
Resumo
- Permite o gerenciamento de funções do Lambda
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
aws_access_key aliases: ec2_access_key, access_key | string | | AWS access key. Se não for definido, o valor da variável AWS_ACCESS_KEY_ID de ambiente AWS_ACCESS_KEY ou EC2_ACCESS_KEY será usado. Se o profile for definido, este parâmetro será ignorado. |
aws_ca_bundle | path | | A localização de um CA Bundle a ser usado ao validar certificados SSL. Observação: o CA Bundle é lido no lado do 'módulo' e pode precisar ser copiado explicitamente do controlador se não for executado localmente. |
aws_config dicionário | dictionary | | Um dicionário para modificar a configuração do botocore. Os parâmetros podem ser encontrados em https://botocore.amazonaws.com. Apenas a chave 'user_agent' é usada para módulos boto. Consulte http://boto.cloudhackers.com/ para obter mais configurações de boto. |
aws_secret_key aliases: ec2_secret_key, secret_key | string | | AWS secret key. Se não for definido, o valor da variável de ambiente AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY ou EC2_SECRET_KEY será usado. |
dead_letter_arn | string | | O objeto pai que contém o nome de recurso da Amazon (ARN) de destino de uma fila do Amazon SQS ou um tópico do Amazon SNS. |
debug_botocore_endpoint_logs | boolean | Escolhas:
| Use um registrador botocore.endpoint para analisar as chamadas de API “resource:action” exclusivas (em vez de totais) feitas durante uma tarefa, enviando o conjunto para a chave resource_actions nos resultados da tarefa. Use o retorno de chamada aws_resource_action para gerar a lista total feita durante um playbook. A variável de ambiente ATMOSPHERE_DEBUG_BOTOCORE_LOGS também pode ser usada. |
description | string | | Uma breve descrição da função definida pelo usuário. Lambda não usa esse valor. Atribua uma descrição significativa como achar melhor. |
ec2_url aliases: aws_endpoint_url, endpoint_url | string | | URL a ser usada para conectar-se ao EC2 ou à sua nuvem Eucalyptus (por padrão, o módulo usará endpoints do EC2). Ignorado para módulos onde a região é necessária. Deve ser especificado para todos os outros módulos se a região não for usada. Se não for definido, o valor da variável de ambiente EC2_URL, se houver, será usado. |
environment_variables | dictionary | | Um dicionário de variáveis de ambiente que a função Lambda é fornecida. |
handler fragmento | string | | A função em seu código que o Lambda chama para iniciar a execução. |
memory_size | integer | Padrão: 128 | A quantidade de memória, em MB, é fornecida à sua função Lambda. |
name obrigatório | string | | O nome que você deseja atribuir à função que está carregando. Não pode ser mudado. |
profile aliases: aws_profile | string | | O uso do profile substituirá aws_access_key, aws_secret_key e security_token e o suporte para passá-los ao mesmo tempo em que o profile foi descontinuado. |
region aliases: aws_region, ec2_region | string | | A região da AWS a ser usada. Se não for especificado, o valor da variável de ambiente AWS_REGION ou EC2_REGION, se houver, será usado. Consulte http://docs.aws.amazon.com/ |
role | string | | O nome de recurso da Amazon (ARN) da função do IAM que o Lambda assume ao executar sua função para acessar quaisquer outros recursos da Amazon Web Services (AWS). Você pode usar o ARN simples se a função pertencer à mesma conta da AWS. Necessário quando state=present . |
runtime | string | | O ambiente de tempo de execução para a função do Lambda que você está carregando. Necessário ao criar uma função. Usa parâmetros conforme descrito nos documentos boto3. Necessário quando state=present . Para obter a lista de tempos de execução com suporte, consulte https://docs.aws.amazon.com. |
s3_bucket | string | | Nome do bucket do Amazon S3 em que o arquivo .zip que contém seu pacote de implantação está armazenado. Se state=present , zip_file ou s3_bucket devem estar presentes. s3_bucket e s3_key são necessários juntos. |
s3_key | string | | O nome da chave do objeto do Amazon S3 (o pacote de implantação) que você deseja fazer upload. s3_bucket e s3_key são necessários juntos. |
s3_object_version | string | | A versão do objeto do Amazon S3 (o pacote de implantação) que você deseja fazer upload. |
token de segurança aliases: aws_security_token, access_token | string | | AWS STS security token. Se não for definido, o valor da variável de ambiente AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN será usado. Se o perfil for definido, este parâmetro será ignorado. |
Estado | string | Escolhas:
| Crie ou exclua a função Lambda. |
Tags | dictionary | | Marque dict para aplicar à função. |
timeout | integer | Padrão: 3 | O tempo máximo de execução da função em segundos após o qual o Lambda deve encerrar a função. |
tracing_mode | string | Escolhas:
| Defina o modo como 'Ativo' para amostrar e rastrear solicitações recebidas com o AWS X-Ray. Desligado (definido como 'PassThrough') por padrão. |
valid_certs | boolean | Escolhas:
| Quando definido como “não”, os certificados SSL não serão validados para comunicação com as APIs da AWS. |
vpc_security_group_ids | list / elements=string | | Lista de IDs de security group da VPC para associar à função do Lambda. Necessário quando vpc_subnet_ids é usado. |
vpc_subnet_ids | list / elements=string | | Lista de IDs de sub-rede para executar a função Lambda. Use essa opção se precisar acessar recursos em sua VPC. Deixe em branco se não quiser executar a função em uma VPC. Se configurado, vpc_security_group_ids também deve ser configurado. |
zip_file aliases: src | string | | Um arquivo .zip contendo seu pacote de implantação. Se state=present , zip_file ou s3_bucket devem estar presentes. |
Notas
- Se os parâmetros não forem definidos no módulo, as seguintes variáveis de ambiente podem ser usadas em ordem decrescente de precedência:
- AWS_URL ou EC2_URL,
- AWS_PROFILE ou AWS_DEFAULT_PROFILE,
- AWS_ACCESS_KEY_ID ou AWS_ACCESS_KEY ou EC2_ACCESS_KEY,
- AWS_SECRET_ACCESS_KEY ou AWS_SECRET_KEY ou EC2_SECRET_KEY,
- AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN,
- AWS_REGION ou EC2_REGION, AWS_CA_BUNDLE
- Quando nenhuma credencial é fornecida explicitamente, o AWS SDK (boto3) que o Atmosphere usa retornará aos seus arquivos de configuração (normalmente ~/.aws/credentials). Consulte https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html para obter mais informações.
- Módulos baseados no AWS SDK original (boto) podem ler sua configuração padrão de arquivos diferentes. Consulte https://boto.readthedocs.io/en/latest/boto_config_tut.html para obter mais informações.
- AWS_REGION ou EC2_REGION pode ser normalmente usado para especificar a região da AWS, quando necessário, mas isso também pode ser definido nos arquivos de configuração.
Exemplos
# Create Lambda functions
- name: looped creation
lambda:
name: '{{ item.name }}'
state: present
zip_file: '{{ item.zip_file }}'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
vpc_subnet_ids:
- subnet-123abcde
- subnet-edcba321
vpc_security_group_ids:
- sg-123abcde
- sg-edcba321
environment_variables: '{{ item.env_vars }}'
tags:
key1: 'value1'
loop:
- name: HelloWorld
zip_file: hello-code.zip
env_vars:
key1: "first"
key2: "second"
- name: ByeBye
zip_file: bye-code.zip
env_vars:
key1: "1"
key2: "2"
# To remove previously added tags pass an empty dict
- name: remove tags
lambda:
name: 'Lambda function'
state: present
zip_file: 'code.zip'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
tags: {}
# Basic Lambda function deletion
- name: Delete Lambda functions HelloWorld and ByeBye
lambda:
name: '{{ item }}'
state: absent
loop:
- HelloWorld
- ByeByeValores de retorno
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
code | dictionary | sucesso | o local da função lambda retornado por get_function em boto3 |
configuration | dictionary | sucesso | os metadados da função lambda retornados por get_function em boto3 |