ALIYUN::ECS::NetworkInterface类型用于创建一个弹性网卡(ENI)。
语法
{
"Type": "ALIYUN::ECS::NetworkInterface",
"Properties": {
"Description": String,
"SecurityGroupId": String,
"PrimaryIpAddress": String,
"ResourceGroupId": String,
"VSwitchId": String,
"NetworkInterfaceName": String,
"Tags": List,
"SecurityGroupIds": List,
"PrivateIpAddresses": List,
"SecondaryPrivateIpAddressCount": Integer,
"Ipv6Addresses": List,
"QueueNumber": Integer,
"NetworkInterfaceTrafficMode": String,
"Ipv6AddressCount": Integer,
"Ipv6Prefixes": List,
"Ipv4Prefixes": List,
"Ipv4PrefixCount": Integer,
"TxQueueSize": Integer,
"DeleteOnRelease": Boolean,
"Ipv6PrefixCount": Integer,
"RxQueueSize": Integer
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ResourceGroupId | String | 否 | 是 | 资源组ID。 | 您可以调用ListResourceGroups查询资源组ID。 |
SecurityGroupId | String | 否 | 是 | 安全组ID。 | 安全组和弹性网卡必须在同一个专有网络中。 说明 不支持同时指定SecurityGroupId和SecurityGroupIds。 |
VSwitchId | String | 是 | 否 | 交换机ID。 | 无 |
Description | String | 否 | 是 | 弹性网卡的描述信息。 | 长度为2~256个字符,不能以 |
NetworkInterfaceName | String | 否 | 是 | 弹性网卡的名称。 | 长度为2~128个字符。必须以英文字母或汉字开头,不能以 |
PrimaryIpAddress | String | 否 | 否 | 弹性网卡的主私有IP地址。 | 指定IP地址必须是所属交换机地址段内的空闲地址,不指定则默认随机分配该交换机中的空闲地址。 |
SecondaryPrivateIpAddressCount | Integer | 否 | 否 | 辅助私有IP地址数量。 | 无 |
Tags | List | 否 | 是 | 标签。 | 最多支持添加20个标签。 更多信息,请参见Tags属性。 |
SecurityGroupIds | List | 否 | 是 | 一个或多个安全组ID。 | 安全组和弹性网卡必须在同一个专有网络中。 说明 不支持同时指定SecurityGroupId和SecurityGroupIds。 |
PrivateIpAddresses | List | 否 | 否 | 从弹性网卡所属交换机的空闲IP地址中选择一个或多个辅助私有IP地址。 | 可以绑定的IP地址数量的取值范围:
|
Ipv6Addresses | List | 否 | 否 | 为弹性网卡指定一个或多个IPv6地址。 | 支持设置最多10个IPv6地址。 说明 如果您需要为弹性网卡设置IPv6地址,则必须设置 |
QueueNumber | Integer | 否 | 否 | 弹性网卡队列数。 | 取值范围:1~2048 附加弹性网卡时,该值必须少于实例规格支持单块网卡的最大队列数。实例规格的单块网卡最大队列数可以通过DescribeInstanceTypes接口查询 默认值:空。在附加时会采用实例规格的弹性网卡默认队列数,实例规格的弹性网卡默认队列数可以通过DescribeInstanceTypes接口查询 |
NetworkInterfaceTrafficMode | String | 否 | 否 | 弹性网卡的通讯模式。 | 取值:
|
Ipv6AddressCount | Integer | 否 | 否 | 为弹性网卡指定随机生成的IPv6地址数量。 | 取值范围:1~10。 说明 如果您需要为弹性网卡设置IPv6地址,则必须设置 |
Ipv6Prefixes | List | 否 | 否 | IPv6地址前缀。 | 无 |
Ipv4Prefixes | List | 否 | 否 | IPv4 IP地址前缀。 | 无 |
Ipv4PrefixCount | Integer | 否 | 否 | 为弹性网卡指定一个或多个IPv4前缀。 | 取值范围:1~10。 说明 如果您需要为弹性网卡设置 IPv4 前缀,则必须设置 Ipv4Prefixes 或者 Ipv4PrefixCount 的其中一个,但不能同时设置这两个参数。 |
TxQueueSize | Integer | 否 | 是 | 弹性网卡出方向队列深度。 | 您需要注意:
|
DeleteOnRelease | Boolean | 否 | 是 | 释放实例时是否保留网卡。 | 取值范围:
|
Ipv6PrefixCount | Integer | 否 | 否 | 为弹性网卡指定一个或多个 IPv6 前缀。 | 取值范围:1~10。 说明 如果您需要为弹性网卡设置IPv6前缀,则必须设置Ipv6Prefixes或者Ipv6PrefixCount的其中一个,但不能同时设置这两个参数。 |
RxQueueSize | Integer | 否 | 是 | 弹性网卡入方向队列深度。 | 您需要注意:
|
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 |
返回值
Fn::GetAtt
NetworkInterfaceId:弹性网卡ID。
MacAddress:弹性网卡的MAC地址。
PrivateIpAddress:弹性网卡的私有IP地址。
SecondaryPrivateIpAddresses:弹性网卡的辅助私有IP地址。
示例
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
Label:
zh-cn: 安全组ID
en: Security Group ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
Type: String
Label:
zh-cn: 网络交换机ID
en: VSwitch ID
Resources:
EniInstance:
Type: ALIYUN::ECS::NetworkInterface
Properties:
SecurityGroupId:
Ref: SecurityGroupId
VSwitchId:
Ref: VSwitchId
NetworkInterfaceName: TestNetworkInterface
Outputs:
PrivateIpAddress:
Description: The primary private ip address of your Network Interface.
Value:
Fn::GetAtt:
- EniInstance
- PrivateIpAddress
SecondaryPrivateIpAddresses:
Description: The secondary private IP addresses of your Network Interface.
Value:
Fn::GetAtt:
- EniInstance
- SecondaryPrivateIpAddresses
MacAddress:
Description: The MAC address of your Network Interface.
Value:
Fn::GetAtt:
- EniInstance
- MacAddress
NetworkInterfaceId:
Description: ID of your Network Interface.
Value:
Fn::GetAtt:
- EniInstance
- NetworkInterfaceId
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"SecurityGroupId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"Label": {
"zh-cn": "安全组ID",
"en": "Security Group ID"
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"Type": "String",
"Label": {
"zh-cn": "网络交换机ID",
"en": "VSwitch ID"
}
}
},
"Resources": {
"EniInstance": {
"Type": "ALIYUN::ECS::NetworkInterface",
"Properties": {
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"NetworkInterfaceName": "TestNetworkInterface"
}
}
},
"Outputs": {
"PrivateIpAddress": {
"Description": "The primary private ip address of your Network Interface.",
"Value": {
"Fn::GetAtt": [
"EniInstance",
"PrivateIpAddress"
]
}
},
"SecondaryPrivateIpAddresses": {
"Description": "The secondary private IP addresses of your Network Interface.",
"Value": {
"Fn::GetAtt": [
"EniInstance",
"SecondaryPrivateIpAddresses"
]
}
},
"MacAddress": {
"Description": "The MAC address of your Network Interface.",
"Value": {
"Fn::GetAtt": [
"EniInstance",
"MacAddress"
]
}
},
"NetworkInterfaceId": {
"Description": "ID of your Network Interface.",
"Value": {
"Fn::GetAtt": [
"EniInstance",
"NetworkInterfaceId"
]
}
}
}
}