// Copyright 2018 JDCLOUD.COM // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // NOTE: This class is auto generated by the jdcloud code generator program. package apis import ( "github.com/jdcloud-api/jdcloud-sdk-go/core" ) type CreateSubnetRequest struct { core.JDCloudRequest /* Region ID */ RegionId string `json:"regionId"` /* 子网所属vpc的Id */ VpcId string `json:"vpcId"` /* 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符。 */ SubnetName string `json:"subnetName"` /* 子网网段,vpc内子网网段不能重叠,cidr的取值范围:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网,且子网掩码长度为16-28之间,如果vpc含有cidr,则必须为vpc所在cidr的子网 */ AddressPrefix string `json:"addressPrefix"` /* 子网关联的路由表Id, 默认为vpc的默认路由表 (Optional) */ RouteTableId *string `json:"routeTableId"` /* 子网描述信息,允许输入UTF-8编码下的全部字符,不超过256字符。 (Optional) */ Description *string `json:"description"` } /* * param regionId: Region ID (Required) * param vpcId: 子网所属vpc的Id (Required) * param subnetName: 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符。 (Required) * param addressPrefix: 子网网段,vpc内子网网段不能重叠,cidr的取值范围:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网,且子网掩码长度为16-28之间,如果vpc含有cidr,则必须为vpc所在cidr的子网 (Required) * * @Deprecated, not compatible when mandatory parameters changed */ func NewCreateSubnetRequest( regionId string, vpcId string, subnetName string, addressPrefix string, ) *CreateSubnetRequest { return &CreateSubnetRequest{ JDCloudRequest: core.JDCloudRequest{ URL: "/regions/{regionId}/subnets/", Method: "POST", Header: nil, Version: "v1", }, RegionId: regionId, VpcId: vpcId, SubnetName: subnetName, AddressPrefix: addressPrefix, } } /* * param regionId: Region ID (Required) * param vpcId: 子网所属vpc的Id (Required) * param subnetName: 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符。 (Required) * param addressPrefix: 子网网段,vpc内子网网段不能重叠,cidr的取值范围:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网,且子网掩码长度为16-28之间,如果vpc含有cidr,则必须为vpc所在cidr的子网 (Required) * param routeTableId: 子网关联的路由表Id, 默认为vpc的默认路由表 (Optional) * param description: 子网描述信息,允许输入UTF-8编码下的全部字符,不超过256字符。 (Optional) */ func NewCreateSubnetRequestWithAllParams( regionId string, vpcId string, subnetName string, addressPrefix string, routeTableId *string, description *string, ) *CreateSubnetRequest { return &CreateSubnetRequest{ JDCloudRequest: core.JDCloudRequest{ URL: "/regions/{regionId}/subnets/", Method: "POST", Header: nil, Version: "v1", }, RegionId: regionId, VpcId: vpcId, SubnetName: subnetName, AddressPrefix: addressPrefix, RouteTableId: routeTableId, Description: description, } } /* This constructor has better compatible ability when API parameters changed */ func NewCreateSubnetRequestWithoutParam() *CreateSubnetRequest { return &CreateSubnetRequest{ JDCloudRequest: core.JDCloudRequest{ URL: "/regions/{regionId}/subnets/", Method: "POST", Header: nil, Version: "v1", }, } } /* param regionId: Region ID(Required) */ func (r *CreateSubnetRequest) SetRegionId(regionId string) { r.RegionId = regionId } /* param vpcId: 子网所属vpc的Id(Required) */ func (r *CreateSubnetRequest) SetVpcId(vpcId string) { r.VpcId = vpcId } /* param subnetName: 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”,不允许为空且不超过32字符。(Required) */ func (r *CreateSubnetRequest) SetSubnetName(subnetName string) { r.SubnetName = subnetName } /* param addressPrefix: 子网网段,vpc内子网网段不能重叠,cidr的取值范围:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网,且子网掩码长度为16-28之间,如果vpc含有cidr,则必须为vpc所在cidr的子网(Required) */ func (r *CreateSubnetRequest) SetAddressPrefix(addressPrefix string) { r.AddressPrefix = addressPrefix } /* param routeTableId: 子网关联的路由表Id, 默认为vpc的默认路由表(Optional) */ func (r *CreateSubnetRequest) SetRouteTableId(routeTableId string) { r.RouteTableId = &routeTableId } /* param description: 子网描述信息,允许输入UTF-8编码下的全部字符,不超过256字符。(Optional) */ func (r *CreateSubnetRequest) SetDescription(description string) { r.Description = &description } // GetRegionId returns path parameter 'regionId' if exist, // otherwise return empty string func (r CreateSubnetRequest) GetRegionId() string { return r.RegionId } type CreateSubnetResponse struct { RequestID string `json:"requestId"` Error core.ErrorResponse `json:"error"` Result CreateSubnetResult `json:"result"` } type CreateSubnetResult struct { SubnetId string `json:"subnetId"` }