Vpc.cs 10 KB

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