Vpc.cs 13 KB

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