Vpc.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. using AlibabaCloud.SDK.Vpc20160428.Models;
  2. using Tea;
  3. namespace molilian.core
  4. {
  5. public partial class AliyunPlus
  6. {
  7. public DescribeEipAddressesResponse DescribeEipAddresses(string region, string eipAddress)
  8. {
  9. AlibabaCloud.OpenApiClient.Models.Config config = new()
  10. {
  11. AccessKeyId = _app_key,
  12. AccessKeySecret = _app_secret,
  13. Endpoint = $"vpc.{region}.aliyuncs.com"
  14. };
  15. AlibabaCloud.SDK.Vpc20160428.Client client = new(config);
  16. AlibabaCloud.SDK.Vpc20160428.Models.DescribeEipAddressesRequest describeEipAddressesRequest = new AlibabaCloud.SDK.Vpc20160428.Models.DescribeEipAddressesRequest
  17. {
  18. RegionId = region,
  19. EipAddress = eipAddress
  20. };
  21. AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
  22. try
  23. {
  24. // 复制代码运行请自行打印 API 的返回值
  25. var response = client.DescribeEipAddressesWithOptions(describeEipAddressesRequest, runtime);
  26. return response;
  27. }
  28. catch (TeaException error)
  29. {
  30. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  31. // 错误 message
  32. Console.WriteLine(error.Message);
  33. // 诊断地址
  34. Console.WriteLine(error.Data["Recommend"]);
  35. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  36. }
  37. catch (Exception _error)
  38. {
  39. TeaException error = new TeaException(new Dictionary<string, object>
  40. {
  41. { "message", _error.Message }
  42. });
  43. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  44. // 错误 message
  45. Console.WriteLine(error.Message);
  46. // 诊断地址
  47. Console.WriteLine(error.Data["Recommend"]);
  48. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  49. }
  50. return null;
  51. }
  52. /// <summary>
  53. /// 申请弹性公网IP
  54. /// </summary>
  55. /// <returns></returns>
  56. public AlibabaCloud.SDK.Vpc20160428.Models.AllocateEipAddressResponse AllocateEipAddress(string region = "cn-beijing")
  57. {
  58. AlibabaCloud.OpenApiClient.Models.Config config = new()
  59. {
  60. AccessKeyId = _app_key,
  61. AccessKeySecret = _app_secret,
  62. Endpoint = $"vpc.{region}.aliyuncs.com"
  63. };
  64. AlibabaCloud.SDK.Vpc20160428.Client client = new(config);
  65. AlibabaCloud.SDK.Vpc20160428.Models.AllocateEipAddressRequest allocateEipAddressRequest = new()
  66. {
  67. RegionId = region,
  68. Bandwidth = "200",
  69. InternetChargeType = "PayByTraffic"
  70. };
  71. AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
  72. try
  73. {
  74. // 复制代码运行请自行打印 API 的返回值
  75. var response = client.AllocateEipAddressWithOptions(allocateEipAddressRequest, runtime);
  76. return response;
  77. }
  78. catch (TeaException error)
  79. {
  80. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  81. // 错误 message
  82. Console.WriteLine(error.Message);
  83. // 诊断地址
  84. Console.WriteLine(error.Data["Recommend"]);
  85. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  86. }
  87. catch (Exception _error)
  88. {
  89. TeaException error = new TeaException(new Dictionary<string, object>
  90. {
  91. { "message", _error.Message }
  92. });
  93. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  94. // 错误 message
  95. Console.WriteLine(error.Message);
  96. // 诊断地址
  97. Console.WriteLine(error.Data["Recommend"]);
  98. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  99. }
  100. return null;
  101. /*
  102. {
  103. "RequestId": "FB50AF88-3265-5703-82D9-873E4AF09E2C",
  104. "ResourceGroupId": "rg-acfm3zsatrtrfmi",
  105. "AllocationId": "eip-7xvvmzhi1o193bn52zbag",
  106. "EipAddress": "8.134.223.157"
  107. }
  108. */
  109. }
  110. /// <summary>
  111. /// 将弹性公网IP(EIP)绑定到同地域的云产品实例上
  112. /// </summary>
  113. /// <param name="region">cn-beijing</param>
  114. /// <param name="allocationId">公网ip的id</param>
  115. /// <param name="InstanceId">绑定的对象id,实体id是i-**,弹性网卡是eni-**</param>
  116. /// <param name="instanceType"></param>
  117. /// <param name="privateIpAddress">弹性网卡的时候要求私网ip</param>
  118. /// <returns></returns>
  119. public AlibabaCloud.SDK.Vpc20160428.Models.AssociateEipAddressResponse AssociateEipAddress
  120. (string region, string allocationId, string instanceId, EIPInstanceType instanceType, string privateIpAddress = "")
  121. {
  122. AlibabaCloud.OpenApiClient.Models.Config config = new()
  123. {
  124. AccessKeyId = _app_key,
  125. AccessKeySecret = _app_secret,
  126. Endpoint = $"vpc.{region}.aliyuncs.com"
  127. };
  128. AlibabaCloud.SDK.Vpc20160428.Client client = new(config);
  129. AlibabaCloud.SDK.Vpc20160428.Models.AssociateEipAddressRequest associateEipAddressRequest = new()
  130. {
  131. RegionId = region,
  132. AllocationId = allocationId,
  133. InstanceId = instanceId,
  134. InstanceType = instanceType.ToString(),
  135. PrivateIpAddress = privateIpAddress
  136. };
  137. AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
  138. try
  139. {
  140. var response = client.AssociateEipAddressWithOptions(associateEipAddressRequest, runtime);
  141. return response;
  142. }
  143. catch (TeaException error)
  144. {
  145. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  146. // 错误 message
  147. Console.WriteLine(error.Message);
  148. // 诊断地址
  149. Console.WriteLine(error.Data["Recommend"]);
  150. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  151. }
  152. catch (Exception _error)
  153. {
  154. TeaException error = new TeaException(new Dictionary<string, object>
  155. {
  156. { "message", _error.Message }
  157. });
  158. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  159. // 错误 message
  160. Console.WriteLine(error.Message);
  161. // 诊断地址
  162. Console.WriteLine(error.Data["Recommend"]);
  163. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  164. }
  165. return null;
  166. /*
  167. {
  168. "RequestId": "9109C976-D26D-5856-8440-DC42E8820399"
  169. }
  170. */
  171. }
  172. /// <summary>
  173. /// 将弹性公网IP(EIP)从绑定的云产品上解绑
  174. /// </summary>
  175. /// <param name="allocationId"></param>
  176. /// <param name="region"></param>
  177. /// <returns></returns>
  178. public AlibabaCloud.SDK.Vpc20160428.Models.UnassociateEipAddressResponse UnassociateEipAddress(string region, string allocationId)
  179. {
  180. AlibabaCloud.OpenApiClient.Models.Config config = new()
  181. {
  182. AccessKeyId = _app_key,
  183. AccessKeySecret = _app_secret,
  184. Endpoint = $"vpc.{region}.aliyuncs.com"
  185. };
  186. AlibabaCloud.SDK.Vpc20160428.Client client = new(config);
  187. AlibabaCloud.SDK.Vpc20160428.Models.UnassociateEipAddressRequest unassociateEipAddressRequest = new()
  188. {
  189. RegionId = region,
  190. AllocationId = allocationId,
  191. };
  192. AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
  193. try
  194. {
  195. var response = client.UnassociateEipAddressWithOptions(unassociateEipAddressRequest, runtime);
  196. return response;
  197. }
  198. catch (TeaException error)
  199. {
  200. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  201. // 错误 message
  202. Console.WriteLine(error.Message);
  203. // 诊断地址
  204. Console.WriteLine(error.Data["Recommend"]);
  205. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  206. }
  207. catch (Exception _error)
  208. {
  209. TeaException error = new TeaException(new Dictionary<string, object>
  210. {
  211. { "message", _error.Message }
  212. });
  213. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  214. // 错误 message
  215. Console.WriteLine(error.Message);
  216. // 诊断地址
  217. Console.WriteLine(error.Data["Recommend"]);
  218. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  219. }
  220. return null;
  221. /*
  222. {
  223. "RequestId": "9109C976-D26D-5856-8440-DC42E8820399"
  224. }
  225. */
  226. }
  227. /// <summary>
  228. /// 释放指定的弹性公网IP(EIP)
  229. /// </summary>
  230. /// <param name="allocationId"></param>
  231. /// <param name="region"></param>
  232. /// <returns></returns>
  233. public AlibabaCloud.SDK.Vpc20160428.Models.ReleaseEipAddressResponse ReleaseEipAddress(string region, string allocationId)
  234. {
  235. AlibabaCloud.OpenApiClient.Models.Config config = new()
  236. {
  237. AccessKeyId = _app_key,
  238. AccessKeySecret = _app_secret,
  239. Endpoint = $"vpc.{region}.aliyuncs.com"
  240. };
  241. AlibabaCloud.SDK.Vpc20160428.Client client = new(config);
  242. AlibabaCloud.SDK.Vpc20160428.Models.ReleaseEipAddressRequest releaseEipAddressRequest = new()
  243. {
  244. RegionId = region,
  245. AllocationId = allocationId,
  246. };
  247. AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
  248. try
  249. {
  250. var response = client.ReleaseEipAddressWithOptions(releaseEipAddressRequest, runtime);
  251. return response;
  252. }
  253. catch (TeaException error)
  254. {
  255. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  256. // 错误 message
  257. Console.WriteLine(error.Message);
  258. // 诊断地址
  259. Console.WriteLine(error.Data["Recommend"]);
  260. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  261. }
  262. catch (Exception _error)
  263. {
  264. TeaException error = new TeaException(new Dictionary<string, object>
  265. {
  266. { "message", _error.Message }
  267. });
  268. // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
  269. // 错误 message
  270. Console.WriteLine(error.Message);
  271. // 诊断地址
  272. Console.WriteLine(error.Data["Recommend"]);
  273. AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);
  274. }
  275. return null;
  276. /*
  277. {
  278. "RequestId": "9109C976-D26D-5856-8440-DC42E8820399"
  279. }
  280. */
  281. }
  282. }
  283. }