@volcengine/pulumi 0.0.38 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/nat/dnatEntry.d.ts +3 -3
  2. package/nat/gateway.d.ts +89 -5
  3. package/nat/gateway.js +70 -2
  4. package/nat/gateway.js.map +1 -1
  5. package/nat/getIps.d.ts +170 -0
  6. package/nat/getIps.js +111 -0
  7. package/nat/getIps.js.map +1 -0
  8. package/nat/index.d.ts +9 -0
  9. package/nat/index.js +12 -1
  10. package/nat/index.js.map +1 -1
  11. package/nat/ip.d.ts +157 -0
  12. package/nat/ip.js +113 -0
  13. package/nat/ip.js.map +1 -0
  14. package/nat/ips.d.ts +172 -0
  15. package/nat/ips.js +114 -0
  16. package/nat/ips.js.map +1 -0
  17. package/nat/snatEntry.d.ts +17 -5
  18. package/nat/snatEntry.js +2 -3
  19. package/nat/snatEntry.js.map +1 -1
  20. package/package.json +1 -1
  21. package/rds_postgresql/account.d.ts +20 -7
  22. package/rds_postgresql/account.js +6 -3
  23. package/rds_postgresql/account.js.map +1 -1
  24. package/rds_postgresql/allowlist.d.ts +76 -8
  25. package/rds_postgresql/allowlist.js +22 -7
  26. package/rds_postgresql/allowlist.js.map +1 -1
  27. package/rds_postgresql/allowlistVersionUpgrade.d.ts +59 -0
  28. package/rds_postgresql/allowlistVersionUpgrade.js +63 -0
  29. package/rds_postgresql/allowlistVersionUpgrade.js.map +1 -0
  30. package/rds_postgresql/allowlists.d.ts +73 -2
  31. package/rds_postgresql/allowlists.js +21 -2
  32. package/rds_postgresql/allowlists.js.map +1 -1
  33. package/rds_postgresql/backupDownload.d.ts +82 -0
  34. package/rds_postgresql/backupDownload.js +79 -0
  35. package/rds_postgresql/backupDownload.js.map +1 -0
  36. package/rds_postgresql/backupDownloads.d.ts +94 -0
  37. package/rds_postgresql/backupDownloads.js +52 -0
  38. package/rds_postgresql/backupDownloads.js.map +1 -0
  39. package/rds_postgresql/backupPolicies.d.ts +33 -0
  40. package/rds_postgresql/backupPolicies.js +23 -0
  41. package/rds_postgresql/backupPolicies.js.map +1 -0
  42. package/rds_postgresql/backupPolicy.d.ts +160 -0
  43. package/rds_postgresql/backupPolicy.js +94 -0
  44. package/rds_postgresql/backupPolicy.js.map +1 -0
  45. package/rds_postgresql/dataBackup.d.ts +163 -0
  46. package/rds_postgresql/dataBackup.js +109 -0
  47. package/rds_postgresql/dataBackup.js.map +1 -0
  48. package/rds_postgresql/dataBackups.d.ts +212 -0
  49. package/rds_postgresql/dataBackups.js +66 -0
  50. package/rds_postgresql/dataBackups.js.map +1 -0
  51. package/rds_postgresql/database.d.ts +43 -0
  52. package/rds_postgresql/database.js +13 -0
  53. package/rds_postgresql/database.js.map +1 -1
  54. package/rds_postgresql/databaseEndpoint.d.ts +280 -0
  55. package/rds_postgresql/databaseEndpoint.js +129 -0
  56. package/rds_postgresql/databaseEndpoint.js.map +1 -0
  57. package/rds_postgresql/databaseEndpoints.d.ts +88 -0
  58. package/rds_postgresql/databaseEndpoints.js +53 -0
  59. package/rds_postgresql/databaseEndpoints.js.map +1 -0
  60. package/rds_postgresql/endpointPublicAddress.d.ts +95 -0
  61. package/rds_postgresql/endpointPublicAddress.js +85 -0
  62. package/rds_postgresql/endpointPublicAddress.js.map +1 -0
  63. package/rds_postgresql/engineVersionParameters.d.ts +91 -0
  64. package/rds_postgresql/engineVersionParameters.js +52 -0
  65. package/rds_postgresql/engineVersionParameters.js.map +1 -0
  66. package/rds_postgresql/getAllowlists.d.ts +73 -2
  67. package/rds_postgresql/getAllowlists.js +21 -2
  68. package/rds_postgresql/getAllowlists.js.map +1 -1
  69. package/rds_postgresql/getBackupDownloads.d.ts +92 -0
  70. package/rds_postgresql/getBackupDownloads.js +49 -0
  71. package/rds_postgresql/getBackupDownloads.js.map +1 -0
  72. package/rds_postgresql/getBackupPolicies.d.ts +31 -0
  73. package/rds_postgresql/getBackupPolicies.js +20 -0
  74. package/rds_postgresql/getBackupPolicies.js.map +1 -0
  75. package/rds_postgresql/getDataBackups.d.ts +210 -0
  76. package/rds_postgresql/getDataBackups.js +63 -0
  77. package/rds_postgresql/getDataBackups.js.map +1 -0
  78. package/rds_postgresql/getDatabaseEndpoints.d.ts +86 -0
  79. package/rds_postgresql/getDatabaseEndpoints.js +50 -0
  80. package/rds_postgresql/getDatabaseEndpoints.js.map +1 -0
  81. package/rds_postgresql/getEngineVersionParameters.d.ts +89 -0
  82. package/rds_postgresql/getEngineVersionParameters.js +49 -0
  83. package/rds_postgresql/getEngineVersionParameters.js.map +1 -0
  84. package/rds_postgresql/getInstanceBackupDetacheds.d.ts +167 -0
  85. package/rds_postgresql/getInstanceBackupDetacheds.js +62 -0
  86. package/rds_postgresql/getInstanceBackupDetacheds.js.map +1 -0
  87. package/rds_postgresql/getInstanceBackupWalLogs.d.ts +111 -0
  88. package/rds_postgresql/getInstanceBackupWalLogs.js +55 -0
  89. package/rds_postgresql/getInstanceBackupWalLogs.js.map +1 -0
  90. package/rds_postgresql/getInstanceFailoverLogs.d.ts +108 -0
  91. package/rds_postgresql/getInstanceFailoverLogs.js +55 -0
  92. package/rds_postgresql/getInstanceFailoverLogs.js.map +1 -0
  93. package/rds_postgresql/getInstanceParameterLogs.d.ts +97 -0
  94. package/rds_postgresql/getInstanceParameterLogs.js +52 -0
  95. package/rds_postgresql/getInstanceParameterLogs.js.map +1 -0
  96. package/rds_postgresql/getInstanceParameters.d.ts +89 -0
  97. package/rds_postgresql/getInstanceParameters.js +49 -0
  98. package/rds_postgresql/getInstanceParameters.js.map +1 -0
  99. package/rds_postgresql/getInstancePriceDetails.d.ts +157 -0
  100. package/rds_postgresql/getInstancePriceDetails.js +103 -0
  101. package/rds_postgresql/getInstancePriceDetails.js.map +1 -0
  102. package/rds_postgresql/getInstancePriceDifferences.d.ts +172 -0
  103. package/rds_postgresql/getInstancePriceDifferences.js +94 -0
  104. package/rds_postgresql/getInstancePriceDifferences.js.map +1 -0
  105. package/rds_postgresql/getInstanceRecoverableTimes.d.ts +75 -0
  106. package/rds_postgresql/getInstanceRecoverableTimes.js +46 -0
  107. package/rds_postgresql/getInstanceRecoverableTimes.js.map +1 -0
  108. package/rds_postgresql/getInstanceSpecs.d.ts +120 -0
  109. package/rds_postgresql/getInstanceSpecs.js +56 -0
  110. package/rds_postgresql/getInstanceSpecs.js.map +1 -0
  111. package/rds_postgresql/getInstanceSsls.d.ts +101 -0
  112. package/rds_postgresql/getInstanceSsls.js +56 -0
  113. package/rds_postgresql/getInstanceSsls.js.map +1 -0
  114. package/rds_postgresql/getInstanceTasks.d.ts +160 -0
  115. package/rds_postgresql/getInstanceTasks.js +69 -0
  116. package/rds_postgresql/getInstanceTasks.js.map +1 -0
  117. package/rds_postgresql/getInstances.d.ts +24 -0
  118. package/rds_postgresql/getInstances.js +2 -0
  119. package/rds_postgresql/getInstances.js.map +1 -1
  120. package/rds_postgresql/getParameterTemplateApplyDiffs.d.ts +86 -0
  121. package/rds_postgresql/getParameterTemplateApplyDiffs.js +49 -0
  122. package/rds_postgresql/getParameterTemplateApplyDiffs.js.map +1 -0
  123. package/rds_postgresql/getParameterTemplates.d.ts +118 -0
  124. package/rds_postgresql/getParameterTemplates.js +54 -0
  125. package/rds_postgresql/getParameterTemplates.js.map +1 -0
  126. package/rds_postgresql/getPlannedEvents.d.ts +178 -0
  127. package/rds_postgresql/getPlannedEvents.js +71 -0
  128. package/rds_postgresql/getPlannedEvents.js.map +1 -0
  129. package/rds_postgresql/getRegions.d.ts +62 -0
  130. package/rds_postgresql/getRegions.js +42 -0
  131. package/rds_postgresql/getRegions.js.map +1 -0
  132. package/rds_postgresql/getReplicationSlots.d.ts +153 -0
  133. package/rds_postgresql/getReplicationSlots.js +59 -0
  134. package/rds_postgresql/getReplicationSlots.js.map +1 -0
  135. package/rds_postgresql/getZones.d.ts +71 -0
  136. package/rds_postgresql/getZones.js +43 -0
  137. package/rds_postgresql/getZones.js.map +1 -0
  138. package/rds_postgresql/index.d.ts +165 -0
  139. package/rds_postgresql/index.js +190 -1
  140. package/rds_postgresql/index.js.map +1 -1
  141. package/rds_postgresql/instance.d.ts +178 -11
  142. package/rds_postgresql/instance.js +50 -5
  143. package/rds_postgresql/instance.js.map +1 -1
  144. package/rds_postgresql/instanceBackupDetacheds.d.ts +169 -0
  145. package/rds_postgresql/instanceBackupDetacheds.js +65 -0
  146. package/rds_postgresql/instanceBackupDetacheds.js.map +1 -0
  147. package/rds_postgresql/instanceBackupWalLogs.d.ts +113 -0
  148. package/rds_postgresql/instanceBackupWalLogs.js +58 -0
  149. package/rds_postgresql/instanceBackupWalLogs.js.map +1 -0
  150. package/rds_postgresql/instanceFailoverLogs.d.ts +110 -0
  151. package/rds_postgresql/instanceFailoverLogs.js +58 -0
  152. package/rds_postgresql/instanceFailoverLogs.js.map +1 -0
  153. package/rds_postgresql/instanceParameterLogs.d.ts +99 -0
  154. package/rds_postgresql/instanceParameterLogs.js +55 -0
  155. package/rds_postgresql/instanceParameterLogs.js.map +1 -0
  156. package/rds_postgresql/instanceParameters.d.ts +91 -0
  157. package/rds_postgresql/instanceParameters.js +52 -0
  158. package/rds_postgresql/instanceParameters.js.map +1 -0
  159. package/rds_postgresql/instancePriceDetails.d.ts +159 -0
  160. package/rds_postgresql/instancePriceDetails.js +106 -0
  161. package/rds_postgresql/instancePriceDetails.js.map +1 -0
  162. package/rds_postgresql/instancePriceDifferences.d.ts +174 -0
  163. package/rds_postgresql/instancePriceDifferences.js +97 -0
  164. package/rds_postgresql/instancePriceDifferences.js.map +1 -0
  165. package/rds_postgresql/instanceRecoverableTimes.d.ts +77 -0
  166. package/rds_postgresql/instanceRecoverableTimes.js +49 -0
  167. package/rds_postgresql/instanceRecoverableTimes.js.map +1 -0
  168. package/rds_postgresql/instanceSpecs.d.ts +122 -0
  169. package/rds_postgresql/instanceSpecs.js +59 -0
  170. package/rds_postgresql/instanceSpecs.js.map +1 -0
  171. package/rds_postgresql/instanceSsl.d.ts +107 -0
  172. package/rds_postgresql/instanceSsl.js +81 -0
  173. package/rds_postgresql/instanceSsl.js.map +1 -0
  174. package/rds_postgresql/instanceSsls.d.ts +103 -0
  175. package/rds_postgresql/instanceSsls.js +59 -0
  176. package/rds_postgresql/instanceSsls.js.map +1 -0
  177. package/rds_postgresql/instanceTasks.d.ts +162 -0
  178. package/rds_postgresql/instanceTasks.js +72 -0
  179. package/rds_postgresql/instanceTasks.js.map +1 -0
  180. package/rds_postgresql/instances.d.ts +24 -0
  181. package/rds_postgresql/instances.js +2 -0
  182. package/rds_postgresql/instances.js.map +1 -1
  183. package/rds_postgresql/parameterTemplate.d.ts +178 -0
  184. package/rds_postgresql/parameterTemplate.js +117 -0
  185. package/rds_postgresql/parameterTemplate.js.map +1 -0
  186. package/rds_postgresql/parameterTemplateApplyDiffs.d.ts +88 -0
  187. package/rds_postgresql/parameterTemplateApplyDiffs.js +52 -0
  188. package/rds_postgresql/parameterTemplateApplyDiffs.js.map +1 -0
  189. package/rds_postgresql/parameterTemplates.d.ts +120 -0
  190. package/rds_postgresql/parameterTemplates.js +57 -0
  191. package/rds_postgresql/parameterTemplates.js.map +1 -0
  192. package/rds_postgresql/plannedEvents.d.ts +180 -0
  193. package/rds_postgresql/plannedEvents.js +74 -0
  194. package/rds_postgresql/plannedEvents.js.map +1 -0
  195. package/rds_postgresql/regions.d.ts +64 -0
  196. package/rds_postgresql/regions.js +45 -0
  197. package/rds_postgresql/regions.js.map +1 -0
  198. package/rds_postgresql/replicationSlot.d.ts +82 -0
  199. package/rds_postgresql/replicationSlot.js +79 -0
  200. package/rds_postgresql/replicationSlot.js.map +1 -0
  201. package/rds_postgresql/replicationSlots.d.ts +155 -0
  202. package/rds_postgresql/replicationSlots.js +62 -0
  203. package/rds_postgresql/replicationSlots.js.map +1 -0
  204. package/rds_postgresql/restoreBackup.d.ts +126 -0
  205. package/rds_postgresql/restoreBackup.js +100 -0
  206. package/rds_postgresql/restoreBackup.js.map +1 -0
  207. package/rds_postgresql/schema.d.ts +3 -3
  208. package/rds_postgresql/state.d.ts +106 -0
  209. package/rds_postgresql/state.js +83 -0
  210. package/rds_postgresql/state.js.map +1 -0
  211. package/rds_postgresql/zones.d.ts +73 -0
  212. package/rds_postgresql/zones.js +46 -0
  213. package/rds_postgresql/zones.js.map +1 -0
  214. package/tos/bucket.d.ts +16 -4
  215. package/tos/bucket.js +3 -1
  216. package/tos/bucket.js.map +1 -1
  217. package/tos/bucketAccessMonitor.d.ts +67 -0
  218. package/tos/bucketAccessMonitor.js +71 -0
  219. package/tos/bucketAccessMonitor.js.map +1 -0
  220. package/tos/bucketCustomdomain.d.ts +95 -0
  221. package/tos/bucketCustomdomain.js +90 -0
  222. package/tos/bucketCustomdomain.js.map +1 -0
  223. package/tos/bucketEncryption.d.ts +1 -1
  224. package/tos/bucketEncryption.js +1 -1
  225. package/tos/bucketLifecycle.d.ts +158 -0
  226. package/tos/bucketLifecycle.js +153 -0
  227. package/tos/bucketLifecycle.js.map +1 -0
  228. package/tos/bucketLogging.d.ts +88 -0
  229. package/tos/bucketLogging.js +80 -0
  230. package/tos/bucketLogging.js.map +1 -0
  231. package/tos/bucketMirrorBack.d.ts +72 -0
  232. package/tos/bucketMirrorBack.js +67 -0
  233. package/tos/bucketMirrorBack.js.map +1 -0
  234. package/tos/bucketObjectLockConfiguration.d.ts +89 -0
  235. package/tos/bucketObjectLockConfiguration.js +81 -0
  236. package/tos/bucketObjectLockConfiguration.js.map +1 -0
  237. package/tos/bucketRename.d.ts +67 -0
  238. package/tos/bucketRename.js +71 -0
  239. package/tos/bucketRename.js.map +1 -0
  240. package/tos/bucketReplication.d.ts +130 -0
  241. package/tos/bucketReplication.js +118 -0
  242. package/tos/bucketReplication.js.map +1 -0
  243. package/tos/bucketRequestPayment.d.ts +67 -0
  244. package/tos/bucketRequestPayment.js +71 -0
  245. package/tos/bucketRequestPayment.js.map +1 -0
  246. package/tos/bucketTransferAcceleration.d.ts +67 -0
  247. package/tos/bucketTransferAcceleration.js +71 -0
  248. package/tos/bucketTransferAcceleration.js.map +1 -0
  249. package/tos/bucketWebsite.d.ts +138 -0
  250. package/tos/bucketWebsite.js +103 -0
  251. package/tos/bucketWebsite.js.map +1 -0
  252. package/tos/buckets.d.ts +24 -0
  253. package/tos/buckets.js +2 -0
  254. package/tos/buckets.js.map +1 -1
  255. package/tos/getBuckets.d.ts +24 -0
  256. package/tos/getBuckets.js +2 -0
  257. package/tos/getBuckets.js.map +1 -1
  258. package/tos/index.d.ts +33 -0
  259. package/tos/index.js +56 -1
  260. package/tos/index.js.map +1 -1
  261. package/types/input.d.ts +1062 -84
  262. package/types/output.d.ts +3394 -466
  263. package/vpc/index.d.ts +3 -0
  264. package/vpc/index.js +6 -1
  265. package/vpc/index.js.map +1 -1
  266. package/vpc/userCidrBlockAssociate.d.ts +91 -0
  267. package/vpc/userCidrBlockAssociate.js +88 -0
  268. package/vpc/userCidrBlockAssociate.js.map +1 -0
  269. package/vpc/vpc.d.ts +8 -0
  270. package/vpc/vpc.js +2 -0
  271. package/vpc/vpc.js.map +1 -1
@@ -109,7 +109,7 @@ export declare class DnatEntry extends pulumi.CustomResource {
109
109
  */
110
110
  readonly natGatewayId: pulumi.Output<string>;
111
111
  /**
112
- * The network protocol.
112
+ * The network protocol. Valid values: `tcp`, `udp`.
113
113
  */
114
114
  readonly protocol: pulumi.Output<string>;
115
115
  /**
@@ -154,7 +154,7 @@ export interface DnatEntryState {
154
154
  */
155
155
  natGatewayId?: pulumi.Input<string>;
156
156
  /**
157
- * The network protocol.
157
+ * The network protocol. Valid values: `tcp`, `udp`.
158
158
  */
159
159
  protocol?: pulumi.Input<string>;
160
160
  }
@@ -187,7 +187,7 @@ export interface DnatEntryArgs {
187
187
  */
188
188
  natGatewayId: pulumi.Input<string>;
189
189
  /**
190
- * The network protocol.
190
+ * The network protocol. Valid values: `tcp`, `udp`.
191
191
  */
192
192
  protocol: pulumi.Input<string>;
193
193
  }
package/nat/gateway.d.ts CHANGED
@@ -20,11 +20,12 @@ import * as outputs from "../types/output";
20
20
  * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
21
21
  * vpcId: fooVpc.id,
22
22
  * });
23
- * const fooGateway = new volcengine.nat.Gateway("fooGateway", {
23
+ * // create internet nat gateway and snat entry and dnat entry
24
+ * const internetNatGateway = new volcengine.nat.Gateway("internetNatGateway", {
24
25
  * vpcId: fooVpc.id,
25
26
  * subnetId: fooSubnet.id,
26
27
  * spec: "Small",
27
- * natGatewayName: "acc-test-ng",
28
+ * natGatewayName: "acc-test-internet_ng",
28
29
  * description: "acc-test",
29
30
  * billingType: "PostPaid",
30
31
  * projectName: "default",
@@ -33,6 +34,71 @@ import * as outputs from "../types/output";
33
34
  * value: "v1",
34
35
  * }],
35
36
  * });
37
+ * const fooAddress = new volcengine.eip.Address("fooAddress", {
38
+ * description: "acc-test",
39
+ * bandwidth: 1,
40
+ * billingType: "PostPaidByBandwidth",
41
+ * isp: "BGP",
42
+ * });
43
+ * const fooAssociate = new volcengine.eip.Associate("fooAssociate", {
44
+ * allocationId: fooAddress.id,
45
+ * instanceId: internetNatGateway.id,
46
+ * instanceType: "Nat",
47
+ * });
48
+ * const fooSnatEntry = new volcengine.nat.SnatEntry("fooSnatEntry", {
49
+ * snatEntryName: "acc-test-snat-entry",
50
+ * natGatewayId: internetNatGateway.id,
51
+ * eipId: fooAddress.id,
52
+ * sourceCidr: "172.16.0.0/24",
53
+ * }, {
54
+ * dependsOn: [fooAssociate],
55
+ * });
56
+ * const fooDnatEntry = new volcengine.nat.DnatEntry("fooDnatEntry", {
57
+ * dnatEntryName: "acc-test-dnat-entry",
58
+ * externalIp: fooAddress.eipAddress,
59
+ * externalPort: "80",
60
+ * internalIp: "172.16.0.10",
61
+ * internalPort: "80",
62
+ * natGatewayId: internetNatGateway.id,
63
+ * protocol: "tcp",
64
+ * }, {
65
+ * dependsOn: [fooAssociate],
66
+ * });
67
+ * // create intranet nat gateway and snat entry and dnat entry
68
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
69
+ * vpcId: fooVpc.id,
70
+ * subnetId: fooSubnet.id,
71
+ * natGatewayName: "acc-test-intranet_ng",
72
+ * description: "acc-test",
73
+ * networkType: "intranet",
74
+ * billingType: "PostPaidByUsage",
75
+ * projectName: "default",
76
+ * tags: [{
77
+ * key: "k1",
78
+ * value: "v1",
79
+ * }],
80
+ * });
81
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
82
+ * natGatewayId: intranetNatGateway.id,
83
+ * natIpName: "acc-test-nat-ip",
84
+ * natIpDescription: "acc-test",
85
+ * natIp: "172.16.0.3",
86
+ * });
87
+ * const foo_intranetSnatEntry = new volcengine.nat.SnatEntry("foo-intranetSnatEntry", {
88
+ * snatEntryName: "acc-test-snat-entry-intranet",
89
+ * natGatewayId: intranetNatGateway.id,
90
+ * natIpId: fooIp.id,
91
+ * sourceCidr: "172.16.0.0/24",
92
+ * });
93
+ * const foo_intranetDnatEntry = new volcengine.nat.DnatEntry("foo-intranetDnatEntry", {
94
+ * natGatewayId: intranetNatGateway.id,
95
+ * dnatEntryName: "acc-test-dnat-entry-intranet",
96
+ * protocol: "tcp",
97
+ * internalIp: "172.16.0.5",
98
+ * internalPort: "82",
99
+ * externalIp: fooIp.natIp,
100
+ * externalPort: "87",
101
+ * });
36
102
  * ```
37
103
  *
38
104
  * ## Import
@@ -60,7 +126,8 @@ export declare class Gateway extends pulumi.CustomResource {
60
126
  */
61
127
  static isInstance(obj: any): obj is Gateway;
62
128
  /**
63
- * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid`.
129
+ * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid` or `PostPaidByUsage`. Default value is `PostPaid`.
130
+ * When the `networkType` is `intranet`, the billing type must be `PostPaidByUsage`.
64
131
  */
65
132
  readonly billingType: pulumi.Output<string | undefined>;
66
133
  /**
@@ -71,6 +138,10 @@ export declare class Gateway extends pulumi.CustomResource {
71
138
  * The name of the NatGateway.
72
139
  */
73
140
  readonly natGatewayName: pulumi.Output<string | undefined>;
141
+ /**
142
+ * The network type of the NatGateway. Valid values are `internet` and `intranet`. Default value is `internet`.
143
+ */
144
+ readonly networkType: pulumi.Output<string | undefined>;
74
145
  /**
75
146
  * The period of the NatGateway, the valid value range in 1~9 or 12 or 24 or 36. Default value is 12. The period unit defaults to `Month`.This field is only effective when creating a PrePaid NatGateway. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
76
147
  */
@@ -81,6 +152,7 @@ export declare class Gateway extends pulumi.CustomResource {
81
152
  readonly projectName: pulumi.Output<string>;
82
153
  /**
83
154
  * The specification of the NatGateway. Optional choice contains `Small`(default), `Medium`, `Large` or leave blank.
155
+ * When the `billingType` is `PostPaidByUsage`, this field should not be specified.
84
156
  */
85
157
  readonly spec: pulumi.Output<string>;
86
158
  /**
@@ -109,7 +181,8 @@ export declare class Gateway extends pulumi.CustomResource {
109
181
  */
110
182
  export interface GatewayState {
111
183
  /**
112
- * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid`.
184
+ * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid` or `PostPaidByUsage`. Default value is `PostPaid`.
185
+ * When the `networkType` is `intranet`, the billing type must be `PostPaidByUsage`.
113
186
  */
114
187
  billingType?: pulumi.Input<string>;
115
188
  /**
@@ -120,6 +193,10 @@ export interface GatewayState {
120
193
  * The name of the NatGateway.
121
194
  */
122
195
  natGatewayName?: pulumi.Input<string>;
196
+ /**
197
+ * The network type of the NatGateway. Valid values are `internet` and `intranet`. Default value is `internet`.
198
+ */
199
+ networkType?: pulumi.Input<string>;
123
200
  /**
124
201
  * The period of the NatGateway, the valid value range in 1~9 or 12 or 24 or 36. Default value is 12. The period unit defaults to `Month`.This field is only effective when creating a PrePaid NatGateway. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
125
202
  */
@@ -130,6 +207,7 @@ export interface GatewayState {
130
207
  projectName?: pulumi.Input<string>;
131
208
  /**
132
209
  * The specification of the NatGateway. Optional choice contains `Small`(default), `Medium`, `Large` or leave blank.
210
+ * When the `billingType` is `PostPaidByUsage`, this field should not be specified.
133
211
  */
134
212
  spec?: pulumi.Input<string>;
135
213
  /**
@@ -150,7 +228,8 @@ export interface GatewayState {
150
228
  */
151
229
  export interface GatewayArgs {
152
230
  /**
153
- * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid`.
231
+ * The billing type of the NatGateway, the value is `PostPaid` or `PrePaid` or `PostPaidByUsage`. Default value is `PostPaid`.
232
+ * When the `networkType` is `intranet`, the billing type must be `PostPaidByUsage`.
154
233
  */
155
234
  billingType?: pulumi.Input<string>;
156
235
  /**
@@ -161,6 +240,10 @@ export interface GatewayArgs {
161
240
  * The name of the NatGateway.
162
241
  */
163
242
  natGatewayName?: pulumi.Input<string>;
243
+ /**
244
+ * The network type of the NatGateway. Valid values are `internet` and `intranet`. Default value is `internet`.
245
+ */
246
+ networkType?: pulumi.Input<string>;
164
247
  /**
165
248
  * The period of the NatGateway, the valid value range in 1~9 or 12 or 24 or 36. Default value is 12. The period unit defaults to `Month`.This field is only effective when creating a PrePaid NatGateway. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
166
249
  */
@@ -171,6 +254,7 @@ export interface GatewayArgs {
171
254
  projectName?: pulumi.Input<string>;
172
255
  /**
173
256
  * The specification of the NatGateway. Optional choice contains `Small`(default), `Medium`, `Large` or leave blank.
257
+ * When the `billingType` is `PostPaidByUsage`, this field should not be specified.
174
258
  */
175
259
  spec?: pulumi.Input<string>;
176
260
  /**
package/nat/gateway.js CHANGED
@@ -24,11 +24,12 @@ const utilities = require("../utilities");
24
24
  * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
25
25
  * vpcId: fooVpc.id,
26
26
  * });
27
- * const fooGateway = new volcengine.nat.Gateway("fooGateway", {
27
+ * // create internet nat gateway and snat entry and dnat entry
28
+ * const internetNatGateway = new volcengine.nat.Gateway("internetNatGateway", {
28
29
  * vpcId: fooVpc.id,
29
30
  * subnetId: fooSubnet.id,
30
31
  * spec: "Small",
31
- * natGatewayName: "acc-test-ng",
32
+ * natGatewayName: "acc-test-internet_ng",
32
33
  * description: "acc-test",
33
34
  * billingType: "PostPaid",
34
35
  * projectName: "default",
@@ -37,6 +38,71 @@ const utilities = require("../utilities");
37
38
  * value: "v1",
38
39
  * }],
39
40
  * });
41
+ * const fooAddress = new volcengine.eip.Address("fooAddress", {
42
+ * description: "acc-test",
43
+ * bandwidth: 1,
44
+ * billingType: "PostPaidByBandwidth",
45
+ * isp: "BGP",
46
+ * });
47
+ * const fooAssociate = new volcengine.eip.Associate("fooAssociate", {
48
+ * allocationId: fooAddress.id,
49
+ * instanceId: internetNatGateway.id,
50
+ * instanceType: "Nat",
51
+ * });
52
+ * const fooSnatEntry = new volcengine.nat.SnatEntry("fooSnatEntry", {
53
+ * snatEntryName: "acc-test-snat-entry",
54
+ * natGatewayId: internetNatGateway.id,
55
+ * eipId: fooAddress.id,
56
+ * sourceCidr: "172.16.0.0/24",
57
+ * }, {
58
+ * dependsOn: [fooAssociate],
59
+ * });
60
+ * const fooDnatEntry = new volcengine.nat.DnatEntry("fooDnatEntry", {
61
+ * dnatEntryName: "acc-test-dnat-entry",
62
+ * externalIp: fooAddress.eipAddress,
63
+ * externalPort: "80",
64
+ * internalIp: "172.16.0.10",
65
+ * internalPort: "80",
66
+ * natGatewayId: internetNatGateway.id,
67
+ * protocol: "tcp",
68
+ * }, {
69
+ * dependsOn: [fooAssociate],
70
+ * });
71
+ * // create intranet nat gateway and snat entry and dnat entry
72
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
73
+ * vpcId: fooVpc.id,
74
+ * subnetId: fooSubnet.id,
75
+ * natGatewayName: "acc-test-intranet_ng",
76
+ * description: "acc-test",
77
+ * networkType: "intranet",
78
+ * billingType: "PostPaidByUsage",
79
+ * projectName: "default",
80
+ * tags: [{
81
+ * key: "k1",
82
+ * value: "v1",
83
+ * }],
84
+ * });
85
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
86
+ * natGatewayId: intranetNatGateway.id,
87
+ * natIpName: "acc-test-nat-ip",
88
+ * natIpDescription: "acc-test",
89
+ * natIp: "172.16.0.3",
90
+ * });
91
+ * const foo_intranetSnatEntry = new volcengine.nat.SnatEntry("foo-intranetSnatEntry", {
92
+ * snatEntryName: "acc-test-snat-entry-intranet",
93
+ * natGatewayId: intranetNatGateway.id,
94
+ * natIpId: fooIp.id,
95
+ * sourceCidr: "172.16.0.0/24",
96
+ * });
97
+ * const foo_intranetDnatEntry = new volcengine.nat.DnatEntry("foo-intranetDnatEntry", {
98
+ * natGatewayId: intranetNatGateway.id,
99
+ * dnatEntryName: "acc-test-dnat-entry-intranet",
100
+ * protocol: "tcp",
101
+ * internalIp: "172.16.0.5",
102
+ * internalPort: "82",
103
+ * externalIp: fooIp.natIp,
104
+ * externalPort: "87",
105
+ * });
40
106
  * ```
41
107
  *
42
108
  * ## Import
@@ -78,6 +144,7 @@ class Gateway extends pulumi.CustomResource {
78
144
  resourceInputs["billingType"] = state ? state.billingType : undefined;
79
145
  resourceInputs["description"] = state ? state.description : undefined;
80
146
  resourceInputs["natGatewayName"] = state ? state.natGatewayName : undefined;
147
+ resourceInputs["networkType"] = state ? state.networkType : undefined;
81
148
  resourceInputs["period"] = state ? state.period : undefined;
82
149
  resourceInputs["projectName"] = state ? state.projectName : undefined;
83
150
  resourceInputs["spec"] = state ? state.spec : undefined;
@@ -96,6 +163,7 @@ class Gateway extends pulumi.CustomResource {
96
163
  resourceInputs["billingType"] = args ? args.billingType : undefined;
97
164
  resourceInputs["description"] = args ? args.description : undefined;
98
165
  resourceInputs["natGatewayName"] = args ? args.natGatewayName : undefined;
166
+ resourceInputs["networkType"] = args ? args.networkType : undefined;
99
167
  resourceInputs["period"] = args ? args.period : undefined;
100
168
  resourceInputs["projectName"] = args ? args.projectName : undefined;
101
169
  resourceInputs["spec"] = args ? args.spec : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../nat/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../nat/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "../types/output";
3
+ /**
4
+ * Use this data source to query detailed information of nat ips
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as volcengine from "@pulumi/volcengine";
10
+ * import * as volcengine from "@volcengine/pulumi";
11
+ *
12
+ * const fooZones = volcengine.ecs.getZones({});
13
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
14
+ * vpcName: "acc-test-vpc",
15
+ * cidrBlock: "172.16.0.0/16",
16
+ * });
17
+ * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
18
+ * subnetName: "acc-test-subnet",
19
+ * cidrBlock: "172.16.0.0/24",
20
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
21
+ * vpcId: fooVpc.id,
22
+ * });
23
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
24
+ * vpcId: fooVpc.id,
25
+ * subnetId: fooSubnet.id,
26
+ * natGatewayName: "acc-test-intranet_ng",
27
+ * description: "acc-test",
28
+ * networkType: "intranet",
29
+ * billingType: "PostPaidByUsage",
30
+ * projectName: "default",
31
+ * tags: [{
32
+ * key: "k1",
33
+ * value: "v1",
34
+ * }],
35
+ * });
36
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
37
+ * natGatewayId: intranetNatGateway.id,
38
+ * natIpName: "acc-test-nat-ip",
39
+ * natIpDescription: "acc-test",
40
+ * natIp: "172.16.0.3",
41
+ * });
42
+ * const fooIps = volcengine.nat.getIpsOutput({
43
+ * natGatewayId: intranetNatGateway.id,
44
+ * });
45
+ * ```
46
+ */
47
+ export declare function getIps(args: GetIpsArgs, opts?: pulumi.InvokeOptions): Promise<GetIpsResult>;
48
+ /**
49
+ * A collection of arguments for invoking getIps.
50
+ */
51
+ export interface GetIpsArgs {
52
+ /**
53
+ * A list of Nat IP ids.
54
+ */
55
+ ids?: string[];
56
+ /**
57
+ * The Name Regex of Nat ip.
58
+ */
59
+ nameRegex?: string;
60
+ /**
61
+ * The id of the Nat gateway.
62
+ */
63
+ natGatewayId: string;
64
+ /**
65
+ * The name of the Nat IP.
66
+ */
67
+ natIpName?: string;
68
+ /**
69
+ * File name where to save data source results.
70
+ */
71
+ outputFile?: string;
72
+ }
73
+ /**
74
+ * A collection of values returned by getIps.
75
+ */
76
+ export interface GetIpsResult {
77
+ /**
78
+ * The provider-assigned unique ID for this managed resource.
79
+ */
80
+ readonly id: string;
81
+ readonly ids?: string[];
82
+ readonly nameRegex?: string;
83
+ /**
84
+ * The id of the Nat gateway.
85
+ */
86
+ readonly natGatewayId: string;
87
+ /**
88
+ * The name of the Nat Ip.
89
+ */
90
+ readonly natIpName?: string;
91
+ /**
92
+ * The collection of query.
93
+ */
94
+ readonly natIps: outputs.nat.GetIpsNatIp[];
95
+ readonly outputFile?: string;
96
+ /**
97
+ * The total count of query.
98
+ */
99
+ readonly totalCount: number;
100
+ }
101
+ /**
102
+ * Use this data source to query detailed information of nat ips
103
+ * ## Example Usage
104
+ *
105
+ * ```typescript
106
+ * import * as pulumi from "@pulumi/pulumi";
107
+ * import * as volcengine from "@pulumi/volcengine";
108
+ * import * as volcengine from "@volcengine/pulumi";
109
+ *
110
+ * const fooZones = volcengine.ecs.getZones({});
111
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
112
+ * vpcName: "acc-test-vpc",
113
+ * cidrBlock: "172.16.0.0/16",
114
+ * });
115
+ * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
116
+ * subnetName: "acc-test-subnet",
117
+ * cidrBlock: "172.16.0.0/24",
118
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
119
+ * vpcId: fooVpc.id,
120
+ * });
121
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
122
+ * vpcId: fooVpc.id,
123
+ * subnetId: fooSubnet.id,
124
+ * natGatewayName: "acc-test-intranet_ng",
125
+ * description: "acc-test",
126
+ * networkType: "intranet",
127
+ * billingType: "PostPaidByUsage",
128
+ * projectName: "default",
129
+ * tags: [{
130
+ * key: "k1",
131
+ * value: "v1",
132
+ * }],
133
+ * });
134
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
135
+ * natGatewayId: intranetNatGateway.id,
136
+ * natIpName: "acc-test-nat-ip",
137
+ * natIpDescription: "acc-test",
138
+ * natIp: "172.16.0.3",
139
+ * });
140
+ * const fooIps = volcengine.nat.getIpsOutput({
141
+ * natGatewayId: intranetNatGateway.id,
142
+ * });
143
+ * ```
144
+ */
145
+ export declare function getIpsOutput(args: GetIpsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetIpsResult>;
146
+ /**
147
+ * A collection of arguments for invoking getIps.
148
+ */
149
+ export interface GetIpsOutputArgs {
150
+ /**
151
+ * A list of Nat IP ids.
152
+ */
153
+ ids?: pulumi.Input<pulumi.Input<string>[]>;
154
+ /**
155
+ * The Name Regex of Nat ip.
156
+ */
157
+ nameRegex?: pulumi.Input<string>;
158
+ /**
159
+ * The id of the Nat gateway.
160
+ */
161
+ natGatewayId: pulumi.Input<string>;
162
+ /**
163
+ * The name of the Nat IP.
164
+ */
165
+ natIpName?: pulumi.Input<string>;
166
+ /**
167
+ * File name where to save data source results.
168
+ */
169
+ outputFile?: pulumi.Input<string>;
170
+ }
package/nat/getIps.js ADDED
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getIpsOutput = exports.getIps = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Use this data source to query detailed information of nat ips
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as volcengine from "@pulumi/volcengine";
15
+ * import * as volcengine from "@volcengine/pulumi";
16
+ *
17
+ * const fooZones = volcengine.ecs.getZones({});
18
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
19
+ * vpcName: "acc-test-vpc",
20
+ * cidrBlock: "172.16.0.0/16",
21
+ * });
22
+ * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
23
+ * subnetName: "acc-test-subnet",
24
+ * cidrBlock: "172.16.0.0/24",
25
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
26
+ * vpcId: fooVpc.id,
27
+ * });
28
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
29
+ * vpcId: fooVpc.id,
30
+ * subnetId: fooSubnet.id,
31
+ * natGatewayName: "acc-test-intranet_ng",
32
+ * description: "acc-test",
33
+ * networkType: "intranet",
34
+ * billingType: "PostPaidByUsage",
35
+ * projectName: "default",
36
+ * tags: [{
37
+ * key: "k1",
38
+ * value: "v1",
39
+ * }],
40
+ * });
41
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
42
+ * natGatewayId: intranetNatGateway.id,
43
+ * natIpName: "acc-test-nat-ip",
44
+ * natIpDescription: "acc-test",
45
+ * natIp: "172.16.0.3",
46
+ * });
47
+ * const fooIps = volcengine.nat.getIpsOutput({
48
+ * natGatewayId: intranetNatGateway.id,
49
+ * });
50
+ * ```
51
+ */
52
+ function getIps(args, opts) {
53
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
54
+ return pulumi.runtime.invoke("volcengine:nat/getIps:getIps", {
55
+ "ids": args.ids,
56
+ "nameRegex": args.nameRegex,
57
+ "natGatewayId": args.natGatewayId,
58
+ "natIpName": args.natIpName,
59
+ "outputFile": args.outputFile,
60
+ }, opts);
61
+ }
62
+ exports.getIps = getIps;
63
+ /**
64
+ * Use this data source to query detailed information of nat ips
65
+ * ## Example Usage
66
+ *
67
+ * ```typescript
68
+ * import * as pulumi from "@pulumi/pulumi";
69
+ * import * as volcengine from "@pulumi/volcengine";
70
+ * import * as volcengine from "@volcengine/pulumi";
71
+ *
72
+ * const fooZones = volcengine.ecs.getZones({});
73
+ * const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
74
+ * vpcName: "acc-test-vpc",
75
+ * cidrBlock: "172.16.0.0/16",
76
+ * });
77
+ * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
78
+ * subnetName: "acc-test-subnet",
79
+ * cidrBlock: "172.16.0.0/24",
80
+ * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
81
+ * vpcId: fooVpc.id,
82
+ * });
83
+ * const intranetNatGateway = new volcengine.nat.Gateway("intranetNatGateway", {
84
+ * vpcId: fooVpc.id,
85
+ * subnetId: fooSubnet.id,
86
+ * natGatewayName: "acc-test-intranet_ng",
87
+ * description: "acc-test",
88
+ * networkType: "intranet",
89
+ * billingType: "PostPaidByUsage",
90
+ * projectName: "default",
91
+ * tags: [{
92
+ * key: "k1",
93
+ * value: "v1",
94
+ * }],
95
+ * });
96
+ * const fooIp = new volcengine.nat.Ip("fooIp", {
97
+ * natGatewayId: intranetNatGateway.id,
98
+ * natIpName: "acc-test-nat-ip",
99
+ * natIpDescription: "acc-test",
100
+ * natIp: "172.16.0.3",
101
+ * });
102
+ * const fooIps = volcengine.nat.getIpsOutput({
103
+ * natGatewayId: intranetNatGateway.id,
104
+ * });
105
+ * ```
106
+ */
107
+ function getIpsOutput(args, opts) {
108
+ return pulumi.output(args).apply((a) => getIps(a, opts));
109
+ }
110
+ exports.getIpsOutput = getIpsOutput;
111
+ //# sourceMappingURL=getIps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIps.js","sourceRoot":"","sources":["../../nat/getIps.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAgB,MAAM,CAAC,IAAgB,EAAE,IAA2B;IAEhE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8BAA8B,EAAE;QACzD,KAAK,EAAE,IAAI,CAAC,GAAG;QACf,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,YAAY,EAAE,IAAI,CAAC,UAAU;KAChC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,wBAUC;AAwDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAgB,YAAY,CAAC,IAAsB,EAAE,IAA2B;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACjE,CAAC;AAFD,oCAEC"}
package/nat/index.d.ts CHANGED
@@ -16,9 +16,18 @@ export declare const getDnatEntriesOutput: typeof import("./getDnatEntries").get
16
16
  export { GetGatewaysArgs, GetGatewaysResult, GetGatewaysOutputArgs } from "./getGateways";
17
17
  export declare const getGateways: typeof import("./getGateways").getGateways;
18
18
  export declare const getGatewaysOutput: typeof import("./getGateways").getGatewaysOutput;
19
+ export { GetIpsArgs, GetIpsResult, GetIpsOutputArgs } from "./getIps";
20
+ export declare const getIps: typeof import("./getIps").getIps;
21
+ export declare const getIpsOutput: typeof import("./getIps").getIpsOutput;
19
22
  export { GetSnatEntriesArgs, GetSnatEntriesResult, GetSnatEntriesOutputArgs } from "./getSnatEntries";
20
23
  export declare const getSnatEntries: typeof import("./getSnatEntries").getSnatEntries;
21
24
  export declare const getSnatEntriesOutput: typeof import("./getSnatEntries").getSnatEntriesOutput;
25
+ export { IpArgs, IpState } from "./ip";
26
+ export type Ip = import("./ip").Ip;
27
+ export declare const Ip: typeof import("./ip").Ip;
28
+ export { IpsArgs, IpsResult, IpsOutputArgs } from "./ips";
29
+ export declare const ips: typeof import("./ips").ips;
30
+ export declare const ipsOutput: typeof import("./ips").ipsOutput;
22
31
  export { SnatEntriesArgs, SnatEntriesResult, SnatEntriesOutputArgs } from "./snatEntries";
23
32
  export declare const snatEntries: typeof import("./snatEntries").snatEntries;
24
33
  export declare const snatEntriesOutput: typeof import("./snatEntries").snatEntriesOutput;
package/nat/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.SnatEntry = exports.snatEntriesOutput = exports.snatEntries = exports.getSnatEntriesOutput = exports.getSnatEntries = exports.getGatewaysOutput = exports.getGateways = exports.getDnatEntriesOutput = exports.getDnatEntries = exports.gatewaysOutput = exports.gateways = exports.Gateway = exports.DnatEntry = exports.dnatEntriesOutput = exports.dnatEntries = void 0;
5
+ exports.SnatEntry = exports.snatEntriesOutput = exports.snatEntries = exports.ipsOutput = exports.ips = exports.Ip = exports.getSnatEntriesOutput = exports.getSnatEntries = exports.getIpsOutput = exports.getIps = exports.getGatewaysOutput = exports.getGateways = exports.getDnatEntriesOutput = exports.getDnatEntries = exports.gatewaysOutput = exports.gateways = exports.Gateway = exports.DnatEntry = exports.dnatEntriesOutput = exports.dnatEntries = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("../utilities");
8
8
  exports.dnatEntries = null;
@@ -21,9 +21,17 @@ utilities.lazyLoad(exports, ["getDnatEntries", "getDnatEntriesOutput"], () => re
21
21
  exports.getGateways = null;
22
22
  exports.getGatewaysOutput = null;
23
23
  utilities.lazyLoad(exports, ["getGateways", "getGatewaysOutput"], () => require("./getGateways"));
24
+ exports.getIps = null;
25
+ exports.getIpsOutput = null;
26
+ utilities.lazyLoad(exports, ["getIps", "getIpsOutput"], () => require("./getIps"));
24
27
  exports.getSnatEntries = null;
25
28
  exports.getSnatEntriesOutput = null;
26
29
  utilities.lazyLoad(exports, ["getSnatEntries", "getSnatEntriesOutput"], () => require("./getSnatEntries"));
30
+ exports.Ip = null;
31
+ utilities.lazyLoad(exports, ["Ip"], () => require("./ip"));
32
+ exports.ips = null;
33
+ exports.ipsOutput = null;
34
+ utilities.lazyLoad(exports, ["ips", "ipsOutput"], () => require("./ips"));
27
35
  exports.snatEntries = null;
28
36
  exports.snatEntriesOutput = null;
29
37
  utilities.lazyLoad(exports, ["snatEntries", "snatEntriesOutput"], () => require("./snatEntries"));
@@ -37,6 +45,8 @@ const _module = {
37
45
  return new exports.DnatEntry(name, undefined, { urn });
38
46
  case "volcengine:nat/gateway:Gateway":
39
47
  return new exports.Gateway(name, undefined, { urn });
48
+ case "volcengine:nat/ip:Ip":
49
+ return new exports.Ip(name, undefined, { urn });
40
50
  case "volcengine:nat/snatEntry:SnatEntry":
41
51
  return new exports.SnatEntry(name, undefined, { urn });
42
52
  default:
@@ -46,5 +56,6 @@ const _module = {
46
56
  };
47
57
  pulumi.runtime.registerResourceModule("volcengine", "nat/dnatEntry", _module);
48
58
  pulumi.runtime.registerResourceModule("volcengine", "nat/gateway", _module);
59
+ pulumi.runtime.registerResourceModule("volcengine", "nat/ip", _module);
49
60
  pulumi.runtime.registerResourceModule("volcengine", "nat/snatEntry", _module);
50
61
  //# sourceMappingURL=index.js.map