ALIYUN::ECS::NetworkInterface类型用于创建一个弹性网卡(ENI)。

语法

{
  "Type": "ALIYUN::ECS::NetworkInterface",
  "Properties": {
    "Description": String,
    "SecurityGroupId": String,
    "PrimaryIpAddress": String,
    "ResourceGroupId": String,
    "VSwitchId": String,
    "NetworkInterfaceName": String,
    "SecurityGroupIds": List,
    "PrivateIpAddresses": List
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ResourceGroupId String 实例所在的资源组ID。
SecurityGroupId String 所属的安全组ID必须是同一个专有网络下的安全组。
VSwitchId String 指定专有网络的交换机ID。
Description String 弹性网卡的描述信息。

长度为2~ 256个字符,不能以http://https://开头。

默认值:空。

NetworkInterfaceName String 弹性网卡名称。

长度为2~128个字符。必须以英文字母或汉字开头,不能以http://https://开头。可包含英文字母、汉字、数字、半角冒号(:)、下划线(_)和短划线(-)。

默认值:空。

PrimaryIpAddress String 弹性网卡的主私有IP地址。 指定IP必须是在所属交换机的地址段内的空闲地址,不指定则默认随机分配该交换机中的空闲地址。
SecurityGroupIds List 加入一个或多个安全组。 安全组和弹性网卡必须在同一个专有网络VPC中。
说明 不支持同时指定SecurityGroupId和SecurityGroupIds。
PrivateIpAddresses List 从弹性网卡所属交换机的空闲IP地址中选择一个或多个辅助私有IP地址。 可以绑定的IP地址数量的取值范围:
  • 弹性网卡处于可用(Available)状态:1~10。
  • 弹性网卡处于已绑定(InUse)状态:受到实例规格限制。更多详情,请参见实例规格族

返回值

Fn::GetAtt

  • NetworkInterfaceId:弹性网卡ID。
  • MacAddress:弹性网卡的MAC地址。
  • PrivateIpAddress:弹性网卡的私有IP地址。
  • SecondaryPrivateIpAddresses:弹性网卡的所有私有IP地址。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Description": {
      "Type": "String",
      "Description": "Description of your ENI. It is a string of [2, 256] English or Chinese characters."
    },
    "ResourceGroupId": {
      "Type": "String",
      "Description": "Resource group id."
    },
    "SecurityGroupId": {
      "Type": "String",
      "Description": "The ID of the security group that the ENI joins. The security group and the ENI must be in a same VPC."
    },
    "VSwitchId": {
      "Type": "String",
      "Description": "VSwitch ID of the specified VPC. Specifies the switch ID for the VPC."
    },
    "NetworkInterfaceName": {
      "Type": "String",
      "Description": "Name of your ENI. It is a string of [2, 128]  Chinese or English characters. It must begin with a letter and can contain numbers, underscores (_), colons (:), or hyphens (-)."
    },
    "PrimaryIpAddress": {
      "Type": "String",
      "Description": "The primary private IP address of the ENI.  The specified IP address must have the same Host ID as the VSwitch. If no IP addresses are specified, a random network ID is assigned for the ENI."
    }
  },
  "Resources": {
    "EniInstance": {
      "Type": "ALIYUN::ECS::NetworkInterface",
      "Properties": {
        "Description": {
          "Ref": "Description"
        },
        "ResourceGroupId": {
          "Ref": "ResourceGroupId"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "NetworkInterfaceName": {
          "Ref": "NetworkInterfaceName"
        },
        "PrimaryIpAddress": {
          "Ref": "PrimaryIpAddress"
        }
      }
    }
  },
  "Outputs": {
    "PrivateIpAddress": {
      "Description": "The private ip address of your Network Interface.",
      "Value": {
        "Fn::GetAtt": [
          "EniInstance",
          "PrivateIpAddress"
        ]
      }
    },
    "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"
        ]
      }
    }
  }
}

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Description:
    Type: String
    Description: >-
      Description of your ENI. It is a string of [2, 256] English or Chinese
      characters.
  ResourceGroupId:
    Type: String
    Description: Resource group id.
  SecurityGroupId:
    Type: String
    Description: >-
      The ID of the security group that the ENI joins. The security group and
      the ENI must be in a same VPC.
  VSwitchId:
    Type: String
    Description: VSwitch ID of the specified VPC. Specifies the switch ID for the VPC.
  NetworkInterfaceName:
    Type: String
    Description: >-
      Name of your ENI. It is a string of [2, 128]  Chinese or English
      characters. It must begin with a letter and can contain numbers,
      underscores (_), colons (:), or hyphens (-).
  PrimaryIpAddress:
    Type: String
    Description: >-
      The primary private IP address of the ENI.  The specified IP address must
      have the same Host ID as the VSwitch. If no IP addresses are specified, a
      random network ID is assigned for the ENI.
Resources:
  EniInstance:
    Type: 'ALIYUN::ECS::NetworkInterface'
    Properties:
      Description:
        Ref: Description
      ResourceGroupId:
        Ref: ResourceGroupId
      SecurityGroupId:
        Ref: SecurityGroupId
      VSwitchId:
        Ref: VSwitchId
      NetworkInterfaceName:
        Ref: NetworkInterfaceName
      PrimaryIpAddress:
        Ref: PrimaryIpAddress
Outputs:
  PrivateIpAddress:
    Description: The private ip address of your Network Interface.
    Value:
      'Fn::GetAtt':
        - EniInstance
        - PrivateIpAddress
  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