华为云计算 云知识 创建子网CreateSubnet
创建子网CreateSubnet

 

功能介绍

创建子网。

调试

您可以在API Explorer中调试该接口。

约束与限制

  • 网络下存在IPv4子网的情况下,才可以创建IPv6子网。
  • VXLAN类型网络下只能有一个IPv4的子网和一个IPv6的子网。

URI

POST /v1/{project_id}/subnets

参数说明请参见表1。
表1 参数说明

名称

是否必选

说明

project_id

项目ID,获取项目ID请参见获取项目ID

请求参数

表2 请求参数

名称

是否必选

参数类型

说明

subnet

subnet object

subnet对象

表3 subnet对象

名称

是否必选

参数类型

说明

name

String

  • 功能说明:子网名称
  • 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)

description

String

  • 功能说明:子网描述
  • 取值范围:0-255个字符,不能包含“<”和“>”。

cidr

String

  • 功能说明:子网的网段
  • 取值范围:必须在vpc对应cidr范围内
  • 约束:必须是cidr格式。掩码长度不能大于28

gateway_ip

String

  • 功能说明:子网的网关
  • 取值范围:子网网段中的IP地址
  • 约束:必须是ip格式

ipv6_enable

Boolean

  • 功能说明:是否创建IPv6子网
  • 取值范围:true(开启),false(关闭)
  • 约束:不填时默认为false

dhcp_enable

Boolean

  • 功能说明:子网是否开启dhcp功能
  • 取值范围:true(开启),false(关闭)
  • 约束:不填时默认为true。当设置为false时,会导致新创建的ECS无法获取IP地址,Cloud-init无法注入帐号密码,请谨慎操作。

primary_dns

String

  • 功能说明:子网dns服务器地址1
  • 约束:ip格式,不支持IPv6地址。不填时,默认为空

内网 DNS地址 请参见华为云提供的内网DNS地址是多少?

可以通过查询名称服务器列表查看DNS服务器的地址。

secondary_dns

String

  • 功能说明:子网dns服务器地址2
  • 约束:ip格式,不支持IPv6地址。不填时,默认为空

内网DNS地址请参见华为云提供的内网DNS地址是多少?

可以通过查询名称服务器列表查看DNS服务器的地址。

dnsList

Array of strings

  • 功能说明:子网dns服务器地址的集合;如果想使用两个以上dns服务器,请使用该字段
  • 约束:是子网dns服务器地址1跟子网dns服务器地址2的合集的父集,不支持IPv6地址。不填时,默认为空

内网DNS地址请参见华为云提供的内网DNS地址是多少?

可以通过查询名称服务器列表查看DNS服务器的地址。

availability_zone

String

vpc_id

String

子网所在VPC标识

extra_dhcp_opts

Array of extra_dhcp_opt objects

子网配置的NTP地址或租约时间,详情请参见extra_dhcp_opt对象。

tags

Array of Strings

  • 功能说明:子网资源标签。创建子网时,给子网添加资源标签。
  • 取值范围:最大10个标签
    • key:标签名称。不能为空,长度不超过128个字符(当前控制台操作key长度不超过36个字符),由英文字母、数字、下划线、中划线、中文字符组成,同一资源的key值不能重复。
    • value:标签值。长度不超过255个字符(当前控制台操作value长度不超过43个字符),由英文字母、数字、下划线、点、中划线、中文字符组成。
  • 格式:[key*value],每一个标签的key和value之间用*连接
表4 extra_dhcp_opt对象

名称

是否必选

参数类型

说明

opt_value

String

  • 功能说明:子网配置的NTP地址或子网配置的租约到期时间。
  • 约束:

    opt_name配置为“ntp”,则表示是子网ntp地址,目前只支持IPv4地址,每个IP地址以逗号隔开,IP地址个数不能超过4个,不能存在相同地址。该字段为null表示取消该子网NTP的设置,不能为“ ”(空字符串)。

    opt_name配置为“addresstime”,则该值表示是子网租约到期时间,取值格式有两种,取-1,表示无限租约;数字+h,数字范围是1~30000,比如5h,默认值为24h。

opt_name

String

  • 功能说明:子网配置的NTP地址名称或子网配置的租约到期名称。
  • 约束:目前只支持填写字符串“ntp”或“addresstime”。

请求示例

  • 创建一个子网,所在vpc的id为3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85,命名为subent,设置cidr为192.168.20.0/24,网关IP为192.168.20.1。
    POST https://{Endpoint}/v1/{project_id}/subnets
    
    {
        "subnet": {
            "name": "subnet",
            "description": "",
            "cidr": "192.168.20.0/24",
            "gateway_ip": "192.168.20.1",
            "ipv6_enable": true,
            "dhcp_enable": true,
            "primary_dns": "114.xx.xx.114",
            "secondary_dns": "114.xx.xx.115",
            "dnsList": [
                "114.xx.xx.114",
                "114.xx.xx.115"
            ],
            "availability_zone": "aa-bb-cc",
            "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85",
            "extra_dhcp_opts": [
                {
                    "opt_value": "10.100.0.33,10.100.0.34",
                    "opt_name": "ntp"
                },
                {
                    "opt_value": "24h",
                    "opt_name": "addresstime"
                }
            ]
        }
    }

响应参数

表5 响应参数

名称

参数类型

说明

subnet

subnet object

subnet对象

表6 subnet对象

名称

参数类型

说明

id

String

uuid形式的一个资源标识

name

String

  • 功能说明:子网名称
  • 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)

description

String

  • 功能说明:子网描述
  • 取值范围:0-255个字符,不能包含“<”和“>”。

cidr

String

  • 功能说明:子网的网段
  • 取值范围:必须在vpc对应cidr范围内
  • 约束:必须是cidr格式。掩码长度不能大于28

gateway_ip

String

  • 功能说明:子网的网关
  • 取值范围:子网网段中的IP地址
  • 约束:必须是ip格式

ipv6_enable

Boolean

是否创建IPv6子网

cidr_v6

String

IPv6子网的网段,如果子网为IPv4子网,则不返回此参数

gateway_ip_v6

String

IPv6子网的网关,如果子网为IPv4子网,则不返回此参数

dhcp_enable

Boolean

子网是否开启dhcp功能

primary_dns

String

  • 功能说明:子网dns服务器地址1
  • 约束:ip格式,不支持IPv6地址。不填时,默认为空

secondary_dns

String

  • 功能说明:子网dns服务器地址2
  • 约束:ip格式,不支持IPv6地址。不填时,默认为空

dnsList

Array of strings

  • 功能说明:子网dns服务器地址的集合;如果想使用两个以上dns服务器,请使用该字段
  • 约束:是子网dns服务器地址1跟子网dns服务器地址2的合集的父集,不支持IPv6地址。不填时,默认为空

availability_zone

String

  • 功能说明:子网所在的可用区标识,从终端节点获取,参考终端节点(Endpoint)
  • 约束:系统存在的可用区标识;不填时,默认为空

vpc_id

String

子网所在VPC标识

status

String

  • 功能说明:子网的状态。
  • 取值范围:ACTIVE,UNKNOWN,ERROR
    • ACTIVE表示子网已挂载到VPC上
    • UNKNOWN表示子网还未挂载到VPC上
    • ERROR表示子网状态故障
  • 创建子网的流程为:先创建子网,然后在线程中将子网挂载在VPC上。

    在并发场景下,由于使用相同的cidr来创建子网,底层发生校验后使得挂载VPC失败,回滚创建子网的过程,子网创建失败。

    创建子网接口返回时,状态为UNKNOWN。

neutron_network_id

String

对应网络(OpenStack Neutron接口)id

neutron_subnet_id

String

对应子网(OpenStack Neutron接口)id

neutron_subnet_id_v6

String

对应IPv6子网(OpenStack Neutron接口)id,如果子网为IPv4子网,则不返回此参数

extra_dhcp_opts

Array of extra_dhcp_opt objects

子网配置的NTP地址或租约时间,详情请参见表7。

scope

String

子网作用域。

取值范围:

  • center:表示作用域为中心
  • {azId}:表示作用域为具体的可用区

tenant_id

String

功能说明:项目ID。

created_at

String

  • 功能说明:资源创建时间,UTC时间
  • 格式:yyyy-MM-ddTHH:mm:ss

updated_at

String

  • 功能说明:资源更新时间,UTC时间
  • 格式:yyyy-MM-ddTHH:mm:ss
表7 extra_dhcp_opt对象

名称

是否必选

参数类型

说明

opt_value

String

  • 功能说明:子网配置的NTP地址或子网配置的租约到期时间。
  • 约束:

    opt_name配置为“ntp”,则表示是子网ntp地址,目前只支持IPv4地址,每个IP地址以逗号隔开,IP地址个数不能超过4个,不能存在相同地址。该字段为null表示取消该子网NTP的设置,不能为“ ”(空字符串)。

    opt_name配置为“addresstime”,则该值表示是子网租约到期时间,取值格式有两种,取-1,表示无限租约;数字+h,数字范围是1~30000,比如5h,默认值为24h。

opt_name

String

  • 功能说明:子网配置的NTP地址名称或子网配置的租约到期名称。
  • 约束:目前只支持填写字符串“ntp”或“addresstime”。

响应示例

{
    "subnet": {
        "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
        "name": "subnet",
        "description": "",
        "cidr": "192.168.20.0/24",
        "dnsList": [
            "114.xx.xx.114",
            "114.xx.xx.115"
        ],
        "status": "UNKNOWN",
        "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85",
        "gateway_ip": "192.168.20.1",
        "ipv6_enable": true, 
        "cidr_v6": "2001:db8:a583::/64",
        "gateway_ip_v6": "2001:db8:a583::1",
        "dhcp_enable": true,
        "primary_dns": "114.xx.xx.114",
        "secondary_dns": "114.xx.xx.115",
        "availability_zone": "aa-bb-cc",
        "neutron_network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
        "neutron_subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12",
        "neutron_subnet_id_v6": "e0fa7de1-a6e2-44c9-b052-b9d8cebe93c4",  
        "extra_dhcp_opts": [
            {
                "opt_value": "10.100.0.33,10.100.0.34",
                "opt_name": "ntp"
            },
            {
                "opt_value": "24h",
                "opt_name": "addresstime"
            }
        ],
        "tenant_id": "087679f0aa80d32a2f4ec0172f5e902b",
        "created_at": "2022-12-15T02:42:07",
        "updated_at": "2022-12-15T02:42:07"
    }
}

状态码

请参见状态码

错误码

请参考错误码

 

上一篇:华为云CDN域名访问情况统计 下一篇:发布CloudRelease免费体验