更新时间:2024-04-17 GMT+08:00

VPC.Subnet

模型说明

VPC.Subnet用于创建虚拟私有云网络中的子网。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

dnsList

子网dns服务器地址的集合。如果想使用两个以上dns服务器,需要填写该字段

参数类型:ip数组

取值说明:必须是IP的数组,如:["8.8.8.8", "4.4.4.4", "6.6.6.6"]

取值约束:必须是IP的数组格式,必须包含primaryDns和secondaryDns的值

使用建议:如果子网中需要DNS服务器的话,primaryDns、dnsList必须填写其中一个;primaryDns、secondaryDns、dnsList都不填写的情况下,创建出来的子网将不会带有DNS服务器。

vpcId

子网所属VPC的ID

参数类型:Cloud.VPC.VPC.Id

取值说明:支持使用已有或新建虚拟私有云的ID。若使用新建的VPC,需在模板中定义VPC对象并建立依赖关系,建议通过拖拽到VPC内自动生成

取值约束:必须是cidr格式,例如:192.168.0.0/16

使用建议:1. 建议使用get_input方式赋值,模板使用者可在创建堆栈时从列表中选择一个已存在的VPC 2. 如果获取本模板内的VPC信息,建议通过get_reference方法获取 3. 在VPC服务界面获取已经创建好的VPC的ID

name

子网名称

参数类型:string

取值说明:自定义,如musubnet

默认值:""

取值约束:同一个vpc下唯一,长度为[1, 64],由大写字母、小写字母、数字,下划线(_)和中划线(-)组成

使用建议:用户自定义,不填写时系统将自动分配名称

secondaryDns

子网的DNS服务器地址2

参数类型:ip

取值说明:必须是IP格式,如 4.4.4.4

取值约束:必须是IP格式

gateway

子网的网关

参数类型:ip

取值说明:在子网CIDR地址的范围内的网关地址

默认值:192.168.1.1

取值约束:必须是IP格式,且符合网关的IP规则,如:192.168.1.1

使用建议:用户根据所要使用的IP范围进行自定义

availabilityZone

子网所在的可用区名称

参数类型:Cloud.ECS.AvailabilityZone.Name

取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称。

取值约束:根据所属区域选择。

使用建议:建议使用get_input方式赋值,模板使用者可在创建堆栈时从列表中选择

primaryDns

子网的DNS服务器地址1

参数类型:ip

取值说明:满足IP地址的格式,如 8.8.8.8

取值约束:必须是IP格式

使用建议:如果子网中需要DNS服务器的话,primaryDns、dnsList必须填写其中一个;primaryDns、secondaryDns、dnsList都不填写的情况下,创建出来的子网将不会带有DNS服务器。

dhcpEnable

是否为该VPC的子网开启DHCP功能

参数类型:boolean

取值说明:true(启用):开启DHCP功能。使用该VPC的弹性云服务器启动过后,会通过DHCP协议自动获取到IP地址。false(停用):停用DHCP功能。使用该VPC的弹性云服务器启动过后,无法自动获取IP地址,需要手动为该弹性云服务器配置IP地址

默认值:True

取值约束:true或false

使用建议:用户根据自己的需求进行选择,建议开启

cidr

子网内可使用的地址范围

参数类型:string

取值说明:取值范围:10.0.0.0/8~10.255.255.0/24或者172.16.0.0/12 ~ 172.31.255.0/24或者192.168.0.0/16 ~ 192.168.255.0/24

默认值:192.168.1.0/24

取值约束:必须是cidr格式,例如:192.168.0.0/16,必须在vpc对应cidr范围内

使用建议:用户根据所要使用的IP范围进行自定义

关联关系

表2 关联关系说明

关系说明

关联节点

被包含关系

VPC.VPC

输出

属性

参数类型

描述

neutron_network_id

string

OpenStack中的网络ID

vpcId

string

子网所属的虚拟私有云的ID

neutron_subnet_id

string

OpenStack中的子网ID

refName

string

子网的名称

refID

string

子网的ID

blueprint样例

tosca_definitions_version: cloud_tosca_version_1_0
inputs:
  vpc-name:
    default: vpc
    type: string
  vpc-cidr:
    default: 192.168.0.0/16
    type: string
  subnet-name:
    type: string
    default: subnet
  subnet-cidr:
    default: 192.168.0.0/24
    type: string
  subnet-gateway:
    type: ip
    default: 192.168.0.1
  dhcenable:
    type: boolean
    default: true
  availabilityZone:
    description: 子网所在的可用区名称
    label: ''
node_templates:
  my-vpc:
    type: Cloud.VPC.VPC
    properties:
      name:
        get_input: vpc-name
      cidr:
        get_input: vpc-cidr
  my-subnet:
    type: Cloud.VPC.Subnet
    properties:
      name:
        get_input: subnet-name
      cidr:
        get_input: subnet-cidr
      gateway:
        get_input: subnet-gateway
      dhcpEnable:
        get_input: dhcenable
      dnsList: [114.114.114.115,114.114.114.114]
      vpcId:
        get_attribute: [my-vpc,refID] 
      availabilityZone:
        get_input: availabilityZone
    requirements:
      - vpcId:
          node: my-vpc