@pulumi/aws 7.17.0-alpha.1770139809 → 7.17.0

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 (223) hide show
  1. package/acm/certificate.d.ts +2 -2
  2. package/acm/certificate.js +2 -2
  3. package/acmpca/certificate.d.ts +2 -2
  4. package/acmpca/certificate.js +2 -2
  5. package/apigateway/domainName.d.ts +12 -0
  6. package/apigateway/domainName.js +2 -0
  7. package/apigateway/domainName.js.map +1 -1
  8. package/apigatewayv2/domainName.d.ts +12 -0
  9. package/apigatewayv2/domainName.js +2 -0
  10. package/apigatewayv2/domainName.js.map +1 -1
  11. package/apigatewayv2/index.d.ts +3 -0
  12. package/apigatewayv2/index.js +6 -1
  13. package/apigatewayv2/index.js.map +1 -1
  14. package/apigatewayv2/routingRule.d.ts +166 -0
  15. package/apigatewayv2/routingRule.js +113 -0
  16. package/apigatewayv2/routingRule.js.map +1 -0
  17. package/arcregionswitch/getPlan.d.ts +118 -0
  18. package/arcregionswitch/getPlan.js +56 -0
  19. package/arcregionswitch/getPlan.js.map +1 -0
  20. package/arcregionswitch/getRoute53HealthChecks.d.ts +80 -0
  21. package/arcregionswitch/getRoute53HealthChecks.js +56 -0
  22. package/arcregionswitch/getRoute53HealthChecks.js.map +1 -0
  23. package/arcregionswitch/index.d.ts +9 -0
  24. package/arcregionswitch/index.js +28 -0
  25. package/arcregionswitch/index.js.map +1 -0
  26. package/arcregionswitch/plan.d.ts +384 -0
  27. package/arcregionswitch/plan.js +253 -0
  28. package/arcregionswitch/plan.js.map +1 -0
  29. package/autoscaling/group.d.ts +3 -3
  30. package/bedrock/agentDataSource.d.ts +37 -0
  31. package/bedrock/agentDataSource.js +37 -0
  32. package/bedrock/agentDataSource.js.map +1 -1
  33. package/cleanrooms/collaboration.d.ts +27 -59
  34. package/cleanrooms/collaboration.js.map +1 -1
  35. package/cloudfront/anycastIpList.d.ts +150 -0
  36. package/cloudfront/anycastIpList.js +91 -0
  37. package/cloudfront/anycastIpList.js.map +1 -0
  38. package/cloudfront/index.d.ts +3 -0
  39. package/cloudfront/index.js +6 -1
  40. package/cloudfront/index.js.map +1 -1
  41. package/cloudfront/multitenantDistribution.d.ts +65 -0
  42. package/cloudfront/multitenantDistribution.js +65 -0
  43. package/cloudfront/multitenantDistribution.js.map +1 -1
  44. package/codebuild/webhook.d.ts +2 -2
  45. package/codebuild/webhook.js +2 -2
  46. package/codepipeline/webhook.d.ts +2 -2
  47. package/codepipeline/webhook.js +2 -2
  48. package/docdb/clusterInstance.d.ts +72 -140
  49. package/docdb/clusterInstance.js +4 -7
  50. package/docdb/clusterInstance.js.map +1 -1
  51. package/dynamodb/table.d.ts +92 -3
  52. package/dynamodb/table.js +83 -0
  53. package/dynamodb/table.js.map +1 -1
  54. package/ec2/getVpcIpamPool.d.ts +4 -0
  55. package/ec2/getVpcIpamPool.js.map +1 -1
  56. package/ec2/index.d.ts +3 -0
  57. package/ec2/index.js +6 -1
  58. package/ec2/index.js.map +1 -1
  59. package/ec2/launchTemplate.d.ts +3 -0
  60. package/ec2/launchTemplate.js +2 -0
  61. package/ec2/launchTemplate.js.map +1 -1
  62. package/ec2/placementGroup.d.ts +3 -3
  63. package/ec2/securityGroup.d.ts +1 -1
  64. package/ec2/securityGroup.js +1 -1
  65. package/ec2/subnet.d.ts +107 -14
  66. package/ec2/subnet.js +59 -0
  67. package/ec2/subnet.js.map +1 -1
  68. package/ec2/vpcIpamPool.d.ts +54 -0
  69. package/ec2/vpcIpamPool.js +42 -0
  70. package/ec2/vpcIpamPool.js.map +1 -1
  71. package/ec2/vpcIpamResourceDiscovery.d.ts +12 -0
  72. package/ec2/vpcIpamResourceDiscovery.js +2 -0
  73. package/ec2/vpcIpamResourceDiscovery.js.map +1 -1
  74. package/ec2/vpcSecurityGroupRulesExclusive.d.ts +93 -0
  75. package/ec2/vpcSecurityGroupRulesExclusive.js +73 -0
  76. package/ec2/vpcSecurityGroupRulesExclusive.js.map +1 -0
  77. package/ec2transitgateway/vpcAttachment.d.ts +0 -18
  78. package/ec2transitgateway/vpcAttachment.js.map +1 -1
  79. package/ecr/accountSetting.d.ts +19 -4
  80. package/ecr/accountSetting.js +13 -1
  81. package/ecr/accountSetting.js.map +1 -1
  82. package/eks/addon.d.ts +46 -0
  83. package/eks/addon.js +46 -0
  84. package/eks/addon.js.map +1 -1
  85. package/fsx/windowsFileSystem.d.ts +22 -0
  86. package/fsx/windowsFileSystem.js +22 -0
  87. package/fsx/windowsFileSystem.js.map +1 -1
  88. package/index.d.ts +3 -1
  89. package/index.js +10 -6
  90. package/index.js.map +1 -1
  91. package/invoicing/invoiceUnit.d.ts +9 -3
  92. package/invoicing/invoiceUnit.js.map +1 -1
  93. package/iot/caCertificate.d.ts +4 -4
  94. package/iot/caCertificate.js +4 -4
  95. package/iot/getEndpoint.d.ts +12 -12
  96. package/iot/getEndpoint.js +12 -12
  97. package/iot/getRegistrationCode.d.ts +4 -4
  98. package/iot/getRegistrationCode.js +4 -4
  99. package/lambda/function.d.ts +3 -3
  100. package/memorydb/user.d.ts +1 -1
  101. package/memorydb/user.js +1 -1
  102. package/notifications/index.d.ts +12 -0
  103. package/notifications/index.js +21 -1
  104. package/notifications/index.js.map +1 -1
  105. package/notifications/managedNotificationAccountContactAssociation.d.ts +85 -0
  106. package/notifications/managedNotificationAccountContactAssociation.js +82 -0
  107. package/notifications/managedNotificationAccountContactAssociation.js.map +1 -0
  108. package/notifications/managedNotificationAdditionalChannelAssociation.d.ts +89 -0
  109. package/notifications/managedNotificationAdditionalChannelAssociation.js +86 -0
  110. package/notifications/managedNotificationAdditionalChannelAssociation.js.map +1 -0
  111. package/notifications/organizationalUnitAssociation.d.ts +121 -0
  112. package/notifications/organizationalUnitAssociation.js +118 -0
  113. package/notifications/organizationalUnitAssociation.js.map +1 -0
  114. package/notifications/organizationsAccess.d.ts +79 -0
  115. package/notifications/organizationsAccess.js +80 -0
  116. package/notifications/organizationsAccess.js.map +1 -0
  117. package/odb/network.d.ts +48 -0
  118. package/odb/network.js +8 -0
  119. package/odb/network.js.map +1 -1
  120. package/opensearch/application.d.ts +334 -0
  121. package/opensearch/application.js +244 -0
  122. package/opensearch/application.js.map +1 -0
  123. package/opensearch/index.d.ts +3 -0
  124. package/opensearch/index.js +6 -1
  125. package/opensearch/index.js.map +1 -1
  126. package/organizations/getEntityPath.d.ts +63 -0
  127. package/organizations/getEntityPath.js +50 -0
  128. package/organizations/getEntityPath.js.map +1 -0
  129. package/organizations/getOrganization.d.ts +21 -2
  130. package/organizations/getOrganization.js +10 -4
  131. package/organizations/getOrganization.js.map +1 -1
  132. package/organizations/index.d.ts +4 -1
  133. package/organizations/index.js +4 -1
  134. package/organizations/index.js.map +1 -1
  135. package/organizations/organization.d.ts +12 -0
  136. package/organizations/organization.js +2 -0
  137. package/organizations/organization.js.map +1 -1
  138. package/package.json +2 -2
  139. package/ram/index.d.ts +6 -0
  140. package/ram/index.js +11 -1
  141. package/ram/index.js.map +1 -1
  142. package/ram/permission.d.ts +193 -0
  143. package/ram/permission.js +117 -0
  144. package/ram/permission.js.map +1 -0
  145. package/ram/resourceShareAssociationsExclusive.d.ts +123 -0
  146. package/ram/resourceShareAssociationsExclusive.js +69 -0
  147. package/ram/resourceShareAssociationsExclusive.js.map +1 -0
  148. package/resourcegroupstaggingapi/getRequiredTags.d.ts +64 -0
  149. package/resourcegroupstaggingapi/getRequiredTags.js +52 -0
  150. package/resourcegroupstaggingapi/getRequiredTags.js.map +1 -0
  151. package/resourcegroupstaggingapi/index.d.ts +3 -0
  152. package/resourcegroupstaggingapi/index.js +4 -1
  153. package/resourcegroupstaggingapi/index.js.map +1 -1
  154. package/route53/healthCheck.d.ts +4 -4
  155. package/s3/bucketReplicationConfig.d.ts +3 -0
  156. package/s3/bucketReplicationConfig.js.map +1 -1
  157. package/s3/getBucketObjectLockConfiguration.d.ts +94 -0
  158. package/s3/getBucketObjectLockConfiguration.js +58 -0
  159. package/s3/getBucketObjectLockConfiguration.js.map +1 -0
  160. package/s3/getBucketReplicationConfiguration.d.ts +81 -0
  161. package/s3/getBucketReplicationConfiguration.js +56 -0
  162. package/s3/getBucketReplicationConfiguration.js.map +1 -0
  163. package/s3/getObject.d.ts +14 -1
  164. package/s3/getObject.js +2 -0
  165. package/s3/getObject.js.map +1 -1
  166. package/s3/index.d.ts +6 -0
  167. package/s3/index.js +8 -2
  168. package/s3/index.js.map +1 -1
  169. package/s3control/getAccessPoints.d.ts +131 -0
  170. package/s3control/getAccessPoints.js +82 -0
  171. package/s3control/getAccessPoints.js.map +1 -0
  172. package/s3control/getMultiRegionAccessPoints.d.ts +76 -0
  173. package/s3control/getMultiRegionAccessPoints.js +54 -0
  174. package/s3control/getMultiRegionAccessPoints.js.map +1 -0
  175. package/s3control/index.d.ts +6 -0
  176. package/s3control/index.js +7 -1
  177. package/s3control/index.js.map +1 -1
  178. package/sagemaker/index.d.ts +9 -0
  179. package/sagemaker/index.js +16 -1
  180. package/sagemaker/index.js.map +1 -1
  181. package/sagemaker/labelingJob.d.ts +280 -0
  182. package/sagemaker/labelingJob.js +142 -0
  183. package/sagemaker/labelingJob.js.map +1 -0
  184. package/sagemaker/modelCard.d.ts +176 -0
  185. package/sagemaker/modelCard.js +111 -0
  186. package/sagemaker/modelCard.js.map +1 -0
  187. package/sagemaker/modelCardExportJob.d.ts +136 -0
  188. package/sagemaker/modelCardExportJob.js +97 -0
  189. package/sagemaker/modelCardExportJob.js.map +1 -0
  190. package/savingsplans/getSavingsPlan.d.ts +128 -0
  191. package/savingsplans/getSavingsPlan.js +52 -0
  192. package/savingsplans/getSavingsPlan.js.map +1 -0
  193. package/savingsplans/index.d.ts +6 -0
  194. package/savingsplans/index.js +25 -0
  195. package/savingsplans/index.js.map +1 -0
  196. package/savingsplans/savingsPlan.d.ts +297 -0
  197. package/savingsplans/savingsPlan.js +143 -0
  198. package/savingsplans/savingsPlan.js.map +1 -0
  199. package/sesv2/index.d.ts +3 -0
  200. package/sesv2/index.js +6 -1
  201. package/sesv2/index.js.map +1 -1
  202. package/sesv2/tenantResourceAssociation.d.ts +103 -0
  203. package/sesv2/tenantResourceAssociation.js +84 -0
  204. package/sesv2/tenantResourceAssociation.js.map +1 -0
  205. package/ssoadmin/index.d.ts +3 -0
  206. package/ssoadmin/index.js +6 -1
  207. package/ssoadmin/index.js.map +1 -1
  208. package/ssoadmin/managedPolicyAttachment.d.ts +2 -0
  209. package/ssoadmin/managedPolicyAttachment.js +2 -0
  210. package/ssoadmin/managedPolicyAttachment.js.map +1 -1
  211. package/ssoadmin/managedPolicyAttachmentsExclusive.d.ts +151 -0
  212. package/ssoadmin/managedPolicyAttachmentsExclusive.js +122 -0
  213. package/ssoadmin/managedPolicyAttachmentsExclusive.js.map +1 -0
  214. package/types/input.d.ts +1766 -15
  215. package/types/input.js.map +1 -1
  216. package/types/output.d.ts +2169 -14
  217. package/types/output.js.map +1 -1
  218. package/wafv2/getManagedRuleGroup.d.ts +127 -0
  219. package/wafv2/getManagedRuleGroup.js +62 -0
  220. package/wafv2/getManagedRuleGroup.js.map +1 -0
  221. package/wafv2/index.d.ts +3 -0
  222. package/wafv2/index.js +4 -1
  223. package/wafv2/index.js.map +1 -1
package/ec2/subnet.d.ts CHANGED
@@ -40,6 +40,57 @@ import * as pulumi from "@pulumi/pulumi";
40
40
  * });
41
41
  * ```
42
42
  *
43
+ * ### IPAM-Managed Subnets
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as aws from "@pulumi/aws";
48
+ *
49
+ * const current = aws.getRegion({});
50
+ * const test = new aws.ec2.VpcIpam("test", {operatingRegions: [{
51
+ * regionName: current.then(current => current.region),
52
+ * }]});
53
+ * const testVpcIpamPool = new aws.ec2.VpcIpamPool("test", {
54
+ * addressFamily: "ipv4",
55
+ * ipamScopeId: test.privateDefaultScopeId,
56
+ * locale: current.then(current => current.name),
57
+ * });
58
+ * const testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("test", {
59
+ * ipamPoolId: testVpcIpamPool.id,
60
+ * cidr: "10.0.0.0/16",
61
+ * });
62
+ * const testVpc = new aws.ec2.Vpc("test", {
63
+ * ipv4IpamPoolId: testVpcIpamPool.id,
64
+ * ipv4NetmaskLength: 24,
65
+ * }, {
66
+ * dependsOn: [testVpcIpamPoolCidr],
67
+ * });
68
+ * const vpc = new aws.ec2.VpcIpamPool("vpc", {
69
+ * addressFamily: "ipv4",
70
+ * ipamScopeId: test.privateDefaultScopeId,
71
+ * locale: current.then(current => current.name),
72
+ * sourceIpamPoolId: testVpcIpamPool.id,
73
+ * sourceResource: {
74
+ * resourceId: testVpc.id,
75
+ * resourceOwner: currentAwsCallerIdentity.accountId,
76
+ * resourceRegion: current.then(current => current.name),
77
+ * resourceType: "vpc",
78
+ * },
79
+ * });
80
+ * const vpcVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("vpc", {
81
+ * ipamPoolId: vpc.id,
82
+ * cidr: testVpc.cidrBlock,
83
+ * });
84
+ * const testSubnet = new aws.ec2.Subnet("test", {
85
+ * vpcId: testVpc.id,
86
+ * ipv4IpamPoolId: vpc.id,
87
+ * ipv4NetmaskLength: 28,
88
+ * availabilityZone: available.names[0],
89
+ * }, {
90
+ * dependsOn: [vpcVpcIpamPoolCidr],
91
+ * });
92
+ * ```
93
+ *
43
94
  * ## Import
44
95
  *
45
96
  * ### Identity Schema
@@ -95,7 +146,7 @@ export declare class Subnet extends pulumi.CustomResource {
95
146
  /**
96
147
  * The IPv4 CIDR block for the subnet.
97
148
  */
98
- readonly cidrBlock: pulumi.Output<string | undefined>;
149
+ readonly cidrBlock: pulumi.Output<string>;
99
150
  /**
100
151
  * The customer owned IPv4 address pool. Typically used with the `mapCustomerOwnedIpOnLaunch` argument. The `outpostArn` argument must be specified when configured.
101
152
  */
@@ -116,27 +167,41 @@ export declare class Subnet extends pulumi.CustomResource {
116
167
  * Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: `false`.
117
168
  */
118
169
  readonly enableResourceNameDnsAaaaRecordOnLaunch: pulumi.Output<boolean | undefined>;
170
+ /**
171
+ * ID of an IPv4 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
172
+ */
173
+ readonly ipv4IpamPoolId: pulumi.Output<string | undefined>;
174
+ /**
175
+ * Netmask. Requires specifying a `ipv4IpamPoolId`.
176
+ */
177
+ readonly ipv4NetmaskLength: pulumi.Output<number | undefined>;
119
178
  /**
120
179
  * The IPv6 network range for the subnet,
121
- * in CIDR notation. The subnet size must use a /64 prefix length.
180
+ * in CIDR notation. The subnet size must use a /64 prefix length. If the existing IPv6 subnet was created with `assignIpv6AddressOnCreation = true`, changing this value will force resource recreation.
122
181
  */
123
- readonly ipv6CidrBlock: pulumi.Output<string | undefined>;
182
+ readonly ipv6CidrBlock: pulumi.Output<string>;
124
183
  /**
125
184
  * The association ID for the IPv6 CIDR block.
126
185
  */
127
186
  readonly ipv6CidrBlockAssociationId: pulumi.Output<string>;
187
+ /**
188
+ * ID of an IPv6 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
189
+ */
190
+ readonly ipv6IpamPoolId: pulumi.Output<string | undefined>;
128
191
  /**
129
192
  * Indicates whether to create an IPv6-only subnet. Default: `false`.
130
193
  */
131
194
  readonly ipv6Native: pulumi.Output<boolean | undefined>;
195
+ /**
196
+ * Netmask. Requires specifying a `ipv6IpamPoolId`. Valid values are from 44 to 64 in increments of 4.
197
+ */
198
+ readonly ipv6NetmaskLength: pulumi.Output<number | undefined>;
132
199
  /**
133
200
  * Specify `true` to indicate that network interfaces created in the subnet should be assigned a customer owned IP address. The `customerOwnedIpv4Pool` and `outpostArn` arguments must be specified when set to `true`. Default is `false`.
134
201
  */
135
202
  readonly mapCustomerOwnedIpOnLaunch: pulumi.Output<boolean | undefined>;
136
203
  /**
137
- * Specify true to indicate
138
- * that instances launched into the subnet should be assigned
139
- * a public IP address. Default is `false`.
204
+ * Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is `false`.
140
205
  */
141
206
  readonly mapPublicIpOnLaunch: pulumi.Output<boolean | undefined>;
142
207
  /**
@@ -226,27 +291,41 @@ export interface SubnetState {
226
291
  * Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: `false`.
227
292
  */
228
293
  enableResourceNameDnsAaaaRecordOnLaunch?: pulumi.Input<boolean>;
294
+ /**
295
+ * ID of an IPv4 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
296
+ */
297
+ ipv4IpamPoolId?: pulumi.Input<string>;
298
+ /**
299
+ * Netmask. Requires specifying a `ipv4IpamPoolId`.
300
+ */
301
+ ipv4NetmaskLength?: pulumi.Input<number>;
229
302
  /**
230
303
  * The IPv6 network range for the subnet,
231
- * in CIDR notation. The subnet size must use a /64 prefix length.
304
+ * in CIDR notation. The subnet size must use a /64 prefix length. If the existing IPv6 subnet was created with `assignIpv6AddressOnCreation = true`, changing this value will force resource recreation.
232
305
  */
233
306
  ipv6CidrBlock?: pulumi.Input<string>;
234
307
  /**
235
308
  * The association ID for the IPv6 CIDR block.
236
309
  */
237
310
  ipv6CidrBlockAssociationId?: pulumi.Input<string>;
311
+ /**
312
+ * ID of an IPv6 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
313
+ */
314
+ ipv6IpamPoolId?: pulumi.Input<string>;
238
315
  /**
239
316
  * Indicates whether to create an IPv6-only subnet. Default: `false`.
240
317
  */
241
318
  ipv6Native?: pulumi.Input<boolean>;
319
+ /**
320
+ * Netmask. Requires specifying a `ipv6IpamPoolId`. Valid values are from 44 to 64 in increments of 4.
321
+ */
322
+ ipv6NetmaskLength?: pulumi.Input<number>;
242
323
  /**
243
324
  * Specify `true` to indicate that network interfaces created in the subnet should be assigned a customer owned IP address. The `customerOwnedIpv4Pool` and `outpostArn` arguments must be specified when set to `true`. Default is `false`.
244
325
  */
245
326
  mapCustomerOwnedIpOnLaunch?: pulumi.Input<boolean>;
246
327
  /**
247
- * Specify true to indicate
248
- * that instances launched into the subnet should be assigned
249
- * a public IP address. Default is `false`.
328
+ * Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is `false`.
250
329
  */
251
330
  mapPublicIpOnLaunch?: pulumi.Input<boolean>;
252
331
  /**
@@ -324,23 +403,37 @@ export interface SubnetArgs {
324
403
  * Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: `false`.
325
404
  */
326
405
  enableResourceNameDnsAaaaRecordOnLaunch?: pulumi.Input<boolean>;
406
+ /**
407
+ * ID of an IPv4 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
408
+ */
409
+ ipv4IpamPoolId?: pulumi.Input<string>;
410
+ /**
411
+ * Netmask. Requires specifying a `ipv4IpamPoolId`.
412
+ */
413
+ ipv4NetmaskLength?: pulumi.Input<number>;
327
414
  /**
328
415
  * The IPv6 network range for the subnet,
329
- * in CIDR notation. The subnet size must use a /64 prefix length.
416
+ * in CIDR notation. The subnet size must use a /64 prefix length. If the existing IPv6 subnet was created with `assignIpv6AddressOnCreation = true`, changing this value will force resource recreation.
330
417
  */
331
418
  ipv6CidrBlock?: pulumi.Input<string>;
419
+ /**
420
+ * ID of an IPv6 VPC Resource Planning IPAM Pool. The CIDR of this pool is used to allocate the CIDR for the subnet.
421
+ */
422
+ ipv6IpamPoolId?: pulumi.Input<string>;
332
423
  /**
333
424
  * Indicates whether to create an IPv6-only subnet. Default: `false`.
334
425
  */
335
426
  ipv6Native?: pulumi.Input<boolean>;
427
+ /**
428
+ * Netmask. Requires specifying a `ipv6IpamPoolId`. Valid values are from 44 to 64 in increments of 4.
429
+ */
430
+ ipv6NetmaskLength?: pulumi.Input<number>;
336
431
  /**
337
432
  * Specify `true` to indicate that network interfaces created in the subnet should be assigned a customer owned IP address. The `customerOwnedIpv4Pool` and `outpostArn` arguments must be specified when set to `true`. Default is `false`.
338
433
  */
339
434
  mapCustomerOwnedIpOnLaunch?: pulumi.Input<boolean>;
340
435
  /**
341
- * Specify true to indicate
342
- * that instances launched into the subnet should be assigned
343
- * a public IP address. Default is `false`.
436
+ * Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is `false`.
344
437
  */
345
438
  mapPublicIpOnLaunch?: pulumi.Input<boolean>;
346
439
  /**
package/ec2/subnet.js CHANGED
@@ -46,6 +46,57 @@ const utilities = require("../utilities");
46
46
  * });
47
47
  * ```
48
48
  *
49
+ * ### IPAM-Managed Subnets
50
+ *
51
+ * ```typescript
52
+ * import * as pulumi from "@pulumi/pulumi";
53
+ * import * as aws from "@pulumi/aws";
54
+ *
55
+ * const current = aws.getRegion({});
56
+ * const test = new aws.ec2.VpcIpam("test", {operatingRegions: [{
57
+ * regionName: current.then(current => current.region),
58
+ * }]});
59
+ * const testVpcIpamPool = new aws.ec2.VpcIpamPool("test", {
60
+ * addressFamily: "ipv4",
61
+ * ipamScopeId: test.privateDefaultScopeId,
62
+ * locale: current.then(current => current.name),
63
+ * });
64
+ * const testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("test", {
65
+ * ipamPoolId: testVpcIpamPool.id,
66
+ * cidr: "10.0.0.0/16",
67
+ * });
68
+ * const testVpc = new aws.ec2.Vpc("test", {
69
+ * ipv4IpamPoolId: testVpcIpamPool.id,
70
+ * ipv4NetmaskLength: 24,
71
+ * }, {
72
+ * dependsOn: [testVpcIpamPoolCidr],
73
+ * });
74
+ * const vpc = new aws.ec2.VpcIpamPool("vpc", {
75
+ * addressFamily: "ipv4",
76
+ * ipamScopeId: test.privateDefaultScopeId,
77
+ * locale: current.then(current => current.name),
78
+ * sourceIpamPoolId: testVpcIpamPool.id,
79
+ * sourceResource: {
80
+ * resourceId: testVpc.id,
81
+ * resourceOwner: currentAwsCallerIdentity.accountId,
82
+ * resourceRegion: current.then(current => current.name),
83
+ * resourceType: "vpc",
84
+ * },
85
+ * });
86
+ * const vpcVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("vpc", {
87
+ * ipamPoolId: vpc.id,
88
+ * cidr: testVpc.cidrBlock,
89
+ * });
90
+ * const testSubnet = new aws.ec2.Subnet("test", {
91
+ * vpcId: testVpc.id,
92
+ * ipv4IpamPoolId: vpc.id,
93
+ * ipv4NetmaskLength: 28,
94
+ * availabilityZone: available.names[0],
95
+ * }, {
96
+ * dependsOn: [vpcVpcIpamPoolCidr],
97
+ * });
98
+ * ```
99
+ *
49
100
  * ## Import
50
101
  *
51
102
  * ### Identity Schema
@@ -102,9 +153,13 @@ class Subnet extends pulumi.CustomResource {
102
153
  resourceInputs["enableLniAtDeviceIndex"] = state?.enableLniAtDeviceIndex;
103
154
  resourceInputs["enableResourceNameDnsARecordOnLaunch"] = state?.enableResourceNameDnsARecordOnLaunch;
104
155
  resourceInputs["enableResourceNameDnsAaaaRecordOnLaunch"] = state?.enableResourceNameDnsAaaaRecordOnLaunch;
156
+ resourceInputs["ipv4IpamPoolId"] = state?.ipv4IpamPoolId;
157
+ resourceInputs["ipv4NetmaskLength"] = state?.ipv4NetmaskLength;
105
158
  resourceInputs["ipv6CidrBlock"] = state?.ipv6CidrBlock;
106
159
  resourceInputs["ipv6CidrBlockAssociationId"] = state?.ipv6CidrBlockAssociationId;
160
+ resourceInputs["ipv6IpamPoolId"] = state?.ipv6IpamPoolId;
107
161
  resourceInputs["ipv6Native"] = state?.ipv6Native;
162
+ resourceInputs["ipv6NetmaskLength"] = state?.ipv6NetmaskLength;
108
163
  resourceInputs["mapCustomerOwnedIpOnLaunch"] = state?.mapCustomerOwnedIpOnLaunch;
109
164
  resourceInputs["mapPublicIpOnLaunch"] = state?.mapPublicIpOnLaunch;
110
165
  resourceInputs["outpostArn"] = state?.outpostArn;
@@ -129,8 +184,12 @@ class Subnet extends pulumi.CustomResource {
129
184
  resourceInputs["enableLniAtDeviceIndex"] = args?.enableLniAtDeviceIndex;
130
185
  resourceInputs["enableResourceNameDnsARecordOnLaunch"] = args?.enableResourceNameDnsARecordOnLaunch;
131
186
  resourceInputs["enableResourceNameDnsAaaaRecordOnLaunch"] = args?.enableResourceNameDnsAaaaRecordOnLaunch;
187
+ resourceInputs["ipv4IpamPoolId"] = args?.ipv4IpamPoolId;
188
+ resourceInputs["ipv4NetmaskLength"] = args?.ipv4NetmaskLength;
132
189
  resourceInputs["ipv6CidrBlock"] = args?.ipv6CidrBlock;
190
+ resourceInputs["ipv6IpamPoolId"] = args?.ipv6IpamPoolId;
133
191
  resourceInputs["ipv6Native"] = args?.ipv6Native;
192
+ resourceInputs["ipv6NetmaskLength"] = args?.ipv6NetmaskLength;
134
193
  resourceInputs["mapCustomerOwnedIpOnLaunch"] = args?.mapCustomerOwnedIpOnLaunch;
135
194
  resourceInputs["mapPublicIpOnLaunch"] = args?.mapPublicIpOnLaunch;
136
195
  resourceInputs["outpostArn"] = args?.outpostArn;
package/ec2/subnet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"subnet.js","sourceRoot":"","sources":["../../ec2/subnet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subnet.js","sourceRoot":"","sources":["../../ec2/subnet.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;IAsHD,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,6BAA6B,CAAC,GAAG,KAAK,EAAE,2BAA2B,CAAC;YACnF,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,oBAAoB,CAAC,GAAG,KAAK,EAAE,kBAAkB,CAAC;YACjE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,wBAAwB,CAAC,GAAG,KAAK,EAAE,sBAAsB,CAAC;YACzE,cAAc,CAAC,sCAAsC,CAAC,GAAG,KAAK,EAAE,oCAAoC,CAAC;YACrG,cAAc,CAAC,yCAAyC,CAAC,GAAG,KAAK,EAAE,uCAAuC,CAAC;YAC3G,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC;YACvD,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,EAAE,0BAA0B,CAAC;YACjF,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,EAAE,0BAA0B,CAAC;YACjF,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,mBAAmB,CAAC;YACnE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,gCAAgC,CAAC,GAAG,KAAK,EAAE,8BAA8B,CAAC;YACzF,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;SAC1C;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,6BAA6B,CAAC,GAAG,IAAI,EAAE,2BAA2B,CAAC;YAClF,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC;YAChE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,wBAAwB,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC;YACxE,cAAc,CAAC,sCAAsC,CAAC,GAAG,IAAI,EAAE,oCAAoC,CAAC;YACpG,cAAc,CAAC,yCAAyC,CAAC,GAAG,IAAI,EAAE,uCAAuC,CAAC;YAC1G,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC;YACtD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC;YAChF,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC;YAClE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,gCAAgC,CAAC,GAAG,IAAI,EAAE,8BAA8B,CAAC;YACxF,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,4BAA4B,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjE,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;;AAjNL,wBAkNC;AApMG,gBAAgB;AACO,mBAAY,GAAG,uBAAuB,CAAC"}
@@ -1,7 +1,11 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
2
4
  /**
3
5
  * Provides an IP address pool resource for IPAM.
4
6
  *
7
+ * > **NOTE:** When provisioning resource planning IPAM pools, it can take upto 30 minutes for the CIDR to be managed by IPAM.
8
+ *
5
9
  * ## Example Usage
6
10
  *
7
11
  * Basic usage:
@@ -51,6 +55,44 @@ import * as pulumi from "@pulumi/pulumi";
51
55
  * });
52
56
  * ```
53
57
  *
58
+ * Resource Planning Pools:
59
+ *
60
+ * ```typescript
61
+ * import * as pulumi from "@pulumi/pulumi";
62
+ * import * as aws from "@pulumi/aws";
63
+ *
64
+ * const current = aws.getRegion({});
65
+ * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{
66
+ * regionName: current.then(current => current.region),
67
+ * }]});
68
+ * const test = new aws.ec2.VpcIpamPool("test", {
69
+ * addressFamily: "ipv4",
70
+ * ipamScopeId: example.privateDefaultScopeId,
71
+ * });
72
+ * const testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("test", {
73
+ * ipamPoolId: parent.id,
74
+ * cidr: "10.0.0.0/16",
75
+ * });
76
+ * const testVpc = new aws.ec2.Vpc("test", {
77
+ * ipv4IpamPoolId: test.id,
78
+ * ipv4NetmaskLength: 24,
79
+ * }, {
80
+ * dependsOn: [testVpcIpamPoolCidr],
81
+ * });
82
+ * const vpc = new aws.ec2.VpcIpamPool("vpc", {
83
+ * addressFamily: "ipv4",
84
+ * ipamScopeId: testAwsVpcIpam.privateDefaultScopeId,
85
+ * locale: current.then(current => current.name),
86
+ * sourceIpamPoolId: test.id,
87
+ * sourceResource: {
88
+ * resourceId: testVpc.id,
89
+ * resourceOwner: currentAwsCallerIdentity.accountId,
90
+ * resourceRegion: current.then(current => current.name),
91
+ * resourceType: "vpc",
92
+ * },
93
+ * });
94
+ * ```
95
+ *
54
96
  * ## Import
55
97
  *
56
98
  * Using `pulumi import`, import IPAMs using the IPAM pool `id`. For example:
@@ -144,6 +186,10 @@ export declare class VpcIpamPool extends pulumi.CustomResource {
144
186
  * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
145
187
  */
146
188
  readonly sourceIpamPoolId: pulumi.Output<string | undefined>;
189
+ /**
190
+ * Resource to use to use to configure a resource planning IPAM Pool. If configured, the `locale` of the parent pool must match the region that the vpc resides in.
191
+ */
192
+ readonly sourceResource: pulumi.Output<outputs.ec2.VpcIpamPoolSourceResource | undefined>;
147
193
  /**
148
194
  * The ID of the IPAM
149
195
  */
@@ -242,6 +288,10 @@ export interface VpcIpamPoolState {
242
288
  * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
243
289
  */
244
290
  sourceIpamPoolId?: pulumi.Input<string>;
291
+ /**
292
+ * Resource to use to use to configure a resource planning IPAM Pool. If configured, the `locale` of the parent pool must match the region that the vpc resides in.
293
+ */
294
+ sourceResource?: pulumi.Input<inputs.ec2.VpcIpamPoolSourceResource>;
245
295
  /**
246
296
  * The ID of the IPAM
247
297
  */
@@ -326,6 +376,10 @@ export interface VpcIpamPoolArgs {
326
376
  * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
327
377
  */
328
378
  sourceIpamPoolId?: pulumi.Input<string>;
379
+ /**
380
+ * Resource to use to use to configure a resource planning IPAM Pool. If configured, the `locale` of the parent pool must match the region that the vpc resides in.
381
+ */
382
+ sourceResource?: pulumi.Input<inputs.ec2.VpcIpamPoolSourceResource>;
329
383
  /**
330
384
  * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
331
385
  */
@@ -8,6 +8,8 @@ const utilities = require("../utilities");
8
8
  /**
9
9
  * Provides an IP address pool resource for IPAM.
10
10
  *
11
+ * > **NOTE:** When provisioning resource planning IPAM pools, it can take upto 30 minutes for the CIDR to be managed by IPAM.
12
+ *
11
13
  * ## Example Usage
12
14
  *
13
15
  * Basic usage:
@@ -57,6 +59,44 @@ const utilities = require("../utilities");
57
59
  * });
58
60
  * ```
59
61
  *
62
+ * Resource Planning Pools:
63
+ *
64
+ * ```typescript
65
+ * import * as pulumi from "@pulumi/pulumi";
66
+ * import * as aws from "@pulumi/aws";
67
+ *
68
+ * const current = aws.getRegion({});
69
+ * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{
70
+ * regionName: current.then(current => current.region),
71
+ * }]});
72
+ * const test = new aws.ec2.VpcIpamPool("test", {
73
+ * addressFamily: "ipv4",
74
+ * ipamScopeId: example.privateDefaultScopeId,
75
+ * });
76
+ * const testVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("test", {
77
+ * ipamPoolId: parent.id,
78
+ * cidr: "10.0.0.0/16",
79
+ * });
80
+ * const testVpc = new aws.ec2.Vpc("test", {
81
+ * ipv4IpamPoolId: test.id,
82
+ * ipv4NetmaskLength: 24,
83
+ * }, {
84
+ * dependsOn: [testVpcIpamPoolCidr],
85
+ * });
86
+ * const vpc = new aws.ec2.VpcIpamPool("vpc", {
87
+ * addressFamily: "ipv4",
88
+ * ipamScopeId: testAwsVpcIpam.privateDefaultScopeId,
89
+ * locale: current.then(current => current.name),
90
+ * sourceIpamPoolId: test.id,
91
+ * sourceResource: {
92
+ * resourceId: testVpc.id,
93
+ * resourceOwner: currentAwsCallerIdentity.accountId,
94
+ * resourceRegion: current.then(current => current.name),
95
+ * resourceType: "vpc",
96
+ * },
97
+ * });
98
+ * ```
99
+ *
60
100
  * ## Import
61
101
  *
62
102
  * Using `pulumi import`, import IPAMs using the IPAM pool `id`. For example:
@@ -111,6 +151,7 @@ class VpcIpamPool extends pulumi.CustomResource {
111
151
  resourceInputs["publiclyAdvertisable"] = state?.publiclyAdvertisable;
112
152
  resourceInputs["region"] = state?.region;
113
153
  resourceInputs["sourceIpamPoolId"] = state?.sourceIpamPoolId;
154
+ resourceInputs["sourceResource"] = state?.sourceResource;
114
155
  resourceInputs["state"] = state?.state;
115
156
  resourceInputs["tags"] = state?.tags;
116
157
  resourceInputs["tagsAll"] = state?.tagsAll;
@@ -138,6 +179,7 @@ class VpcIpamPool extends pulumi.CustomResource {
138
179
  resourceInputs["publiclyAdvertisable"] = args?.publiclyAdvertisable;
139
180
  resourceInputs["region"] = args?.region;
140
181
  resourceInputs["sourceIpamPoolId"] = args?.sourceIpamPoolId;
182
+ resourceInputs["sourceResource"] = args?.sourceResource;
141
183
  resourceInputs["tags"] = args?.tags;
142
184
  resourceInputs["arn"] = undefined /*out*/;
143
185
  resourceInputs["ipamScopeType"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"vpcIpamPool.js","sourceRoot":"","sources":["../../ec2/vpcIpamPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vpcIpamPool.js","sourceRoot":"","sources":["../../ec2/vpcIpamPool.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export declare class VpcIpamResourceDiscovery extends pulumi.CustomResource {
68
68
  * Determines which regions the Resource Discovery will enable IPAM features for usage and monitoring. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM Resource Discovery. You can only create VPCs from a pool whose locale matches the VPC's Region. You specify a region using the regionName parameter. **You must set your provider block region as an operating_region.**
69
69
  */
70
70
  readonly operatingRegions: pulumi.Output<outputs.ec2.VpcIpamResourceDiscoveryOperatingRegion[]>;
71
+ /**
72
+ * Add an Organizational Unit (OU) exclusion to IPAM. If IPAM is integrated with AWS Organizations and OU exclusion is added, IPAM will not manage the IP addresses in accounts in the OU exclusion. Refer to [IPAM Quotas](https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) for the limit of exclusions that can be created.
73
+ */
74
+ readonly organizationalUnitExclusions: pulumi.Output<outputs.ec2.VpcIpamResourceDiscoveryOrganizationalUnitExclusion[] | undefined>;
71
75
  /**
72
76
  * The account ID for the account that manages the Resource Discovery
73
77
  */
@@ -121,6 +125,10 @@ export interface VpcIpamResourceDiscoveryState {
121
125
  * Determines which regions the Resource Discovery will enable IPAM features for usage and monitoring. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM Resource Discovery. You can only create VPCs from a pool whose locale matches the VPC's Region. You specify a region using the regionName parameter. **You must set your provider block region as an operating_region.**
122
126
  */
123
127
  operatingRegions?: pulumi.Input<pulumi.Input<inputs.ec2.VpcIpamResourceDiscoveryOperatingRegion>[]>;
128
+ /**
129
+ * Add an Organizational Unit (OU) exclusion to IPAM. If IPAM is integrated with AWS Organizations and OU exclusion is added, IPAM will not manage the IP addresses in accounts in the OU exclusion. Refer to [IPAM Quotas](https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) for the limit of exclusions that can be created.
130
+ */
131
+ organizationalUnitExclusions?: pulumi.Input<pulumi.Input<inputs.ec2.VpcIpamResourceDiscoveryOrganizationalUnitExclusion>[]>;
124
132
  /**
125
133
  * The account ID for the account that manages the Resource Discovery
126
134
  */
@@ -154,6 +162,10 @@ export interface VpcIpamResourceDiscoveryArgs {
154
162
  * Determines which regions the Resource Discovery will enable IPAM features for usage and monitoring. Locale is the Region where you want to make an IPAM pool available for allocations. You can only create pools with locales that match the operating Regions of the IPAM Resource Discovery. You can only create VPCs from a pool whose locale matches the VPC's Region. You specify a region using the regionName parameter. **You must set your provider block region as an operating_region.**
155
163
  */
156
164
  operatingRegions: pulumi.Input<pulumi.Input<inputs.ec2.VpcIpamResourceDiscoveryOperatingRegion>[]>;
165
+ /**
166
+ * Add an Organizational Unit (OU) exclusion to IPAM. If IPAM is integrated with AWS Organizations and OU exclusion is added, IPAM will not manage the IP addresses in accounts in the OU exclusion. Refer to [IPAM Quotas](https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html) for the limit of exclusions that can be created.
167
+ */
168
+ organizationalUnitExclusions?: pulumi.Input<pulumi.Input<inputs.ec2.VpcIpamResourceDiscoveryOrganizationalUnitExclusion>[]>;
157
169
  /**
158
170
  * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
159
171
  */
@@ -69,6 +69,7 @@ class VpcIpamResourceDiscovery extends pulumi.CustomResource {
69
69
  resourceInputs["ipamResourceDiscoveryRegion"] = state?.ipamResourceDiscoveryRegion;
70
70
  resourceInputs["isDefault"] = state?.isDefault;
71
71
  resourceInputs["operatingRegions"] = state?.operatingRegions;
72
+ resourceInputs["organizationalUnitExclusions"] = state?.organizationalUnitExclusions;
72
73
  resourceInputs["ownerId"] = state?.ownerId;
73
74
  resourceInputs["region"] = state?.region;
74
75
  resourceInputs["tags"] = state?.tags;
@@ -81,6 +82,7 @@ class VpcIpamResourceDiscovery extends pulumi.CustomResource {
81
82
  }
82
83
  resourceInputs["description"] = args?.description;
83
84
  resourceInputs["operatingRegions"] = args?.operatingRegions;
85
+ resourceInputs["organizationalUnitExclusions"] = args?.organizationalUnitExclusions;
84
86
  resourceInputs["region"] = args?.region;
85
87
  resourceInputs["tags"] = args?.tags;
86
88
  resourceInputs["arn"] = undefined /*out*/;
@@ -1 +1 @@
1
- {"version":3,"file":"vpcIpamResourceDiscovery.js","sourceRoot":"","sources":["../../ec2/vpcIpamResourceDiscovery.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAa,wBAAyB,SAAQ,MAAM,CAAC,cAAc;IAC/D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqC,EAAE,IAAmC;QACnI,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,wBAAwB,CAAC,YAAY,CAAC;IACzE,CAAC;IA+CD,YAAY,IAAY,EAAE,WAA0E,EAAE,IAAmC;QACrI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwD,CAAC;YACvE,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,6BAA6B,CAAC,GAAG,KAAK,EAAE,2BAA2B,CAAC;YACnF,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAuD,CAAC;YACrE,IAAI,IAAI,EAAE,gBAAgB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACnE;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,6BAA6B,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;;AAxGL,4DAyGC;AA3FG,gBAAgB;AACO,qCAAY,GAAG,2DAA2D,CAAC"}
1
+ {"version":3,"file":"vpcIpamResourceDiscovery.js","sourceRoot":"","sources":["../../ec2/vpcIpamResourceDiscovery.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAa,wBAAyB,SAAQ,MAAM,CAAC,cAAc;IAC/D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqC,EAAE,IAAmC;QACnI,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,wBAAwB,CAAC,YAAY,CAAC;IACzE,CAAC;IAmDD,YAAY,IAAY,EAAE,WAA0E,EAAE,IAAmC;QACrI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwD,CAAC;YACvE,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,6BAA6B,CAAC,GAAG,KAAK,EAAE,2BAA2B,CAAC;YACnF,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,8BAA8B,CAAC,GAAG,KAAK,EAAE,4BAA4B,CAAC;YACrF,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAuD,CAAC;YACrE,IAAI,IAAI,EAAE,gBAAgB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACnE;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,8BAA8B,CAAC,GAAG,IAAI,EAAE,4BAA4B,CAAC;YACpF,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,6BAA6B,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;;AA9GL,4DA+GC;AAjGG,gBAAgB;AACO,qCAAY,GAAG,2DAA2D,CAAC"}
@@ -0,0 +1,93 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## Import
4
+ *
5
+ * Using `pulumi import`, import exclusive management of security group rules using the `security_group_id`. For example:
6
+ *
7
+ * ```sh
8
+ * $ pulumi import aws:ec2/vpcSecurityGroupRulesExclusive:VpcSecurityGroupRulesExclusive example sg-1234567890abcdef0
9
+ * ```
10
+ */
11
+ export declare class VpcSecurityGroupRulesExclusive extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing VpcSecurityGroupRulesExclusive resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param state Any extra arguments used during the lookup.
19
+ * @param opts Optional settings to control the behavior of the CustomResource.
20
+ */
21
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcSecurityGroupRulesExclusiveState, opts?: pulumi.CustomResourceOptions): VpcSecurityGroupRulesExclusive;
22
+ /**
23
+ * Returns true if the given object is an instance of VpcSecurityGroupRulesExclusive. This is designed to work even
24
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
25
+ */
26
+ static isInstance(obj: any): obj is VpcSecurityGroupRulesExclusive;
27
+ /**
28
+ * Egress rule IDs.
29
+ */
30
+ readonly egressRuleIds: pulumi.Output<string[]>;
31
+ /**
32
+ * Ingress rule IDs.
33
+ */
34
+ readonly ingressRuleIds: pulumi.Output<string[]>;
35
+ /**
36
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
37
+ */
38
+ readonly region: pulumi.Output<string>;
39
+ /**
40
+ * ID of the security group.
41
+ */
42
+ readonly securityGroupId: pulumi.Output<string>;
43
+ /**
44
+ * Create a VpcSecurityGroupRulesExclusive resource with the given unique name, arguments, and options.
45
+ *
46
+ * @param name The _unique_ name of the resource.
47
+ * @param args The arguments to use to populate this resource's properties.
48
+ * @param opts A bag of options that control this resource's behavior.
49
+ */
50
+ constructor(name: string, args: VpcSecurityGroupRulesExclusiveArgs, opts?: pulumi.CustomResourceOptions);
51
+ }
52
+ /**
53
+ * Input properties used for looking up and filtering VpcSecurityGroupRulesExclusive resources.
54
+ */
55
+ export interface VpcSecurityGroupRulesExclusiveState {
56
+ /**
57
+ * Egress rule IDs.
58
+ */
59
+ egressRuleIds?: pulumi.Input<pulumi.Input<string>[]>;
60
+ /**
61
+ * Ingress rule IDs.
62
+ */
63
+ ingressRuleIds?: pulumi.Input<pulumi.Input<string>[]>;
64
+ /**
65
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
66
+ */
67
+ region?: pulumi.Input<string>;
68
+ /**
69
+ * ID of the security group.
70
+ */
71
+ securityGroupId?: pulumi.Input<string>;
72
+ }
73
+ /**
74
+ * The set of arguments for constructing a VpcSecurityGroupRulesExclusive resource.
75
+ */
76
+ export interface VpcSecurityGroupRulesExclusiveArgs {
77
+ /**
78
+ * Egress rule IDs.
79
+ */
80
+ egressRuleIds: pulumi.Input<pulumi.Input<string>[]>;
81
+ /**
82
+ * Ingress rule IDs.
83
+ */
84
+ ingressRuleIds: pulumi.Input<pulumi.Input<string>[]>;
85
+ /**
86
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
87
+ */
88
+ region?: pulumi.Input<string>;
89
+ /**
90
+ * ID of the security group.
91
+ */
92
+ securityGroupId: pulumi.Input<string>;
93
+ }