文档首页 > > API参考> API> 子网> 创建子网

创建子网

分享
更新时间: 2019/11/29 GMT+08:00

功能介绍

创建子网。

URI

POST /v1/{project_id}/subnets

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

名称

是否必选

说明

project_id

项目ID

请求消息

  • 请求参数
    表2 请求参数

    名称

    是否必选

    参数类型

    说明

    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

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

      该参数目前仅在“华北-北京四”区域开放,且申请IPv6公测后才可设置。

    dhcp_enable

    Boolean

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

    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

    • 功能说明:子网所在的可用区标识
    • 约束:系统存在的可用区标识

    vpc_id

    String

    子网所在VPC标识

    extra_dhcp_opts

    Array of extra_dhcp_opt objects

    子网配置的NTP地址,详情请参见extra_dhcp_opt对象

    表4 extra_dhcp_opt对象

    名称

    是否必选

    参数类型

    说明

    opt_value

    String

    • 功能说明:子网配置的NTP地址。
    • 约束:

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

    opt_name

    String

    • 功能说明:子网配置的NTP地址名称
    • 约束:目前只支持填写字符串“ntp”。
  • 请求样例
    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",//假设可用区标识为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"
                }
            ]
        }
    }

响应消息

  • 响应参数
    表5 响应参数

    名称

    参数类型

    说明

    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子网

    说明:

    该参数目前仅在“华北-北京四”区域开放,且申请IPv6公测后才可设置。

    cidr_v6

    String

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

    gateway_ip_v6

    String

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

    dhcp_enable

    Boolean

    子网是否开启dhcp功能

    primary_dns

    String

    子网dns服务器地址1

    secondary_dns

    String

    子网dns服务器地址2

    dnsList

    Array of strings

    子网dns服务器地址列表

    availability_zone

    String

    子网所在的可用区标识

    vpc_id

    String

    子网所在VPC标识

    status

    String

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

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

      创建子网接口返回时,状态为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

    表7 extra_dhcp_opt对象

    名称

    是否必选

    参数类型

    说明

    opt_value

    String

    • 功能说明:子网配置的NTP地址。
    • 约束:

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

    opt_name

    String

    • 功能说明:子网配置的NTP地址名称
    • 约束:目前只支持填写字符串“ntp”。
  • 响应样例
    {
        "subnet": {
            "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
            "name": "subnet",
            "description": "",
            "cidr": "192.168.20.0/24",
            "dnsList": [
                "114.xx.xx.114",
                "1114.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",//假设可用区标识为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"
                }
            ]
        }
    }

状态码

请参见状态码

错误码

请参考错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区