-
Notifications
You must be signed in to change notification settings - Fork 15
/
CreateSubnet.go
187 lines (158 loc) · 7.52 KB
/
CreateSubnet.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// 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"`
/* 子网类型,取值:standard(标准子网),edge(边缘子网) (Optional) */
SubnetType *string `json:"subnetType"`
/* 子网可用区,边缘子网必须指定可用区 (Optional) */
Az *string `json:"az"`
}
/*
* 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)
* param subnetType: 子网类型,取值:standard(标准子网),edge(边缘子网) (Optional)
* param az: 子网可用区,边缘子网必须指定可用区 (Optional)
*/
func NewCreateSubnetRequestWithAllParams(
regionId string,
vpcId string,
subnetName string,
addressPrefix string,
routeTableId *string,
description *string,
subnetType *string,
az *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,
SubnetType: subnetType,
Az: az,
}
}
/* 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
}
/* param subnetType: 子网类型,取值:standard(标准子网),edge(边缘子网)(Optional) */
func (r *CreateSubnetRequest) SetSubnetType(subnetType string) {
r.SubnetType = &subnetType
}
/* param az: 子网可用区,边缘子网必须指定可用区(Optional) */
func (r *CreateSubnetRequest) SetAz(az string) {
r.Az = &az
}
// 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"`
}