

# 使用 AWS CLI 的 Amazon Data Lifecycle Manager 示例
<a name="cli_dlm_code_examples"></a>

以下代码示例演示如何通过将 AWS Command Line Interface与 Amazon Data Lifecycle Manager 结合使用，来执行操作和实现常见场景。

*操作是大型程序的代码摘录*，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

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

以下代码示例演示了如何使用 `create-default-role`。

**AWS CLI**  
**为 Amazon DLM 创建所需的 IAM 角色**  
以下 `dlm create-default-role` 示例创建用于管理快照的 AWSDataLifecycleManagerDefaultRole 默认角色。  

```
aws dlm create-default-role \
    --resource-type snapshot
```
此命令不生成任何输出。  
有关更多信息，请参阅《Amazon Elastic Compute Cloud 用户指南》**中的 [Amazon Data Lifecycle Manager 的默认服务角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/service-role.html#default-service-roles)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateDefaultRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-default-role.html)。

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

以下代码示例演示了如何使用 `create-lifecycle-policy`。

**AWS CLI**  
**创建生命周期策略**  
以下 `create-lifecycle-policy` 示例创建一个生命周期策略，在指定时间创建卷的每日快照。将指定的标签添加到快照中，标签也将从卷中复制并添加到快照中。如果创建的新快照超过指定的最大计数，则将删除最早的快照。  

```
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
```
 的内容`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
            }
        }
    ]
}
```
输出：  

```
{
    "PolicyId": "policy-0123456789abcdef0"
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-lifecycle-policy.html)。

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

以下代码示例演示了如何使用 `delete-lifecycle-policy`。

**AWS CLI**  
**删除生命周期策略**  
以下示例删除指定的生命周期策略：  

```
aws dlm delete-lifecycle-policy --policy-id policy-0123456789abcdef0
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/delete-lifecycle-policy.html)。

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

以下代码示例演示了如何使用 `get-lifecycle-policies`。

**AWS CLI**  
**获取生命周期策略的摘要**  
以下 `get-lifecycle-policies` 示例列出所有生命周期策略。  

```
aws dlm get-lifecycle-policies
```
输出：  

```
{
    "Policies": [
        {
            "PolicyId": "policy-0123456789abcdef0",
            "Description": "My first policy",
            "State": "ENABLED"
        }
    ]
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetLifecyclePolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policies.html)。

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

以下代码示例演示了如何使用 `get-lifecycle-policy`。

**AWS CLI**  
**描述生命周期策略**  
以下 `get-lifecycle-policy` 示例显示指定生命周期策略的详细信息。  

```
aws dlm get-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
```
输出：  

```
{
    "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
                  }
              }
            ]
        }
    }
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policy.html)。

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

以下代码示例演示了如何使用 `update-lifecycle-policy`。

**AWS CLI**  
**示例 1：启用生命周期策略**  
以下 `update-lifecycle-policy` 示例启用指定的生命周期策略。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state ENABLED
```
**示例 2：禁用生命周期策略**  
以下 `update-lifecycle-policy` 示例禁用指定的生命周期策略。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state DISABLED
```
**示例 3：更新生命周期策略的详细信息**  
以下 `update-lifecycle-policy` 示例更新指定生命周期策略的目标标签。  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
    --policy-details file://policyDetails.json
```
`policyDetails.json` 的内容。该命令不会更改此文件中未引用的其他详细信息。  

```
{
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "120"
        },
        {
            "Key": "project",
            "Value": "lima"
        }
    ]
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [UpdateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/update-lifecycle-policy.html)。