VpcClient.go 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239
  1. // Copyright 2018 JDCLOUD.COM
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. //
  15. // NOTE: This class is auto generated by the jdcloud code generator program.
  16. package client
  17. import (
  18. "github.com/jdcloud-api/jdcloud-sdk-go/core"
  19. vpc "github.com/jdcloud-api/jdcloud-sdk-go/services/vpc/apis"
  20. "encoding/json"
  21. "errors"
  22. )
  23. type VpcClient struct {
  24. core.JDCloudClient
  25. }
  26. func NewVpcClient(credential *core.Credential) *VpcClient {
  27. if credential == nil {
  28. return nil
  29. }
  30. config := core.NewConfig()
  31. config.SetEndpoint("vpc.jdcloud-api.com")
  32. return &VpcClient{
  33. core.JDCloudClient{
  34. Credential: *credential,
  35. Config: *config,
  36. ServiceName: "vpc",
  37. Revision: "0.9.2",
  38. Logger: core.NewDefaultLogger(core.LogInfo),
  39. }}
  40. }
  41. func (c *VpcClient) SetConfig(config *core.Config) {
  42. c.Config = *config
  43. }
  44. func (c *VpcClient) SetLogger(logger core.Logger) {
  45. c.Logger = logger
  46. }
  47. func (c *VpcClient) DisableLogger() {
  48. c.Logger = core.NewDummyLogger()
  49. }
  50. /* 删除弹性公网IP */
  51. func (c *VpcClient) DeleteElasticIp(request *vpc.DeleteElasticIpRequest) (*vpc.DeleteElasticIpResponse, error) {
  52. if request == nil {
  53. return nil, errors.New("Request object is nil. ")
  54. }
  55. resp, err := c.Send(request, c.ServiceName)
  56. if err != nil {
  57. return nil, err
  58. }
  59. jdResp := &vpc.DeleteElasticIpResponse{}
  60. err = json.Unmarshal(resp, jdResp)
  61. if err != nil {
  62. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  63. return nil, err
  64. }
  65. return jdResp, err
  66. }
  67. /* 修改VpcPeering接口 */
  68. func (c *VpcClient) ModifyVpcPeering(request *vpc.ModifyVpcPeeringRequest) (*vpc.ModifyVpcPeeringResponse, error) {
  69. if request == nil {
  70. return nil, errors.New("Request object is nil. ")
  71. }
  72. resp, err := c.Send(request, c.ServiceName)
  73. if err != nil {
  74. return nil, err
  75. }
  76. jdResp := &vpc.ModifyVpcPeeringResponse{}
  77. err = json.Unmarshal(resp, jdResp)
  78. if err != nil {
  79. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  80. return nil, err
  81. }
  82. return jdResp, err
  83. }
  84. /* 修改弹性公网IP */
  85. func (c *VpcClient) ModifyElasticIp(request *vpc.ModifyElasticIpRequest) (*vpc.ModifyElasticIpResponse, error) {
  86. if request == nil {
  87. return nil, errors.New("Request object is nil. ")
  88. }
  89. resp, err := c.Send(request, c.ServiceName)
  90. if err != nil {
  91. return nil, err
  92. }
  93. jdResp := &vpc.ModifyElasticIpResponse{}
  94. err = json.Unmarshal(resp, jdResp)
  95. if err != nil {
  96. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  97. return nil, err
  98. }
  99. return jdResp, err
  100. }
  101. /* 修改networkAcl接口 */
  102. func (c *VpcClient) ModifyNetworkAclRules(request *vpc.ModifyNetworkAclRulesRequest) (*vpc.ModifyNetworkAclRulesResponse, error) {
  103. if request == nil {
  104. return nil, errors.New("Request object is nil. ")
  105. }
  106. resp, err := c.Send(request, c.ServiceName)
  107. if err != nil {
  108. return nil, err
  109. }
  110. jdResp := &vpc.ModifyNetworkAclRulesResponse{}
  111. err = json.Unmarshal(resp, jdResp)
  112. if err != nil {
  113. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  114. return nil, err
  115. }
  116. return jdResp, err
  117. }
  118. /* 删除networkAcl接口 */
  119. func (c *VpcClient) DeleteNetworkAcl(request *vpc.DeleteNetworkAclRequest) (*vpc.DeleteNetworkAclResponse, error) {
  120. if request == nil {
  121. return nil, errors.New("Request object is nil. ")
  122. }
  123. resp, err := c.Send(request, c.ServiceName)
  124. if err != nil {
  125. return nil, err
  126. }
  127. jdResp := &vpc.DeleteNetworkAclResponse{}
  128. err = json.Unmarshal(resp, jdResp)
  129. if err != nil {
  130. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  131. return nil, err
  132. }
  133. return jdResp, err
  134. }
  135. /* 删除子网 */
  136. func (c *VpcClient) DeleteSubnet(request *vpc.DeleteSubnetRequest) (*vpc.DeleteSubnetResponse, error) {
  137. if request == nil {
  138. return nil, errors.New("Request object is nil. ")
  139. }
  140. resp, err := c.Send(request, c.ServiceName)
  141. if err != nil {
  142. return nil, err
  143. }
  144. jdResp := &vpc.DeleteSubnetResponse{}
  145. err = json.Unmarshal(resp, jdResp)
  146. if err != nil {
  147. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  148. return nil, err
  149. }
  150. return jdResp, err
  151. }
  152. /* 查询子网列表 */
  153. func (c *VpcClient) DescribeSubnets(request *vpc.DescribeSubnetsRequest) (*vpc.DescribeSubnetsResponse, error) {
  154. if request == nil {
  155. return nil, errors.New("Request object is nil. ")
  156. }
  157. resp, err := c.Send(request, c.ServiceName)
  158. if err != nil {
  159. return nil, err
  160. }
  161. jdResp := &vpc.DescribeSubnetsResponse{}
  162. err = json.Unmarshal(resp, jdResp)
  163. if err != nil {
  164. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  165. return nil, err
  166. }
  167. return jdResp, err
  168. }
  169. /* 查询弹性网卡列表 */
  170. func (c *VpcClient) DescribeNetworkInterfaces(request *vpc.DescribeNetworkInterfacesRequest) (*vpc.DescribeNetworkInterfacesResponse, error) {
  171. if request == nil {
  172. return nil, errors.New("Request object is nil. ")
  173. }
  174. resp, err := c.Send(request, c.ServiceName)
  175. if err != nil {
  176. return nil, err
  177. }
  178. jdResp := &vpc.DescribeNetworkInterfacesResponse{}
  179. err = json.Unmarshal(resp, jdResp)
  180. if err != nil {
  181. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  182. return nil, err
  183. }
  184. return jdResp, err
  185. }
  186. /* 移除安全组规则 */
  187. func (c *VpcClient) RemoveNetworkSecurityGroupRules(request *vpc.RemoveNetworkSecurityGroupRulesRequest) (*vpc.RemoveNetworkSecurityGroupRulesResponse, error) {
  188. if request == nil {
  189. return nil, errors.New("Request object is nil. ")
  190. }
  191. resp, err := c.Send(request, c.ServiceName)
  192. if err != nil {
  193. return nil, err
  194. }
  195. jdResp := &vpc.RemoveNetworkSecurityGroupRulesResponse{}
  196. err = json.Unmarshal(resp, jdResp)
  197. if err != nil {
  198. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  199. return nil, err
  200. }
  201. return jdResp, err
  202. }
  203. /* 修改安全组属性 */
  204. func (c *VpcClient) ModifyNetworkSecurityGroup(request *vpc.ModifyNetworkSecurityGroupRequest) (*vpc.ModifyNetworkSecurityGroupResponse, error) {
  205. if request == nil {
  206. return nil, errors.New("Request object is nil. ")
  207. }
  208. resp, err := c.Send(request, c.ServiceName)
  209. if err != nil {
  210. return nil, err
  211. }
  212. jdResp := &vpc.ModifyNetworkSecurityGroupResponse{}
  213. err = json.Unmarshal(resp, jdResp)
  214. if err != nil {
  215. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  216. return nil, err
  217. }
  218. return jdResp, err
  219. }
  220. /* 添加安全组规则 */
  221. func (c *VpcClient) AddNetworkSecurityGroupRules(request *vpc.AddNetworkSecurityGroupRulesRequest) (*vpc.AddNetworkSecurityGroupRulesResponse, error) {
  222. if request == nil {
  223. return nil, errors.New("Request object is nil. ")
  224. }
  225. resp, err := c.Send(request, c.ServiceName)
  226. if err != nil {
  227. return nil, err
  228. }
  229. jdResp := &vpc.AddNetworkSecurityGroupRulesResponse{}
  230. err = json.Unmarshal(resp, jdResp)
  231. if err != nil {
  232. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  233. return nil, err
  234. }
  235. return jdResp, err
  236. }
  237. /* 创建networkAcl接口 */
  238. func (c *VpcClient) CreateNetworkAcl(request *vpc.CreateNetworkAclRequest) (*vpc.CreateNetworkAclResponse, error) {
  239. if request == nil {
  240. return nil, errors.New("Request object is nil. ")
  241. }
  242. resp, err := c.Send(request, c.ServiceName)
  243. if err != nil {
  244. return nil, err
  245. }
  246. jdResp := &vpc.CreateNetworkAclResponse{}
  247. err = json.Unmarshal(resp, jdResp)
  248. if err != nil {
  249. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  250. return nil, err
  251. }
  252. return jdResp, err
  253. }
  254. /* 查询配额信息 */
  255. func (c *VpcClient) DescribeQuota(request *vpc.DescribeQuotaRequest) (*vpc.DescribeQuotaResponse, error) {
  256. if request == nil {
  257. return nil, errors.New("Request object is nil. ")
  258. }
  259. resp, err := c.Send(request, c.ServiceName)
  260. if err != nil {
  261. return nil, err
  262. }
  263. jdResp := &vpc.DescribeQuotaResponse{}
  264. err = json.Unmarshal(resp, jdResp)
  265. if err != nil {
  266. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  267. return nil, err
  268. }
  269. return jdResp, err
  270. }
  271. /* 创建路由表 */
  272. func (c *VpcClient) CreateRouteTable(request *vpc.CreateRouteTableRequest) (*vpc.CreateRouteTableResponse, error) {
  273. if request == nil {
  274. return nil, errors.New("Request object is nil. ")
  275. }
  276. resp, err := c.Send(request, c.ServiceName)
  277. if err != nil {
  278. return nil, err
  279. }
  280. jdResp := &vpc.CreateRouteTableResponse{}
  281. err = json.Unmarshal(resp, jdResp)
  282. if err != nil {
  283. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  284. return nil, err
  285. }
  286. return jdResp, err
  287. }
  288. /* 删除安全组 */
  289. func (c *VpcClient) DeleteNetworkSecurityGroup(request *vpc.DeleteNetworkSecurityGroupRequest) (*vpc.DeleteNetworkSecurityGroupResponse, error) {
  290. if request == nil {
  291. return nil, errors.New("Request object is nil. ")
  292. }
  293. resp, err := c.Send(request, c.ServiceName)
  294. if err != nil {
  295. return nil, err
  296. }
  297. jdResp := &vpc.DeleteNetworkSecurityGroupResponse{}
  298. err = json.Unmarshal(resp, jdResp)
  299. if err != nil {
  300. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  301. return nil, err
  302. }
  303. return jdResp, err
  304. }
  305. /* 查询路由表信息详情 */
  306. func (c *VpcClient) DescribeRouteTable(request *vpc.DescribeRouteTableRequest) (*vpc.DescribeRouteTableResponse, error) {
  307. if request == nil {
  308. return nil, errors.New("Request object is nil. ")
  309. }
  310. resp, err := c.Send(request, c.ServiceName)
  311. if err != nil {
  312. return nil, err
  313. }
  314. jdResp := &vpc.DescribeRouteTableResponse{}
  315. err = json.Unmarshal(resp, jdResp)
  316. if err != nil {
  317. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  318. return nil, err
  319. }
  320. return jdResp, err
  321. }
  322. /* 删除私有网络 */
  323. func (c *VpcClient) DeleteVpc(request *vpc.DeleteVpcRequest) (*vpc.DeleteVpcResponse, error) {
  324. if request == nil {
  325. return nil, errors.New("Request object is nil. ")
  326. }
  327. resp, err := c.Send(request, c.ServiceName)
  328. if err != nil {
  329. return nil, err
  330. }
  331. jdResp := &vpc.DeleteVpcResponse{}
  332. err = json.Unmarshal(resp, jdResp)
  333. if err != nil {
  334. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  335. return nil, err
  336. }
  337. return jdResp, err
  338. }
  339. /* 查询VpcPeering资源列表 */
  340. func (c *VpcClient) DescribeVpcPeerings(request *vpc.DescribeVpcPeeringsRequest) (*vpc.DescribeVpcPeeringsResponse, error) {
  341. if request == nil {
  342. return nil, errors.New("Request object is nil. ")
  343. }
  344. resp, err := c.Send(request, c.ServiceName)
  345. if err != nil {
  346. return nil, err
  347. }
  348. jdResp := &vpc.DescribeVpcPeeringsResponse{}
  349. err = json.Unmarshal(resp, jdResp)
  350. if err != nil {
  351. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  352. return nil, err
  353. }
  354. return jdResp, err
  355. }
  356. /* 查询Acl列表 */
  357. func (c *VpcClient) DescribeNetworkAcls(request *vpc.DescribeNetworkAclsRequest) (*vpc.DescribeNetworkAclsResponse, error) {
  358. if request == nil {
  359. return nil, errors.New("Request object is nil. ")
  360. }
  361. resp, err := c.Send(request, c.ServiceName)
  362. if err != nil {
  363. return nil, err
  364. }
  365. jdResp := &vpc.DescribeNetworkAclsResponse{}
  366. err = json.Unmarshal(resp, jdResp)
  367. if err != nil {
  368. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  369. return nil, err
  370. }
  371. return jdResp, err
  372. }
  373. /* 查询子网信息详情 */
  374. func (c *VpcClient) DescribeSubnet(request *vpc.DescribeSubnetRequest) (*vpc.DescribeSubnetResponse, error) {
  375. if request == nil {
  376. return nil, errors.New("Request object is nil. ")
  377. }
  378. resp, err := c.Send(request, c.ServiceName)
  379. if err != nil {
  380. return nil, err
  381. }
  382. jdResp := &vpc.DescribeSubnetResponse{}
  383. err = json.Unmarshal(resp, jdResp)
  384. if err != nil {
  385. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  386. return nil, err
  387. }
  388. return jdResp, err
  389. }
  390. /* 查询安全组信息详情 */
  391. func (c *VpcClient) DescribeNetworkSecurityGroup(request *vpc.DescribeNetworkSecurityGroupRequest) (*vpc.DescribeNetworkSecurityGroupResponse, error) {
  392. if request == nil {
  393. return nil, errors.New("Request object is nil. ")
  394. }
  395. resp, err := c.Send(request, c.ServiceName)
  396. if err != nil {
  397. return nil, err
  398. }
  399. jdResp := &vpc.DescribeNetworkSecurityGroupResponse{}
  400. err = json.Unmarshal(resp, jdResp)
  401. if err != nil {
  402. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  403. return nil, err
  404. }
  405. return jdResp, err
  406. }
  407. /* 查询安全组列表 */
  408. func (c *VpcClient) DescribeNetworkSecurityGroups(request *vpc.DescribeNetworkSecurityGroupsRequest) (*vpc.DescribeNetworkSecurityGroupsResponse, error) {
  409. if request == nil {
  410. return nil, errors.New("Request object is nil. ")
  411. }
  412. resp, err := c.Send(request, c.ServiceName)
  413. if err != nil {
  414. return nil, err
  415. }
  416. jdResp := &vpc.DescribeNetworkSecurityGroupsResponse{}
  417. err = json.Unmarshal(resp, jdResp)
  418. if err != nil {
  419. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  420. return nil, err
  421. }
  422. return jdResp, err
  423. }
  424. /* 查询Vpc信息详情 */
  425. func (c *VpcClient) DescribeVpc(request *vpc.DescribeVpcRequest) (*vpc.DescribeVpcResponse, error) {
  426. if request == nil {
  427. return nil, errors.New("Request object is nil. ")
  428. }
  429. resp, err := c.Send(request, c.ServiceName)
  430. if err != nil {
  431. return nil, err
  432. }
  433. jdResp := &vpc.DescribeVpcResponse{}
  434. err = json.Unmarshal(resp, jdResp)
  435. if err != nil {
  436. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  437. return nil, err
  438. }
  439. return jdResp, err
  440. }
  441. /* 给子网解绑NetworkAcl接口 */
  442. func (c *VpcClient) DisassociateNetworkAcl(request *vpc.DisassociateNetworkAclRequest) (*vpc.DisassociateNetworkAclResponse, error) {
  443. if request == nil {
  444. return nil, errors.New("Request object is nil. ")
  445. }
  446. resp, err := c.Send(request, c.ServiceName)
  447. if err != nil {
  448. return nil, err
  449. }
  450. jdResp := &vpc.DisassociateNetworkAclResponse{}
  451. err = json.Unmarshal(resp, jdResp)
  452. if err != nil {
  453. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  454. return nil, err
  455. }
  456. return jdResp, err
  457. }
  458. /* 查询边缘公网IP可用线路列表 */
  459. func (c *VpcClient) DescribeEdgeIpProviders(request *vpc.DescribeEdgeIpProvidersRequest) (*vpc.DescribeEdgeIpProvidersResponse, error) {
  460. if request == nil {
  461. return nil, errors.New("Request object is nil. ")
  462. }
  463. resp, err := c.Send(request, c.ServiceName)
  464. if err != nil {
  465. return nil, err
  466. }
  467. jdResp := &vpc.DescribeEdgeIpProvidersResponse{}
  468. err = json.Unmarshal(resp, jdResp)
  469. if err != nil {
  470. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  471. return nil, err
  472. }
  473. return jdResp, err
  474. }
  475. /* 移除networkAcl规则 */
  476. func (c *VpcClient) RemoveNetworkAclRules(request *vpc.RemoveNetworkAclRulesRequest) (*vpc.RemoveNetworkAclRulesResponse, error) {
  477. if request == nil {
  478. return nil, errors.New("Request object is nil. ")
  479. }
  480. resp, err := c.Send(request, c.ServiceName)
  481. if err != nil {
  482. return nil, err
  483. }
  484. jdResp := &vpc.RemoveNetworkAclRulesResponse{}
  485. err = json.Unmarshal(resp, jdResp)
  486. if err != nil {
  487. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  488. return nil, err
  489. }
  490. return jdResp, err
  491. }
  492. /* 路由表绑定子网接口 */
  493. func (c *VpcClient) AssociateRouteTable(request *vpc.AssociateRouteTableRequest) (*vpc.AssociateRouteTableResponse, error) {
  494. if request == nil {
  495. return nil, errors.New("Request object is nil. ")
  496. }
  497. resp, err := c.Send(request, c.ServiceName)
  498. if err != nil {
  499. return nil, err
  500. }
  501. jdResp := &vpc.AssociateRouteTableResponse{}
  502. err = json.Unmarshal(resp, jdResp)
  503. if err != nil {
  504. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  505. return nil, err
  506. }
  507. return jdResp, err
  508. }
  509. /* 查询私有网络列表 */
  510. func (c *VpcClient) DescribeVpcs(request *vpc.DescribeVpcsRequest) (*vpc.DescribeVpcsResponse, error) {
  511. if request == nil {
  512. return nil, errors.New("Request object is nil. ")
  513. }
  514. resp, err := c.Send(request, c.ServiceName)
  515. if err != nil {
  516. return nil, err
  517. }
  518. jdResp := &vpc.DescribeVpcsResponse{}
  519. err = json.Unmarshal(resp, jdResp)
  520. if err != nil {
  521. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  522. return nil, err
  523. }
  524. return jdResp, err
  525. }
  526. /* 创建安全组 */
  527. func (c *VpcClient) CreateNetworkSecurityGroup(request *vpc.CreateNetworkSecurityGroupRequest) (*vpc.CreateNetworkSecurityGroupResponse, error) {
  528. if request == nil {
  529. return nil, errors.New("Request object is nil. ")
  530. }
  531. resp, err := c.Send(request, c.ServiceName)
  532. if err != nil {
  533. return nil, err
  534. }
  535. jdResp := &vpc.CreateNetworkSecurityGroupResponse{}
  536. err = json.Unmarshal(resp, jdResp)
  537. if err != nil {
  538. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  539. return nil, err
  540. }
  541. return jdResp, err
  542. }
  543. /* 创建子网 */
  544. func (c *VpcClient) CreateSubnet(request *vpc.CreateSubnetRequest) (*vpc.CreateSubnetResponse, error) {
  545. if request == nil {
  546. return nil, errors.New("Request object is nil. ")
  547. }
  548. resp, err := c.Send(request, c.ServiceName)
  549. if err != nil {
  550. return nil, err
  551. }
  552. jdResp := &vpc.CreateSubnetResponse{}
  553. err = json.Unmarshal(resp, jdResp)
  554. if err != nil {
  555. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  556. return nil, err
  557. }
  558. return jdResp, err
  559. }
  560. /* 删除路由表 */
  561. func (c *VpcClient) DeleteRouteTable(request *vpc.DeleteRouteTableRequest) (*vpc.DeleteRouteTableResponse, error) {
  562. if request == nil {
  563. return nil, errors.New("Request object is nil. ")
  564. }
  565. resp, err := c.Send(request, c.ServiceName)
  566. if err != nil {
  567. return nil, err
  568. }
  569. jdResp := &vpc.DeleteRouteTableResponse{}
  570. err = json.Unmarshal(resp, jdResp)
  571. if err != nil {
  572. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  573. return nil, err
  574. }
  575. return jdResp, err
  576. }
  577. /* 查询VpcPeering资源详情 */
  578. func (c *VpcClient) DescribeVpcPeering(request *vpc.DescribeVpcPeeringRequest) (*vpc.DescribeVpcPeeringResponse, error) {
  579. if request == nil {
  580. return nil, errors.New("Request object is nil. ")
  581. }
  582. resp, err := c.Send(request, c.ServiceName)
  583. if err != nil {
  584. return nil, err
  585. }
  586. jdResp := &vpc.DescribeVpcPeeringResponse{}
  587. err = json.Unmarshal(resp, jdResp)
  588. if err != nil {
  589. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  590. return nil, err
  591. }
  592. return jdResp, err
  593. }
  594. /* 移除路由表规则 */
  595. func (c *VpcClient) RemoveRouteTableRules(request *vpc.RemoveRouteTableRulesRequest) (*vpc.RemoveRouteTableRulesResponse, error) {
  596. if request == nil {
  597. return nil, errors.New("Request object is nil. ")
  598. }
  599. resp, err := c.Send(request, c.ServiceName)
  600. if err != nil {
  601. return nil, err
  602. }
  603. jdResp := &vpc.RemoveRouteTableRulesResponse{}
  604. err = json.Unmarshal(resp, jdResp)
  605. if err != nil {
  606. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  607. return nil, err
  608. }
  609. return jdResp, err
  610. }
  611. /* 创建VpcPeering接口 */
  612. func (c *VpcClient) CreateVpcPeering(request *vpc.CreateVpcPeeringRequest) (*vpc.CreateVpcPeeringResponse, error) {
  613. if request == nil {
  614. return nil, errors.New("Request object is nil. ")
  615. }
  616. resp, err := c.Send(request, c.ServiceName)
  617. if err != nil {
  618. return nil, err
  619. }
  620. jdResp := &vpc.CreateVpcPeeringResponse{}
  621. err = json.Unmarshal(resp, jdResp)
  622. if err != nil {
  623. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  624. return nil, err
  625. }
  626. return jdResp, err
  627. }
  628. /* 给网卡分配secondaryIp接口 */
  629. func (c *VpcClient) AssignSecondaryIps(request *vpc.AssignSecondaryIpsRequest) (*vpc.AssignSecondaryIpsResponse, error) {
  630. if request == nil {
  631. return nil, errors.New("Request object is nil. ")
  632. }
  633. resp, err := c.Send(request, c.ServiceName)
  634. if err != nil {
  635. return nil, err
  636. }
  637. jdResp := &vpc.AssignSecondaryIpsResponse{}
  638. err = json.Unmarshal(resp, jdResp)
  639. if err != nil {
  640. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  641. return nil, err
  642. }
  643. return jdResp, err
  644. }
  645. /* 查询路由表列表 */
  646. func (c *VpcClient) DescribeRouteTables(request *vpc.DescribeRouteTablesRequest) (*vpc.DescribeRouteTablesResponse, error) {
  647. if request == nil {
  648. return nil, errors.New("Request object is nil. ")
  649. }
  650. resp, err := c.Send(request, c.ServiceName)
  651. if err != nil {
  652. return nil, err
  653. }
  654. jdResp := &vpc.DescribeRouteTablesResponse{}
  655. err = json.Unmarshal(resp, jdResp)
  656. if err != nil {
  657. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  658. return nil, err
  659. }
  660. return jdResp, err
  661. }
  662. /* 修改弹性网卡接口 */
  663. func (c *VpcClient) ModifyNetworkInterface(request *vpc.ModifyNetworkInterfaceRequest) (*vpc.ModifyNetworkInterfaceResponse, error) {
  664. if request == nil {
  665. return nil, errors.New("Request object is nil. ")
  666. }
  667. resp, err := c.Send(request, c.ServiceName)
  668. if err != nil {
  669. return nil, err
  670. }
  671. jdResp := &vpc.ModifyNetworkInterfaceResponse{}
  672. err = json.Unmarshal(resp, jdResp)
  673. if err != nil {
  674. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  675. return nil, err
  676. }
  677. return jdResp, err
  678. }
  679. /* 查询弹性公网IP列表 */
  680. func (c *VpcClient) DescribeElasticIps(request *vpc.DescribeElasticIpsRequest) (*vpc.DescribeElasticIpsResponse, error) {
  681. if request == nil {
  682. return nil, errors.New("Request object is nil. ")
  683. }
  684. resp, err := c.Send(request, c.ServiceName)
  685. if err != nil {
  686. return nil, err
  687. }
  688. jdResp := &vpc.DescribeElasticIpsResponse{}
  689. err = json.Unmarshal(resp, jdResp)
  690. if err != nil {
  691. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  692. return nil, err
  693. }
  694. return jdResp, err
  695. }
  696. /* 修改安全组规则 */
  697. func (c *VpcClient) ModifyNetworkSecurityGroupRules(request *vpc.ModifyNetworkSecurityGroupRulesRequest) (*vpc.ModifyNetworkSecurityGroupRulesResponse, error) {
  698. if request == nil {
  699. return nil, errors.New("Request object is nil. ")
  700. }
  701. resp, err := c.Send(request, c.ServiceName)
  702. if err != nil {
  703. return nil, err
  704. }
  705. jdResp := &vpc.ModifyNetworkSecurityGroupRulesResponse{}
  706. err = json.Unmarshal(resp, jdResp)
  707. if err != nil {
  708. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  709. return nil, err
  710. }
  711. return jdResp, err
  712. }
  713. /* 修改networkAcl接口 */
  714. func (c *VpcClient) ModifyNetworkAcl(request *vpc.ModifyNetworkAclRequest) (*vpc.ModifyNetworkAclResponse, error) {
  715. if request == nil {
  716. return nil, errors.New("Request object is nil. ")
  717. }
  718. resp, err := c.Send(request, c.ServiceName)
  719. if err != nil {
  720. return nil, err
  721. }
  722. jdResp := &vpc.ModifyNetworkAclResponse{}
  723. err = json.Unmarshal(resp, jdResp)
  724. if err != nil {
  725. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  726. return nil, err
  727. }
  728. return jdResp, err
  729. }
  730. /* 查询弹性网卡信息详情 */
  731. func (c *VpcClient) DescribeNetworkInterface(request *vpc.DescribeNetworkInterfaceRequest) (*vpc.DescribeNetworkInterfaceResponse, error) {
  732. if request == nil {
  733. return nil, errors.New("Request object is nil. ")
  734. }
  735. resp, err := c.Send(request, c.ServiceName)
  736. if err != nil {
  737. return nil, err
  738. }
  739. jdResp := &vpc.DescribeNetworkInterfaceResponse{}
  740. err = json.Unmarshal(resp, jdResp)
  741. if err != nil {
  742. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  743. return nil, err
  744. }
  745. return jdResp, err
  746. }
  747. /* 给网卡解绑弹性Ip接口 */
  748. func (c *VpcClient) DisassociateElasticIp(request *vpc.DisassociateElasticIpRequest) (*vpc.DisassociateElasticIpResponse, error) {
  749. if request == nil {
  750. return nil, errors.New("Request object is nil. ")
  751. }
  752. resp, err := c.Send(request, c.ServiceName)
  753. if err != nil {
  754. return nil, err
  755. }
  756. jdResp := &vpc.DisassociateElasticIpResponse{}
  757. err = json.Unmarshal(resp, jdResp)
  758. if err != nil {
  759. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  760. return nil, err
  761. }
  762. return jdResp, err
  763. }
  764. /* 删除VpcPeering接口 */
  765. func (c *VpcClient) DeleteVpcPeering(request *vpc.DeleteVpcPeeringRequest) (*vpc.DeleteVpcPeeringResponse, error) {
  766. if request == nil {
  767. return nil, errors.New("Request object is nil. ")
  768. }
  769. resp, err := c.Send(request, c.ServiceName)
  770. if err != nil {
  771. return nil, err
  772. }
  773. jdResp := &vpc.DeleteVpcPeeringResponse{}
  774. err = json.Unmarshal(resp, jdResp)
  775. if err != nil {
  776. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  777. return nil, err
  778. }
  779. return jdResp, err
  780. }
  781. /* 创建网卡接口,只能创建辅助网卡 */
  782. func (c *VpcClient) CreateNetworkInterface(request *vpc.CreateNetworkInterfaceRequest) (*vpc.CreateNetworkInterfaceResponse, error) {
  783. if request == nil {
  784. return nil, errors.New("Request object is nil. ")
  785. }
  786. resp, err := c.Send(request, c.ServiceName)
  787. if err != nil {
  788. return nil, err
  789. }
  790. jdResp := &vpc.CreateNetworkInterfaceResponse{}
  791. err = json.Unmarshal(resp, jdResp)
  792. if err != nil {
  793. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  794. return nil, err
  795. }
  796. return jdResp, err
  797. }
  798. /* 创建私有网络 */
  799. func (c *VpcClient) CreateVpc(request *vpc.CreateVpcRequest) (*vpc.CreateVpcResponse, error) {
  800. if request == nil {
  801. return nil, errors.New("Request object is nil. ")
  802. }
  803. resp, err := c.Send(request, c.ServiceName)
  804. if err != nil {
  805. return nil, err
  806. }
  807. jdResp := &vpc.CreateVpcResponse{}
  808. err = json.Unmarshal(resp, jdResp)
  809. if err != nil {
  810. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  811. return nil, err
  812. }
  813. return jdResp, err
  814. }
  815. /* 修改路由表规则 */
  816. func (c *VpcClient) ModifyRouteTableRules(request *vpc.ModifyRouteTableRulesRequest) (*vpc.ModifyRouteTableRulesResponse, error) {
  817. if request == nil {
  818. return nil, errors.New("Request object is nil. ")
  819. }
  820. resp, err := c.Send(request, c.ServiceName)
  821. if err != nil {
  822. return nil, err
  823. }
  824. jdResp := &vpc.ModifyRouteTableRulesResponse{}
  825. err = json.Unmarshal(resp, jdResp)
  826. if err != nil {
  827. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  828. return nil, err
  829. }
  830. return jdResp, err
  831. }
  832. /* 添加路由表规则 */
  833. func (c *VpcClient) AddRouteTableRules(request *vpc.AddRouteTableRulesRequest) (*vpc.AddRouteTableRulesResponse, error) {
  834. if request == nil {
  835. return nil, errors.New("Request object is nil. ")
  836. }
  837. resp, err := c.Send(request, c.ServiceName)
  838. if err != nil {
  839. return nil, err
  840. }
  841. jdResp := &vpc.AddRouteTableRulesResponse{}
  842. err = json.Unmarshal(resp, jdResp)
  843. if err != nil {
  844. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  845. return nil, err
  846. }
  847. return jdResp, err
  848. }
  849. /* ElasticIp资源信息详情 */
  850. func (c *VpcClient) DescribeElasticIp(request *vpc.DescribeElasticIpRequest) (*vpc.DescribeElasticIpResponse, error) {
  851. if request == nil {
  852. return nil, errors.New("Request object is nil. ")
  853. }
  854. resp, err := c.Send(request, c.ServiceName)
  855. if err != nil {
  856. return nil, err
  857. }
  858. jdResp := &vpc.DescribeElasticIpResponse{}
  859. err = json.Unmarshal(resp, jdResp)
  860. if err != nil {
  861. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  862. return nil, err
  863. }
  864. return jdResp, err
  865. }
  866. /* 给网卡删除secondaryIp接口 */
  867. func (c *VpcClient) UnassignSecondaryIps(request *vpc.UnassignSecondaryIpsRequest) (*vpc.UnassignSecondaryIpsResponse, error) {
  868. if request == nil {
  869. return nil, errors.New("Request object is nil. ")
  870. }
  871. resp, err := c.Send(request, c.ServiceName)
  872. if err != nil {
  873. return nil, err
  874. }
  875. jdResp := &vpc.UnassignSecondaryIpsResponse{}
  876. err = json.Unmarshal(resp, jdResp)
  877. if err != nil {
  878. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  879. return nil, err
  880. }
  881. return jdResp, err
  882. }
  883. /* 修改路由表属性 */
  884. func (c *VpcClient) ModifyRouteTable(request *vpc.ModifyRouteTableRequest) (*vpc.ModifyRouteTableResponse, error) {
  885. if request == nil {
  886. return nil, errors.New("Request object is nil. ")
  887. }
  888. resp, err := c.Send(request, c.ServiceName)
  889. if err != nil {
  890. return nil, err
  891. }
  892. jdResp := &vpc.ModifyRouteTableResponse{}
  893. err = json.Unmarshal(resp, jdResp)
  894. if err != nil {
  895. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  896. return nil, err
  897. }
  898. return jdResp, err
  899. }
  900. /* 给网卡绑定弹性Ip接口 */
  901. func (c *VpcClient) AssociateElasticIp(request *vpc.AssociateElasticIpRequest) (*vpc.AssociateElasticIpResponse, error) {
  902. if request == nil {
  903. return nil, errors.New("Request object is nil. ")
  904. }
  905. resp, err := c.Send(request, c.ServiceName)
  906. if err != nil {
  907. return nil, err
  908. }
  909. jdResp := &vpc.AssociateElasticIpResponse{}
  910. err = json.Unmarshal(resp, jdResp)
  911. if err != nil {
  912. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  913. return nil, err
  914. }
  915. return jdResp, err
  916. }
  917. /* 给路由表解绑子网接口 */
  918. func (c *VpcClient) DisassociateRouteTable(request *vpc.DisassociateRouteTableRequest) (*vpc.DisassociateRouteTableResponse, error) {
  919. if request == nil {
  920. return nil, errors.New("Request object is nil. ")
  921. }
  922. resp, err := c.Send(request, c.ServiceName)
  923. if err != nil {
  924. return nil, err
  925. }
  926. jdResp := &vpc.DisassociateRouteTableResponse{}
  927. err = json.Unmarshal(resp, jdResp)
  928. if err != nil {
  929. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  930. return nil, err
  931. }
  932. return jdResp, err
  933. }
  934. /* 修改私有网络接口 */
  935. func (c *VpcClient) ModifyVpc(request *vpc.ModifyVpcRequest) (*vpc.ModifyVpcResponse, error) {
  936. if request == nil {
  937. return nil, errors.New("Request object is nil. ")
  938. }
  939. resp, err := c.Send(request, c.ServiceName)
  940. if err != nil {
  941. return nil, err
  942. }
  943. jdResp := &vpc.ModifyVpcResponse{}
  944. err = json.Unmarshal(resp, jdResp)
  945. if err != nil {
  946. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  947. return nil, err
  948. }
  949. return jdResp, err
  950. }
  951. /* 给子网绑定networkAcl接口 */
  952. func (c *VpcClient) AssociateNetworkAcl(request *vpc.AssociateNetworkAclRequest) (*vpc.AssociateNetworkAclResponse, error) {
  953. if request == nil {
  954. return nil, errors.New("Request object is nil. ")
  955. }
  956. resp, err := c.Send(request, c.ServiceName)
  957. if err != nil {
  958. return nil, err
  959. }
  960. jdResp := &vpc.AssociateNetworkAclResponse{}
  961. err = json.Unmarshal(resp, jdResp)
  962. if err != nil {
  963. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  964. return nil, err
  965. }
  966. return jdResp, err
  967. }
  968. /* 修改子网接口 */
  969. func (c *VpcClient) ModifySubnet(request *vpc.ModifySubnetRequest) (*vpc.ModifySubnetResponse, error) {
  970. if request == nil {
  971. return nil, errors.New("Request object is nil. ")
  972. }
  973. resp, err := c.Send(request, c.ServiceName)
  974. if err != nil {
  975. return nil, err
  976. }
  977. jdResp := &vpc.ModifySubnetResponse{}
  978. err = json.Unmarshal(resp, jdResp)
  979. if err != nil {
  980. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  981. return nil, err
  982. }
  983. return jdResp, err
  984. }
  985. /* 创建一个或者多个弹性公网IP */
  986. func (c *VpcClient) CreateElasticIps(request *vpc.CreateElasticIpsRequest) (*vpc.CreateElasticIpsResponse, error) {
  987. if request == nil {
  988. return nil, errors.New("Request object is nil. ")
  989. }
  990. resp, err := c.Send(request, c.ServiceName)
  991. if err != nil {
  992. return nil, err
  993. }
  994. jdResp := &vpc.CreateElasticIpsResponse{}
  995. err = json.Unmarshal(resp, jdResp)
  996. if err != nil {
  997. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  998. return nil, err
  999. }
  1000. return jdResp, err
  1001. }
  1002. /* 删除弹性网卡接口 */
  1003. func (c *VpcClient) DeleteNetworkInterface(request *vpc.DeleteNetworkInterfaceRequest) (*vpc.DeleteNetworkInterfaceResponse, error) {
  1004. if request == nil {
  1005. return nil, errors.New("Request object is nil. ")
  1006. }
  1007. resp, err := c.Send(request, c.ServiceName)
  1008. if err != nil {
  1009. return nil, err
  1010. }
  1011. jdResp := &vpc.DeleteNetworkInterfaceResponse{}
  1012. err = json.Unmarshal(resp, jdResp)
  1013. if err != nil {
  1014. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  1015. return nil, err
  1016. }
  1017. return jdResp, err
  1018. }
  1019. /* 查询networkAcl资源详情 */
  1020. func (c *VpcClient) DescribeNetworkAcl(request *vpc.DescribeNetworkAclRequest) (*vpc.DescribeNetworkAclResponse, error) {
  1021. if request == nil {
  1022. return nil, errors.New("Request object is nil. ")
  1023. }
  1024. resp, err := c.Send(request, c.ServiceName)
  1025. if err != nil {
  1026. return nil, err
  1027. }
  1028. jdResp := &vpc.DescribeNetworkAclResponse{}
  1029. err = json.Unmarshal(resp, jdResp)
  1030. if err != nil {
  1031. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  1032. return nil, err
  1033. }
  1034. return jdResp, err
  1035. }
  1036. /* 添加networkAcl规则接口 */
  1037. func (c *VpcClient) AddNetworkAclRules(request *vpc.AddNetworkAclRulesRequest) (*vpc.AddNetworkAclRulesResponse, error) {
  1038. if request == nil {
  1039. return nil, errors.New("Request object is nil. ")
  1040. }
  1041. resp, err := c.Send(request, c.ServiceName)
  1042. if err != nil {
  1043. return nil, err
  1044. }
  1045. jdResp := &vpc.AddNetworkAclRulesResponse{}
  1046. err = json.Unmarshal(resp, jdResp)
  1047. if err != nil {
  1048. c.Logger.Log(core.LogError, "Unmarshal json failed, resp: %s", string(resp))
  1049. return nil, err
  1050. }
  1051. return jdResp, err
  1052. }