S3 Lifecycle
Resumo
Gerencie as regras do ciclo de vida do bucket do S3 na AWS
Requisitos
Os requisitos abaixo são necessários no host que executa este módulo.
- bot3 >= 1.15.0
- botocore >= 1.18.0
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
aws_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. Não usado por módulos baseados em boto 2. 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 | 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 | 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. Se o perfil for definido, este parâmetro será ignorado. |
debug_botocore_endpoint_logs | boolean | Escolhas: - false - true | 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 ANSIBLE_DEBUG_BOTOCORE_LOGS também pode ser usada. |
ec2_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. |
expiration_date | string | | Indica o tempo de vida dos objetos sujeitos à regra até a data em que expirarão. O valor deve estar no formato ISO-8601, a hora deve ser meia-noite e um fuso horário GMT deve ser especificado. |
expiration_days | integer | | Indica o tempo de vida, em dias, dos objetos sujeitos à regra. O valor deve ser um número inteiro positivo diferente de zero. |
name - required | string | | Nome do bucket do S3. |
noncurrent_version_expiration_days | integer | | O número de dias após os quais as versões não atuais devem ser excluídas. |
noncurrent_version_storage_class | string | Escolhas: - glacier - onezone_ia - intelligent_tiering - deep_archive | A classe de armazenamento para a qual as versões não atuais são transferidas. |
noncurrent_version_transition_days | integer | | O número de dias após os quais as versões não atuais serão transferidas para a classe de armazenamento especificada em noncurrent_version_storage_class . |
noncurrent_version_transitions | list / elements=dictionary | | Uma lista de comportamentos de transição a serem aplicados a versões não atuais da regra. Cada classe de armazenamento pode ser usada apenas uma vez. Cada comportamento de transição contém esses elementos transition_days_storage_class |
prefix | string | | Prefixo que identifica um ou mais objetos aos quais a regra se aplica. Se nenhum prefixo for especificado, a regra será aplicada a todo o bucket. |
profile | string | | O uso do perfil 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. |
purge_transitions | boolean | Escolhas: - false - true(default) | Se todas as transições atuais devem ser substituídas pelas novas transições. Quando false, as transições fornecidas serão adicionadas, substituindo as transições pela mesma storage_class. Quando verdadeiro, as transições existentes serão removidas e substituídas pelas novas transições |
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 |
rule_id | string | | Identificador exclusivo para a regra. O valor não pode ter mais de 255 caracteres. Um valor exclusivo para a regra será gerado se nenhum valor for fornecido. |
security_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. |
state | string | Escolhas: - present(default) - absent | Crie ou remova a regra de ciclo de vida. |
status | string | Escolhas: - enabled(default) - disabled | Se enabled, a regra está sendo aplicada no momento. Se disabled, a regra não está sendo aplicada no momento. |
storage_class | string | Escolhas: - glacier - onezone_ia - standard_ia - intelligent_tiering - deep_archive | A classe de armazenamento para a qual fazer a transição. |
transition_date | string | | Indica o tempo de vida dos objetos sujeitos à regra pela data em que farão a transição para uma classe de armazenamento diferente. O valor deve estar no formato ISO-8601, a hora deve ser meia-noite e um fuso horário GMT deve ser especificado. Se (transition_days) não for especificado, esse parâmetro será obrigatório. |
transition_days | integer | | Indica quando, em dias, um objeto transita para uma classe de armazenamento diferente. Se transição_date não for especificado, esse parâmetro será obrigatório. |
transitions | list / elements=dictionary | | Uma lista de comportamentos de transição a serem aplicados à regra. Cada classe de armazenamento pode ser usada apenas uma vez. Cada comportamento de transição pode conter esses elementos transition_days transition_date storage_class |
validate_certs | boolean | Escolhas: - false - true(default) | Quando definido como "false", os certificados SSL não serão validados para comunicação com as APIs da AWS. |
wait | boolean | Escolhas: - false(default) - true | Aguarde a conclusão da configuração antes de retornar. |
Extende fragmentos da documentação do módulo aws e ec2.
Notas
- Se especificar o tempo de expiração como dias, o tempo de transição também deve ser especificado em dias.
- Se especificar o tempo de expiração como uma data, o tempo de transição também deve ser especificado como uma data.
- 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_URLou 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 Ansible 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
# Observação: esses exemplos não definem detalhes de autenticação, consulte o AWS Guide para obter detalhes.
- name: Configure uma regra de ciclo de vida em um bucket para expirar (excluir) itens com um prefixo de /logs/ após 30 dias
community.aws.s3_lifecycle:
name: mybucket
expiration_days: 30
prefix: logs/
status: enabled
state: present
- name: Configure uma regra de ciclo de vida para fazer a transição de todos os itens com o prefixo /logs/ para glaciar após 7 dias e exclua após 90 dias
community.aws.s3_lifecycle:
name: mybucket
transition_days: 7
expiration_days: 90
prefix: logs/
status: enabled
state: present
# Observe que meia-noite GMT deve ser especificada.
# Certifique-se de citar suas strings de data
- name: Configure uma regra de ciclo de vida para fazer a transição de todos os itens com o prefixo /logs/ para glacier em 31 de dezembro de 2020 e exclua em 31 de dezembro de 2030.
community.aws.s3_lifecycle:
name: mybucket
transition_date: "2020-12-30T00:00:00.000Z"
expiration_date: "2030-12-30T00:00:00.000Z"
prefix: logs/
status: enabled
state: present
- name: Desative a regra criada acima
community.aws.s3_lifecycle:
name: mybucket
prefix: logs/
status: disabled
state: present
- name: Exclua a regra de ciclo de vida criada acima
community.aws.s3_lifecycle:
name: mybucket
prefix: logs/
state: absent
- name: Configure uma regra de ciclo de vida para fazer a transição de todos os arquivos de backup com mais de 31 dias em /backups/ para a classe de acesso pouco frequente padrão.
community.aws.s3_lifecycle:
name: mybucket
prefix: backups/
storage_class: standard_ia
transition_days: 31
state: present
status: enabled
- name: Configure a lifecycle rule to transition files to infrequent access after 30 days and glacier after 90
community.aws.s3_lifecycle:
name: mybucket
prefix: logs/
state: present
status: enabled
transitions:
- transition_days: 30
storage_class: standard_ia
- transition_days: 90
storage_class: glacier