

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 支持的配置类型和参数
<a name="about-slg-types"></a>

资源组支持使用以下配置类型。每种配置类型都有一组对该类型有效的参数。

**Topics**
+ [`AWS::ResourceGroups::Generic`](#about-slg-types-generic)
+ [`AWS::AppRegistry::Application`](#about-slg-types-appregistry)
+ [`AWS::CloudFormation::Stack`](#about-slg-types-cloudformation)
+ [`AWS::EC2::CapacityReservationPool`](#about-slg-types-ec2-capacityreservation)
+ [`AWS::EC2::HostManagement`](#about-slg-types-resourcegroups-ec2-hostmanagement)
+ [`AWS::NetworkFirewall::RuleGroup`](#about-slg-types-network-firewall-rulegroup)

## `AWS::ResourceGroups::Generic`
<a name="about-slg-types-generic"></a>

此配置类型指定对资源组强制成员资格要求的设置，而不是为 Amazon 服务配置特定资源类型的行为。此配置类型由需要它的服务关联组自动添加，例如 `AWS::EC2::CapacityReservationPool` 和 `AWS::EC2::HostManagment` 类型。

以下 `Parameters` 对`AWS::ResourceGroups::Generic`服务关联组`Type`有效。
+ **`allowed-resource-types`**

  此参数指定资源组只能由一个或多个指定类型的资源组成。

  **值的数据类型：**字符串

  **允许的值：**
  + `AWS::EC2::Host`– 当服务配置还包含类型 `AWS::EC2::HostManagement` 的 `Configuration` 时，需要使用带有此参数和值的 `Configuration`。这样可以确保 `HostManagement` 组只能包含 Amazon EC2 专属主机。
  + `AWS::EC2::CapacityReservation`– 当服务配置还包含类型 `AWS::EC2::CapacityReservationPool` 的 `Configuration` 项目时，需要使用带有此参数和值的 `Configuration`。这样可以确保 `CapacityReservation` 组只能包含 Amazon EC2 容量预留容量。

  **必需：**有条件，基于附加到资源组的其他 `Configuration` 元素。有关**允许的值**，请参阅前面的条目。

  以下示例将组成员限制为仅有 Amazon EC2 主机实例。

  ```
  [
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        }
      ]
    }
  ]
  ```
+ **`deletion-protection`**

  此参数指定除非资源组不包含任何成员，否则无法将其删除。有关更多信息，请参阅 *License Manager 用户指南*中的[删除主机资源组](https://docs.amazonaws.cn//license-manager/latest/userguide/host-resource-groups.html#host-resource-group-delete)。

  **值的数据类型：**字符串数组

  **允许的值：**唯一允许的值是 `[ "UNLESS_EMPTY" ]`（该值必须为大写）。

  **必需：**有条件，基于附加到资源组的其他 `Configuration` 元素。仅当资源组还有另一个带有 `Type` 的 `AWS::EC2::HostManagement` 的 `Configuration` 元素时，才需要此参数。

  以下示例为该组启用删除保护，除非该组没有成员才能将其删除。

  ```
  [
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```

## `AWS::AppRegistry::Application`
<a name="about-slg-types-appregistry"></a>

此`Configuration`类型指定资源组代表由创建的应用程序 Amazon Service Catalog AppRegistry。

此类资源组完全由 AppRegistry 服务管理，只有使用提供的工具才能由用户创建、更新或删除 AppRegistry。

**注意**  
由于此类资源组由 Amazon 用户自动创建和维护，而不是由用户管理，因此这些资源组不计入[您在中可以创建的最大资源组数量的](https://console.amazonaws.cn/servicequotas/home/services/resource-groups/quotas)配额限制 Amazon Web Services 账户。

有关更多信息，请参阅《S *ervice Catalog 用户指南》 AppRegistry*中的 “[使用](https://docs.amazonaws.cn//servicecatalog/latest/adminguide/appregistry.html)”。

在 AppRegistry 创建此类服务相关资源组时，它还会自动为[Amazon CloudFormation 与应用程序关联的每个 Amazon CloudFormation 堆栈创建一个单独的附加服务相关组](#about-slg-types-cloudformation)。

AppRegistry 自动命名其创建的此类服务相关组，前缀`AWS_AppRegistry_Application-`后跟应用程序的名称：`AWS_AppRegistry_Application-MyAppName`

`AWS::AppRegistry::Application` 服务关联组类型支持以下参数。
+ **`Name`**

  此参数指定在中创建应用程序时由用户分配的友好名称 AppRegistry。

  **值的数据类型：**字符串

  **允许的值：** AppRegistry 服务允许的应用程序名称的任何文本字符串。

  **是否必需**：是
+ **`Arn`**

  此参数指定由分配的应用程序的 [Amazon 资源名称 (ARN)](https://docs.amazonaws.cn//general/latest/gr/aws-arns-and-namespaces.html) 路径。 AppRegistry

  **值的数据类型：**字符串

  **允许的值：**有效的 ARN。

  **是否必需**：是

**注意**  
要更改这些元素中的任何一个，您必须使用 AppRegistry 控制台或该服务的 Amazon SDK 和 Amazon CLI 操作来修改应用程序。

此应用程序资源组自动将为与 AppRegistry 应用程序关联的[Amazon CloudFormation 堆栈创建的资源组列为](#about-slg-types-cloudformation)组成员。您可以使用该[ListGroupResources](https://docs.amazonaws.cn//ARG/latest/APIReference/API_ListGroupResources.html)操作来查看这些子组。

以下示例显示了 `AWS::AppRegistry::Application` 服务关联组的配置部分。

```
[
  {
    "Type": "AWS::AppRegistry::Application",
    "Parameters": [
      {
        "Name": "Name",
        "Values": [
          "MyApplication"
        ]
      },
      {
        "Name": "Arn",
        "Values": [
          "arn:aws:servicecatalog:us-east-1:123456789012:/applications/<application-id>"
        ]
      }
    ]
  }
]
```

## `AWS::CloudFormation::Stack`
<a name="about-slg-types-cloudformation"></a>

此`Configuration`类型指定组代表 Amazon CloudFormation 堆栈，其成员是该堆栈创建的 Amazon 资源。

当您将 Amazon CloudFormation 堆栈与 AppRegistry 服务关联时，系统会自动为您创建此类资源组。除非使用提供的工具，否则您无法创建、更新或删除这些群组 AppRegistry。

AppRegistry 使用前缀`AWS_CloudFormation_Stack-`和堆栈名称自动命名其创建的此类服务相关组：`AWS_CloudFormation_Stack-MyStackName`

**注意**  
由于此类资源组由 Amazon 用户自动创建和维护，而不是由用户管理，因此这些资源组不计入[您在中可以创建的最大资源组数量的](https://console.amazonaws.cn/servicequotas/home/services/resource-groups/quotas)配额限制 Amazon Web Services 账户。

有关更多信息，请参阅《S *ervice Catalog 用户指南》 AppRegistry*中的 “[使用](https://docs.amazonaws.cn//servicecatalog/latest/adminguide/AppRegistry.html)”。

AppRegistry 自动为您与 AppRegistry 应用程序关联的每个 Amazon CloudFormation 堆栈创建此类型的服务相关资源组。这些资源组将成为[ AppRegistry应用程序父资源组的](#about-slg-types-appregistry)子成员。

该 Amazon CloudFormation 资源组的成员是作为堆栈的一部分创建的 Amazon 资源。

`AWS::CloudFormation::Stack` 服务关联组类型支持以下参数。
+ **`Name`**

  此参数指定创建 Amazon CloudFormation 堆栈时用户分配的堆栈的友好名称。

  **值的数据类型：**字符串

  **允许的值：** Amazon CloudFormation 服务允许的堆栈名称的任何文本字符串。

  **是否必需**：是
+ **`Arn`**

  此参数指定中附加到应用程序的 Amazon CloudFormation 堆栈的 A [mazon 资源名称 (ARN)](https://docs.amazonaws.cn//general/latest/gr/aws-arns-and-namespaces.html) 路径。 AppRegistry

  **值的数据类型：**字符串

  **允许的值：**有效的 ARN。

  **是否必需**：是

**注意**  
要更改这些元素中的任何一个，必须使用 AppRegistry 控制台或等效的 Amazon SDK 和 Amazon CLI 操作来修改应用程序。

以下示例显示了 `AWS::CloudFormation::Stack` 服务关联组的配置部分。

```
[
  {
    "Type": "AWS::CloudFormation::Stack",
    "Parameters": [
      {
        "Name": "Name",
        "Values": [
          "MyStack"
        ]
      },
      {
        "Name": "Arn",
        "Values": [
          "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/<stack-id>"
        ]
      }
    ]
  }
]
```

## `AWS::EC2::CapacityReservationPool`
<a name="about-slg-types-ec2-capacityreservation"></a>

此 `Configuration` 类型指定资源组表示该组成员提供的公共容量池。此资源组的成员必须是 Amazon EC2 容量预留。资源组可以包括您在账户中拥有的容量预留以及通过使用从其他账户与您共享的容量预留 Amazon Resource Access Manager。这可让您使用此资源组（作为容量预留参数的值）启动 Amazon EC2 实例。当您执行此操作时，实例将使用组中的可用预留容量。

如果资源组没有可用容量，则除非您将资源组配置为使用 Amazon EC2 UltraServer 容量块，否则该实例将作为池外的独立按需实例启动。有关更多信息，请参阅 *Amazon EC2 用户指南*中的使用[容量预留组](https://docs.amazonaws.cn//AWSEC2/latest/UserGuide/create-cr-group.html)。

如果您使用此类型的 `Configuration` 项目配置服务关联资源组，则还必须使用以下值指定单独的 `Configuration` 项目：
+ 具有一个参数的 `AWS::ResourceGroups::Generic` 类型：
  + 参数 `allowed-resource-types` 和单个值 `AWS::EC2::CapacityReservation`。这样可以确保只有 Amazon EC2 容量预留可以成为资源组的成员。
+ 一种有两个参数的`AWS::EC2::CapacityReservationPool`类型：
  + `reservation-type`— 仅当您为 Amazon EC2 容量块配置容 UltraServer 量预留组时才需要。此字段中唯一允许的值是`capacity-block`。
  + `instance-type`— 仅当您为 Amazon EC2 容量块配置容 UltraServer 量预留组时才需要。此字段中允许的值为`trn2u.48xlarge`和`p6e-gb200.36xlarge`。

以下示例显示了按需容量预留的`Configuration`部分：

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": []
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

以下示例显示了支持 Amazon EC2 UltraServer 容量块的`Configuration`部分：

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "trn2u.48xlarge"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

在使用 Amazon EC2 UltraServer 容量块时`reservation-type`向资源组配置添加`instance-type`和后，以下行为适用于该资源组：
+ 您可以将其他容量预留添加到此资源组配置中，但其他预留也必须`reservation-type`设置`instance-type`为`capacity-block`，设置为`trn2u.48xlarge`或`p6e-gb200.48xlarge`。
+ 当前，唯一允许的值`reservation-type`是`capacity-block`，唯一允许的值`instance-type`是`trn2u.48xlarge`和。`p6e-gb200.48xlarge`
+ 您不能将 Amazon EC2 机器学习容量块添加到不包含`reservation-type`和`instance-type`配置的资源组中。
+ 添加`reservation-type`和`capacity-block`配置参数不会改变添加或删除团体预订的流程。
+ 如果您从组中移除容量预留或删除该组，则组内的预留将一直处于使用状态，直到实例终止。
+ 目前，带有`reservation-type`和`instance-type`配置参数的资源组在初始设置后无法更新。要更改或移除配置，必须删除该组，然后使用新配置创建一个新组。
+ 您不能将实例启动到空组中，也不能修改实例以定位空组。

## `AWS::EC2::HostManagement`
<a name="about-slg-types-resourcegroups-ec2-hostmanagement"></a>

此标识符指定了 Amazon EC2 主机管理的设置 Amazon License Manager ，这些设置对群组成员强制执行。有关更多信息，请参阅[中的主机资源组 Amazon License Manager](https://docs.amazonaws.cn//license-manager/latest/userguide/host-resource-groups.html)。

如果您使用此类型的 `Configuration` 项目配置服务关联资源组，则还必须使用以下值指定单独的 `Configuration` 项目：
+ 一种 `AWS::ResourceGroups::Generic` 类型，其参数为 `allowed-resource-types`，单个值为 `AWS::EC2::Host`。这样可以确保只有 Amazon EC2 专属主机可以成为该组的成员。
+ 一种 `AWS::ResourceGroups::Generic` 类型，其参数为 `deletion-protection`，单个值为 `UNLESS_EMPTY`。这样可以确保除非组为空，否则无法删除该组。

`AWS::EC2::HostManagement` 服务关联组类型支持以下参数。
+ **`auto-allocate-host`**

  此参数指定实例是在特定的专属主机上启动，还是在具有匹配配置的任何可用主机上启动。有关更多信息，请参阅《Amazon EC2 用户指南》中的[了解自动置放与关联](https://docs.amazonaws.cn//AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)。

  **值的数据类型：**布尔值

  **允许的值：**“true”或“false”（必须为小写）。

  **必需**：否

  ```
  [
    {
      "Type": "AWS::EC2::HostManagement",
      "Parameters": [
        {
          "Name": "auto-allocate-host",
          "Values": [
            "true"
          ]
        },
        {
          "Name": "any-host-based-license-configuration",
          "Values": [
            "true"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        },
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```
+ **`auto-release-host`**

  此参数指定组中的专属主机在上次运行的实例终止后是否自动释放。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[释放专用主机](https://docs.amazonaws.cn//AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-releasing)。

  **值的数据类型：**布尔值

  **允许的值：**“true”或“false”（必须为小写）。

  **必需**：否

  ```
  [
    {
      "Type": "AWS::EC2::HostManagement",
      "Parameters": [
        {
          "Name": "auto-release-host",
          "Values": [
            "false"
          ]
        },
        {
          "Name": "any-host-based-license-configuration",
          "Values": [
            "true"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        },
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```
+ **`allowed-host-families`**

  此参数指定属于该组的实例可以使用哪些实例类型系列。

  **值的数据类型：**字符串数组。

  **允许的值：**每个值都必须是有效的 [Amazon EC2 实例类型系列标识符](https://docs.amazonaws.cn//AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)，例如 `C4`、`M5`、`P3dn` 或 `R5d`。

  **必需**：否

  以下示例配置项目指定启动的实例只能是 C5 或 M5 实例类型系列的成员。

  ```
  [
    {
      "Type": "AWS::EC2::HostManagement",
      "Parameters": [
        {
          "Name": "allowed-host-families",
          "Values": [
            "c5",
            "m5"
          ]
        },
        {
          "Name": "any-host-based-license-configuration",
          "Values": [
            "true"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        },
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```
+ **`allowed-host-based-license-configurations`**

  此参数指定要应用于群组成员的一个或多个 core/socket 基于许可证的配置的 A [mazon 资源名称 (ARN)](https://docs.amazonaws.cn//general/latest/gr/aws-arns-and-namespaces.html) 路径。

  **值的数据类型：**数组 ARNs。

  **允许的值：**每个值都必须是有效的 [License Manager 配置 ARN](https://docs.amazonaws.cn//service-authorization/latest/reference/about-service-linked-groups.xmllist_awslicensemanager.html#awslicensemanager-resources-for-iam-policies)。

  **必填**：条件性。您可以指定此参数或 `any-host-based-license-configuration`，但不能同时指定两者。这些参数是互斥的。

  以下示例配置项指定组成员可以使用两个指定的 License Manager 配置。

  ```
  [
    {
      "Type": "AWS::EC2::HostManagement",
      "Parameters": [
        {
          "Name": "allowed-host-based-license-configurations",
          "Values": [
            "arn:aws:license-manager:us-west-2:123456789012:license-configuration:lic-6eb6586f508a786a2ba41EXAMPLE1111",
            "arn:aws:license-manager:us-west-2:123456789012:license-configuration:lic-8a786a26f50ba416eb658EXAMPLE2222"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        },
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```
+ **`any-host-based-license-configuration`**

  此参数指定您不想将特定的许可证配置关联到您的组。在这种情况下，所有 core/socket 基于许可证的配置都可供主机资源组中的成员使用。如果您的许可证数量不限，并且想要针对主机利用率进行优化，请使用此设置。

  **值的数据类型：**布尔值

  **允许的值：**“true”或“false”（必须为小写）。

  **必填**：条件性。您可以指定此参数或 `allowed-host-based-license-configurations`，但不能同时指定两者。这些参数是互斥的。

  以下示例配置项目指定小组成员可以使用任何 core/socket 基于许可证的配置。

  ```
  [
    {
      "Type": "AWS::EC2::HostManagement",
      "Parameters": [
        {
          "Name": "any-host-based-license-configuration",
          "Values": [
            "true"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::Host"
          ]
        },
        {
          "Name": "deletion-protection",
          "Values": [
            "UNLESS_EMPTY"
          ]
        }
      ]
    }
  ]
  ```

以下示例说明如何将所有主机管理设置一起包含在单个配置中。

```
[
  {
    "Type": "AWS::EC2::HostManagement",
    "Parameters": [
      {
        "Name": "auto-allocate-host",
        "Values": [
          "true"
        ]
      },
      {
        "Name": "auto-release-host",
        "Values": [
          "false"
        ]
      },
      {
        "Name": "allowed-host-families",
        "Values": [
          "c5",
          "m5"
        ]
      },
      {
        "Name": "allowed-host-based-license-configurations",
        "Values": [
          "arn:aws:license-manager:us-west-2:123456789012:license-configuration:lic-6eb6586f508a786a2ba41EXAMPLE1111",
          "arn:aws:license-manager:us-west-2:123456789012:license-configuration:lic-8a786a26f50ba416eb658EXAMPLE2222"
        ]
      }
    ]
  },
  {
    "Type": "AWS::ResourceGroups::Generic",
    "Parameters": [
      {
        "Name": "allowed-resource-types",
        "Values": [
          "AWS::EC2::Host"
        ]
      },
      {
        "Name": "deletion-protection",
        "Values": [
          "UNLESS_EMPTY"
        ]
      }
    ]
  }
]
```

## `AWS::NetworkFirewall::RuleGroup`
<a name="about-slg-types-network-firewall-rulegroup"></a>

此标识符指定对群组成员强制执行的 Amazon Network Firewall 规则组的设置。防火墙管理员可以指定此类型资源组的 ARN，以根据防火墙规则自动解析该组成员的 IP 地址，而不必手动列出每个地址。有关更多信息，请参阅[在 Amazon Network Firewall中使用基于标签的资源组](https://docs.amazonaws.cn/network-firewall/latest/developerguide/resource-groups.html)。

您可以使用 Network Firewall 控制台或运行 Amazon CLI 命令或 Amazon SDK 操作来创建此配置类型的资源组。

此配置类型的资源组具有以下限制：
+ 该组的成员仅由 Network Firewall 支持的资源类型组成。
+ 该组必须包含基于标签的查询才能管理组的成员资格；任何支持类型的资源，如果其标签与查询相匹配，都将自动成为该组的成员。
+ 此配置类型不支持 `Parameters`。
+ 要删除此配置类型的资源组，任何 Network Firewall 规则组都无法引用该资源组。

以下示例说明了此类型组的 `Configuration` 和 `ResourceQuery` 部分。

```
{
  "Configuration": [
    {
      "Type": "AWS::NetworkFirewall::RuleGroup",
      "Parameters": []
    }
  ],
  "ResourceQuery": {
    "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"environment\",\"Values\":[\"production\"]}]}",
    "Type": "TAG_FILTERS_1_0"
  }
}
```

以下示例 Amazon CLI 命令使用先前的配置和查询创建资源组。

```
$ aws resource-groups create-group \
    --name test-group \
    --resource-query '{"Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\": [\"AWS::EC2::Instance\"], \"TagFilters\": [{\"Key\": \"environment\", \"Values\": [\"production\"]}]}"}' \
    --configuration '[{"Type": "AWS::NetworkFirewall::RuleGroup", "Parameters": []}]'
{
    "Group":{
        "GroupArn":"arn:aws:resource-groups:us-west-2:123456789012:group/test-group",
        "Name":"test-group",
        "OwnerId":"123456789012"
    },
    "Configuration": [
        {
            "Type": "AWS::NetworkFirewall::RuleGroup",
            "Parameters": []
        }
    ],
    "ResourceQuery": { 
        "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"environment\",\"Values\":[\"production\"]}]}",
        "Type": "TAG_FILTERS_1_0"
    }
}
```