

# Exemplos do Amazon Data Lifecycle Manager usando a AWS CLI
<a name="cli_dlm_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Amazon Data Lifecycle Manager.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `create-default-role`
<a name="dlm_CreateDefaultRole_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-default-role`.

**AWS CLI**  
**Para criar o perfil do IAM necessário para o Amazon DLM**  
O exemplo `dlm create-default-role` a seguir cria a função padrão da AWS DataLifecycleManagerDefaultRole para gerenciar snapshots.  

```
aws dlm create-default-role \
    --resource-type snapshot
```
Este comando não produz saída.  
Para obter mais informações, consulte [Perfis de serviço padrão para o Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/service-role.html#default-service-roles) no *Guia do usuário do Amazon Elastic Compute Cloud*.  
+  Para ver detalhes da API, consulte [CreateDefaultRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-default-role.html) na *Referência de comandos da AWS CLI*. 

### `create-lifecycle-policy`
<a name="dlm_CreateLifecyclePolicy_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-lifecycle-policy`.

**AWS CLI**  
**Para criar uma política de ciclo de vida**  
O exemplo `create-lifecycle-policy` a seguir cria uma política de ciclo de vida que cria um snapshot diário dos volumes no horário especificado. As tags especificadas são adicionadas aos snapshots, e as tags também são copiadas do volume e adicionadas aos snapshots. Se a criação de um novo snapshot exceder a contagem máxima especificada, o snapshot mais antigo será excluído.  

```
aws dlm create-lifecycle-policy \
    --description "My first policy" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \
    --policy-details file://policyDetails.json
```
Conteúdo de `policyDetails.json`:  

```
{
    "ResourceTypes": [
        "VOLUME"
    ],
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "115"
        }
    ],
    "Schedules":[
        {
            "Name": "DailySnapshots",
            "CopyTags": true,
            "TagsToAdd": [
                {
                    "Key": "type",
                     "Value": "myDailySnapshot"
                }
            ],
            "CreateRule": {
                "Interval": 24,
                "IntervalUnit": "HOURS",
                "Times": [
                    "03:00"
                ]
            },
            "RetainRule": {
                "Count":5
            }
        }
    ]
}
```
Resultado:  

```
{
    "PolicyId": "policy-0123456789abcdef0"
}
```
+  Para ver detalhes da API, consulte [CreateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-lifecycle-policy.html) na *Referência de comandos da AWS CLI*. 

### `delete-lifecycle-policy`
<a name="dlm_DeleteLifecyclePolicy_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-lifecycle-policy`.

**AWS CLI**  
**Para excluir uma política de ciclo de vida**  
O exemplo a seguir exclui a política de ciclo de vida especificada:  

```
aws dlm delete-lifecycle-policy --policy-id policy-0123456789abcdef0
```
+  Para ver detalhes da API, consulte [DeleteLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/delete-lifecycle-policy.html) na *Referência de comandos da AWS CLI*. 

### `get-lifecycle-policies`
<a name="dlm_GetLifecyclePolicies_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-lifecycle-policies`.

**AWS CLI**  
**Para obter um resumo de suas políticas de ciclo de vida**  
O exemplo `get-lifecycle-policies` a seguir lista todas as suas políticas de ciclo de vida.  

```
aws dlm get-lifecycle-policies
```
Resultado:  

```
{
    "Policies": [
        {
            "PolicyId": "policy-0123456789abcdef0",
            "Description": "My first policy",
            "State": "ENABLED"
        }
    ]
}
```
+  Para ver detalhes da API, consulte [GetLifecyclePolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policies.html) na *Referência de comandos da AWS CLI*. 

### `get-lifecycle-policy`
<a name="dlm_GetLifecyclePolicy_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-lifecycle-policy`.

**AWS CLI**  
**Para descrever uma política de ciclo de vida**  
O exemplo `get-lifecycle-policy` a seguir exibe os detalhes da política de ciclo de vida especificada.  

```
aws dlm get-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
```
Resultado:  

```
{
    "Policy": {
        "PolicyId": "policy-0123456789abcdef0",
        "Description": "My policy",
        "State": "ENABLED",
        "ExecutionRoleArn": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole",
        "DateCreated": "2019-08-08T17:45:42Z",
        "DateModified": "2019-08-08T17:45:42Z",
        "PolicyDetails": {
            "PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
            "ResourceTypes": [
                "VOLUME"
            ],
            "TargetTags": [
              {
                  "Key": "costCenter",
                  "Value": "115"
              }
            ],
            "Schedules": [
              {
                  "Name": "DailySnapshots",
                  "CopyTags": true,
                  "TagsToAdd": [
                    {
                        "Key": "type",
                        "Value": "myDailySnapshot"
                    }
                  ],
                  "CreateRule": {
                    "Interval": 24,
                    "IntervalUnit": "HOURS",
                    "Times": [
                        "03:00"
                    ]
                  },
                  "RetainRule": {
                    "Count": 5
                  }
              }
            ]
        }
    }
}
```
+  Para ver detalhes da API, consulte [GetLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policy.html) na *Referência de comandos da AWS CLI*. 

### `update-lifecycle-policy`
<a name="dlm_UpdateLifecyclePolicy_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-lifecycle-policy`.

**AWS CLI**  
**Exemplo 1: habilitar uma política de ciclo de vida**  
O exemplo `update-lifecycle-policy` a seguir habilita a política de ciclo de vida especificada.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state ENABLED
```
**Exemplo 2: desabilitar uma política de ciclo de vida**  
O exemplo `update-lifecycle-policy` a seguir desabilita a política de ciclo de vida especificada.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state DISABLED
```
**Exemplo 3: atualizar os detalhes da política de ciclo de vida**  
O exemplo `update-lifecycle-policy` a seguir atualiza as tags de destino para a política de ciclo de vida especificada.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
    --policy-details file://policyDetails.json
```
Conteúdo de `policyDetails.json`. Outros detalhes não referenciados neste arquivo não são alterados pelo comando.  

```
{
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "120"
        },
        {
            "Key": "project",
            "Value": "lima"
        }
    ]
}
```
+  Para ver detalhes da API, consulte [UpdateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/update-lifecycle-policy.html) na *Referência de comandos da AWS CLI*. 