

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

# 使用基础设施编排器为外部 VPC 导入的模板中的参数
<a name="using-composer-services-vpc-import"></a>

当您导入包含为外部 VPC 的安全组和子网定义的参数的现有模板时，Infrastructure Composer 会提供一个下拉列表供您从中选择参数。

以下是导入模板`Parameters`部分的示例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
  VPCSubnets:
    Description: Subnet IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::Subnet::Id>
  VPCSubnet:
    Description: Subnet Id generated by Infrastructure Composer
    Type: AWS::EC2::Subnet::Id
...
```

在画布上为新的 Lambda 函数配置外部 VPC 时，这些参数将显示在下拉列表中。以下是示例：

![\[为 Lambda 函数卡的 “子网 ID” 字段的 “参数类型” 提供的值下拉列表。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_use_vpc_10.png)


## 导入列表参数类型时的限制
<a name="using-composer-services-vpc-import-list"></a>

通常，您可以为每个 Lambda 函数指定多个安全组和子网标识符。如果现有模板包含列表参数类型，例如`List<AWS::EC2::SecurityGroup::Id>`或`List<AWS::EC2::Subnet::Id>`，则只能指定一个标识符。

有关参数列表类型的更多信息，请参阅《*AWS CloudFormation 用户指南》*中[AWS支持的特定参数类型](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-specific-parameter-types)。

以下是定义`VPCSecurityGroups`为列表参数类型的模板示例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
...
```

在 Infrastructure Composer 中，如果您选择该`VPCSecurityGroups`值作为 Lambda 函数的安全组标识符，您将看到以下消息：

![\[VPCSecurityGroups为 Lambda 函数卡的安全组 ID 字段的参数类型提供的列表参数类型。\]](http://docs.aws.amazon.com/zh_cn/infrastructure-composer/latest/dg/images/aac_use_vpc_11.png)


之所以出现这种限制，是因为`AWS::Lambda::Function VpcConfig`对象的`SecurityGroupIds`和`SubnetIds`属性都只接受字符串值列表。由于单个列表参数类型包含字符串列表，因此它可以是指定时提供的唯一对象。

对于列表参数类型，以下是使用 Lambda 函数配置时如何在模板中定义它们的示例：

```
...
Parameters:
  VPCSecurityGroups:
    Description: Security group IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::SecurityGroup::Id>
  VPCSubnets:
    Description: Subnet IDs generated by Infrastructure Composer
    Type: List<AWS::EC2::Subnet::Id>
Resources:
  ...
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      ...
      VpcConfig:
        SecurityGroupIds: !Ref VPCSecurityGroups
        SubnetIds: !Ref VPCSubnets
```