@pulumi/aws 4.30.0 → 4.32.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 (169) hide show
  1. package/accessanalyzer/analyzer.d.ts +6 -0
  2. package/accessanalyzer/analyzer.js.map +1 -1
  3. package/account/alternativeContact.d.ts +12 -0
  4. package/account/alternativeContact.js +2 -0
  5. package/account/alternativeContact.js.map +1 -1
  6. package/alb/getTargetGroup.d.ts +1 -0
  7. package/alb/getTargetGroup.js.map +1 -1
  8. package/alb/loadBalancer.d.ts +2 -2
  9. package/alb/loadBalancer.js +2 -2
  10. package/alb/targetGroup.d.ts +12 -0
  11. package/alb/targetGroup.js +2 -0
  12. package/alb/targetGroup.js.map +1 -1
  13. package/applicationloadbalancing/getTargetGroup.d.ts +1 -0
  14. package/applicationloadbalancing/getTargetGroup.js.map +1 -1
  15. package/applicationloadbalancing/loadBalancer.d.ts +2 -2
  16. package/applicationloadbalancing/loadBalancer.js +2 -2
  17. package/applicationloadbalancing/targetGroup.d.ts +12 -0
  18. package/applicationloadbalancing/targetGroup.js +2 -0
  19. package/applicationloadbalancing/targetGroup.js.map +1 -1
  20. package/autoscaling/getAmiIds.d.ts +4 -4
  21. package/autoscaling/getAmiIds.js +4 -4
  22. package/backup/regionSettings.d.ts +25 -0
  23. package/backup/regionSettings.js +9 -0
  24. package/backup/regionSettings.js.map +1 -1
  25. package/cloudwatch/eventTarget.d.ts +4 -0
  26. package/cloudwatch/eventTarget.js +4 -0
  27. package/cloudwatch/eventTarget.js.map +1 -1
  28. package/codecommit/approvalRuleTemplate.d.ts +144 -0
  29. package/codecommit/approvalRuleTemplate.js +100 -0
  30. package/codecommit/approvalRuleTemplate.js.map +1 -0
  31. package/codecommit/approvalRuleTemplateAssociation.d.ts +83 -0
  32. package/codecommit/approvalRuleTemplateAssociation.js +82 -0
  33. package/codecommit/approvalRuleTemplateAssociation.js.map +1 -0
  34. package/codecommit/getApprovalRuleTemplate.d.ts +73 -0
  35. package/codecommit/getApprovalRuleTemplate.js +38 -0
  36. package/codecommit/getApprovalRuleTemplate.js.map +1 -0
  37. package/codecommit/index.d.ts +3 -0
  38. package/codecommit/index.js +11 -0
  39. package/codecommit/index.js.map +1 -1
  40. package/detective/graph.d.ts +103 -0
  41. package/detective/graph.js +81 -0
  42. package/detective/graph.js.map +1 -0
  43. package/detective/index.d.ts +1 -0
  44. package/detective/index.js +33 -0
  45. package/detective/index.js.map +1 -0
  46. package/dynamodb/getTable.d.ts +1 -0
  47. package/dynamodb/getTable.js.map +1 -1
  48. package/dynamodb/table.d.ts +12 -0
  49. package/dynamodb/table.js +2 -0
  50. package/dynamodb/table.js.map +1 -1
  51. package/ec2/defaultVpc.d.ts +16 -0
  52. package/ec2/defaultVpc.js +9 -1
  53. package/ec2/defaultVpc.js.map +1 -1
  54. package/ec2/getVpcIamPool.d.ts +151 -0
  55. package/ec2/getVpcIamPool.js +53 -0
  56. package/ec2/getVpcIamPool.js.map +1 -0
  57. package/ec2/index.d.ts +8 -0
  58. package/ec2/index.js +36 -0
  59. package/ec2/index.js.map +1 -1
  60. package/ec2/subnetCidrReservation.d.ts +116 -0
  61. package/ec2/subnetCidrReservation.js +92 -0
  62. package/ec2/subnetCidrReservation.js.map +1 -0
  63. package/ec2/vpc.d.ts +95 -25
  64. package/ec2/vpc.js +36 -4
  65. package/ec2/vpc.js.map +1 -1
  66. package/ec2/vpcIpam.d.ts +178 -0
  67. package/ec2/vpcIpam.js +121 -0
  68. package/ec2/vpcIpam.js.map +1 -0
  69. package/ec2/vpcIpamPool.d.ts +299 -0
  70. package/ec2/vpcIpamPool.js +151 -0
  71. package/ec2/vpcIpamPool.js.map +1 -0
  72. package/ec2/vpcIpamPoolCidr.d.ts +136 -0
  73. package/ec2/vpcIpamPoolCidr.js +121 -0
  74. package/ec2/vpcIpamPoolCidr.js.map +1 -0
  75. package/ec2/vpcIpamPoolCidrAllocation.d.ts +150 -0
  76. package/ec2/vpcIpamPoolCidrAllocation.js +108 -0
  77. package/ec2/vpcIpamPoolCidrAllocation.js.map +1 -0
  78. package/ec2/vpcIpamScope.d.ts +132 -0
  79. package/ec2/vpcIpamScope.js +99 -0
  80. package/ec2/vpcIpamScope.js.map +1 -0
  81. package/ec2/vpcIpv4CidrBlockAssociation.d.ts +28 -4
  82. package/ec2/vpcIpv4CidrBlockAssociation.js +4 -3
  83. package/ec2/vpcIpv4CidrBlockAssociation.js.map +1 -1
  84. package/ec2/vpcIpv6CidrBlockAssociation.d.ts +110 -0
  85. package/ec2/vpcIpv6CidrBlockAssociation.js +89 -0
  86. package/ec2/vpcIpv6CidrBlockAssociation.js.map +1 -0
  87. package/ecs/accountSettingDefault.d.ts +71 -0
  88. package/ecs/accountSettingDefault.js +67 -0
  89. package/ecs/accountSettingDefault.js.map +1 -0
  90. package/ecs/index.d.ts +2 -0
  91. package/ecs/index.js +10 -0
  92. package/ecs/index.js.map +1 -1
  93. package/ecs/taskDefinition.d.ts +58 -18
  94. package/ecs/taskDefinition.js +48 -18
  95. package/ecs/taskDefinition.js.map +1 -1
  96. package/ecs/taskSet.d.ts +264 -0
  97. package/ecs/taskSet.js +107 -0
  98. package/ecs/taskSet.js.map +1 -0
  99. package/elasticache/replicationGroup.d.ts +12 -0
  100. package/elasticache/replicationGroup.js +2 -0
  101. package/elasticache/replicationGroup.js.map +1 -1
  102. package/elasticloadbalancingv2/getTargetGroup.d.ts +1 -0
  103. package/elasticloadbalancingv2/getTargetGroup.js.map +1 -1
  104. package/elasticloadbalancingv2/loadBalancer.d.ts +2 -2
  105. package/elasticloadbalancingv2/loadBalancer.js +2 -2
  106. package/elasticloadbalancingv2/targetGroup.d.ts +12 -0
  107. package/elasticloadbalancingv2/targetGroup.js +2 -0
  108. package/elasticloadbalancingv2/targetGroup.js.map +1 -1
  109. package/elasticsearch/domain.d.ts +12 -0
  110. package/elasticsearch/domain.js +2 -0
  111. package/elasticsearch/domain.js.map +1 -1
  112. package/elasticsearch/getDomain.d.ts +4 -0
  113. package/elasticsearch/getDomain.js.map +1 -1
  114. package/emr/index.d.ts +2 -0
  115. package/emr/index.js +10 -0
  116. package/emr/index.js.map +1 -1
  117. package/emr/studio.d.ts +237 -0
  118. package/emr/studio.js +131 -0
  119. package/emr/studio.js.map +1 -0
  120. package/emr/studioSessionMapping.d.ts +121 -0
  121. package/emr/studioSessionMapping.js +93 -0
  122. package/emr/studioSessionMapping.js.map +1 -0
  123. package/fsx/ontapStorageVirtualMachine.d.ts +0 -6
  124. package/fsx/ontapStorageVirtualMachine.js +1 -1
  125. package/fsx/ontapStorageVirtualMachine.js.map +1 -1
  126. package/fsx/ontapVolume.d.ts +0 -6
  127. package/fsx/ontapVolume.js +1 -1
  128. package/fsx/ontapVolume.js.map +1 -1
  129. package/getAutoscalingGroups.d.ts +4 -4
  130. package/getAutoscalingGroups.js +4 -4
  131. package/iam/role.d.ts +6 -6
  132. package/index.d.ts +2 -1
  133. package/index.js +5 -3
  134. package/index.js.map +1 -1
  135. package/iot/thingGroup.d.ts +0 -3
  136. package/iot/thingGroup.js +1 -1
  137. package/iot/thingGroup.js.map +1 -1
  138. package/iot/thingType.d.ts +0 -6
  139. package/iot/thingType.js +1 -1
  140. package/iot/thingType.js.map +1 -1
  141. package/kinesis/getStream.d.ts +5 -0
  142. package/kinesis/getStream.js.map +1 -1
  143. package/kinesis/stream.d.ts +22 -6
  144. package/kinesis/stream.js +5 -3
  145. package/kinesis/stream.js.map +1 -1
  146. package/lambda/eventSourceMapping.d.ts +40 -0
  147. package/lambda/eventSourceMapping.js +30 -0
  148. package/lambda/eventSourceMapping.js.map +1 -1
  149. package/lb/getTargetGroup.d.ts +1 -0
  150. package/lb/getTargetGroup.js.map +1 -1
  151. package/lb/loadBalancer.d.ts +2 -2
  152. package/lb/loadBalancer.js +2 -2
  153. package/lb/targetGroup.d.ts +12 -0
  154. package/lb/targetGroup.js +2 -0
  155. package/lb/targetGroup.js.map +1 -1
  156. package/package.json +2 -2
  157. package/package.json.dev +1 -1
  158. package/servicequotas/getServiceQuota.d.ts +6 -6
  159. package/sqs/queue.d.ts +25 -0
  160. package/sqs/queue.js +15 -0
  161. package/sqs/queue.js.map +1 -1
  162. package/synthetics/canary.d.ts +15 -3
  163. package/synthetics/canary.js +2 -0
  164. package/synthetics/canary.js.map +1 -1
  165. package/transfer/server.d.ts +26 -3
  166. package/transfer/server.js +13 -0
  167. package/transfer/server.js.map +1 -1
  168. package/types/input.d.ts +298 -118
  169. package/types/output.d.ts +223 -3
@@ -0,0 +1,299 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides an IP address pool resource for IPAM.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * Basic usage:
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as aws from "@pulumi/aws";
12
+ *
13
+ * const current = aws.getRegion({});
14
+ * const exampleVpcIpam = new aws.ec2.VpcIpam("exampleVpcIpam", {operatingRegions: [{
15
+ * regionName: current.then(current => current.name),
16
+ * }]});
17
+ * const exampleVpcIpamPool = new aws.ec2.VpcIpamPool("exampleVpcIpamPool", {
18
+ * addressFamily: "ipv4",
19
+ * ipamScopeId: exampleVpcIpam.privateDefaultScopeId,
20
+ * locale: current.then(current => current.name),
21
+ * });
22
+ * ```
23
+ *
24
+ * Nested Pools:
25
+ *
26
+ * ```typescript
27
+ * import * as pulumi from "@pulumi/pulumi";
28
+ * import * as aws from "@pulumi/aws";
29
+ *
30
+ * const current = aws.getRegion({});
31
+ * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{
32
+ * regionName: current.then(current => current.name),
33
+ * }]});
34
+ * const parent = new aws.ec2.VpcIpamPool("parent", {
35
+ * addressFamily: "ipv4",
36
+ * ipamScopeId: example.privateDefaultScopeId,
37
+ * });
38
+ * const parentTest = new aws.ec2.VpcIpamPoolCidr("parentTest", {
39
+ * ipamPoolId: parent.id,
40
+ * cidr: "172.2.0.0/16",
41
+ * });
42
+ * const child = new aws.ec2.VpcIpamPool("child", {
43
+ * addressFamily: "ipv4",
44
+ * ipamScopeId: example.privateDefaultScopeId,
45
+ * locale: current.then(current => current.name),
46
+ * sourceIpamPoolId: parent.id,
47
+ * });
48
+ * const childTest = new aws.ec2.VpcIpamPoolCidr("childTest", {
49
+ * ipamPoolId: child.id,
50
+ * cidr: "172.2.0.0/24",
51
+ * });
52
+ * ```
53
+ *
54
+ * ## Import
55
+ *
56
+ * IPAMs can be imported using the `ipam pool id`, e.g.
57
+ *
58
+ * ```sh
59
+ * $ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e
60
+ * ```
61
+ */
62
+ export declare class VpcIpamPool extends pulumi.CustomResource {
63
+ /**
64
+ * Get an existing VpcIpamPool resource's state with the given name, ID, and optional extra
65
+ * properties used to qualify the lookup.
66
+ *
67
+ * @param name The _unique_ name of the resulting resource.
68
+ * @param id The _unique_ provider ID of the resource to lookup.
69
+ * @param state Any extra arguments used during the lookup.
70
+ * @param opts Optional settings to control the behavior of the CustomResource.
71
+ */
72
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcIpamPoolState, opts?: pulumi.CustomResourceOptions): VpcIpamPool;
73
+ /**
74
+ * Returns true if the given object is an instance of VpcIpamPool. This is designed to work even
75
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
76
+ */
77
+ static isInstance(obj: any): obj is VpcIpamPool;
78
+ /**
79
+ * The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
80
+ */
81
+ readonly addressFamily: pulumi.Output<string>;
82
+ /**
83
+ * A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16 (unless you provide a different netmask value when you create the new allocation).
84
+ */
85
+ readonly allocationDefaultNetmaskLength: pulumi.Output<number | undefined>;
86
+ /**
87
+ * The maximum netmask length that will be required for CIDR allocations in this pool.
88
+ */
89
+ readonly allocationMaxNetmaskLength: pulumi.Output<number | undefined>;
90
+ /**
91
+ * The minimum netmask length that will be required for CIDR allocations in this pool.
92
+ */
93
+ readonly allocationMinNetmaskLength: pulumi.Output<number | undefined>;
94
+ /**
95
+ * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.
96
+ */
97
+ readonly allocationResourceTags: pulumi.Output<{
98
+ [key: string]: string;
99
+ } | undefined>;
100
+ /**
101
+ * Amazon Resource Name (ARN) of IPAM
102
+ */
103
+ readonly arn: pulumi.Output<string>;
104
+ /**
105
+ * If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
106
+ * within the CIDR range in the pool.
107
+ */
108
+ readonly autoImport: pulumi.Output<boolean | undefined>;
109
+ /**
110
+ * Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
111
+ */
112
+ readonly awsService: pulumi.Output<string | undefined>;
113
+ /**
114
+ * A description for the IPAM pool.
115
+ */
116
+ readonly description: pulumi.Output<string | undefined>;
117
+ /**
118
+ * The ID of the scope in which you would like to create the IPAM pool.
119
+ */
120
+ readonly ipamScopeId: pulumi.Output<string>;
121
+ readonly ipamScopeType: pulumi.Output<string>;
122
+ /**
123
+ * The locale in which you would like to create the IPAM pool. 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. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
124
+ */
125
+ readonly locale: pulumi.Output<string | undefined>;
126
+ readonly poolDepth: pulumi.Output<number>;
127
+ /**
128
+ * Defines whether or not IPv6 pool space is publicly advertisable over the internet. This option is not available for IPv4 pool space.
129
+ */
130
+ readonly publiclyAdvertisable: pulumi.Output<boolean | undefined>;
131
+ /**
132
+ * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
133
+ */
134
+ readonly sourceIpamPoolId: pulumi.Output<string | undefined>;
135
+ /**
136
+ * The ID of the IPAM
137
+ */
138
+ readonly state: pulumi.Output<string>;
139
+ /**
140
+ * A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.
141
+ */
142
+ readonly tags: pulumi.Output<{
143
+ [key: string]: string;
144
+ } | undefined>;
145
+ /**
146
+ * A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
147
+ */
148
+ readonly tagsAll: pulumi.Output<{
149
+ [key: string]: string;
150
+ }>;
151
+ /**
152
+ * Create a VpcIpamPool resource with the given unique name, arguments, and options.
153
+ *
154
+ * @param name The _unique_ name of the resource.
155
+ * @param args The arguments to use to populate this resource's properties.
156
+ * @param opts A bag of options that control this resource's behavior.
157
+ */
158
+ constructor(name: string, args: VpcIpamPoolArgs, opts?: pulumi.CustomResourceOptions);
159
+ }
160
+ /**
161
+ * Input properties used for looking up and filtering VpcIpamPool resources.
162
+ */
163
+ export interface VpcIpamPoolState {
164
+ /**
165
+ * The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
166
+ */
167
+ addressFamily?: pulumi.Input<string>;
168
+ /**
169
+ * A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16 (unless you provide a different netmask value when you create the new allocation).
170
+ */
171
+ allocationDefaultNetmaskLength?: pulumi.Input<number>;
172
+ /**
173
+ * The maximum netmask length that will be required for CIDR allocations in this pool.
174
+ */
175
+ allocationMaxNetmaskLength?: pulumi.Input<number>;
176
+ /**
177
+ * The minimum netmask length that will be required for CIDR allocations in this pool.
178
+ */
179
+ allocationMinNetmaskLength?: pulumi.Input<number>;
180
+ /**
181
+ * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.
182
+ */
183
+ allocationResourceTags?: pulumi.Input<{
184
+ [key: string]: pulumi.Input<string>;
185
+ }>;
186
+ /**
187
+ * Amazon Resource Name (ARN) of IPAM
188
+ */
189
+ arn?: pulumi.Input<string>;
190
+ /**
191
+ * If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
192
+ * within the CIDR range in the pool.
193
+ */
194
+ autoImport?: pulumi.Input<boolean>;
195
+ /**
196
+ * Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
197
+ */
198
+ awsService?: pulumi.Input<string>;
199
+ /**
200
+ * A description for the IPAM pool.
201
+ */
202
+ description?: pulumi.Input<string>;
203
+ /**
204
+ * The ID of the scope in which you would like to create the IPAM pool.
205
+ */
206
+ ipamScopeId?: pulumi.Input<string>;
207
+ ipamScopeType?: pulumi.Input<string>;
208
+ /**
209
+ * The locale in which you would like to create the IPAM pool. 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. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
210
+ */
211
+ locale?: pulumi.Input<string>;
212
+ poolDepth?: pulumi.Input<number>;
213
+ /**
214
+ * Defines whether or not IPv6 pool space is publicly advertisable over the internet. This option is not available for IPv4 pool space.
215
+ */
216
+ publiclyAdvertisable?: pulumi.Input<boolean>;
217
+ /**
218
+ * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
219
+ */
220
+ sourceIpamPoolId?: pulumi.Input<string>;
221
+ /**
222
+ * The ID of the IPAM
223
+ */
224
+ state?: pulumi.Input<string>;
225
+ /**
226
+ * A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.
227
+ */
228
+ tags?: pulumi.Input<{
229
+ [key: string]: pulumi.Input<string>;
230
+ }>;
231
+ /**
232
+ * A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
233
+ */
234
+ tagsAll?: pulumi.Input<{
235
+ [key: string]: pulumi.Input<string>;
236
+ }>;
237
+ }
238
+ /**
239
+ * The set of arguments for constructing a VpcIpamPool resource.
240
+ */
241
+ export interface VpcIpamPoolArgs {
242
+ /**
243
+ * The IP protocol assigned to this pool. You must choose either IPv4 or IPv6 protocol for a pool.
244
+ */
245
+ addressFamily: pulumi.Input<string>;
246
+ /**
247
+ * A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16 (unless you provide a different netmask value when you create the new allocation).
248
+ */
249
+ allocationDefaultNetmaskLength?: pulumi.Input<number>;
250
+ /**
251
+ * The maximum netmask length that will be required for CIDR allocations in this pool.
252
+ */
253
+ allocationMaxNetmaskLength?: pulumi.Input<number>;
254
+ /**
255
+ * The minimum netmask length that will be required for CIDR allocations in this pool.
256
+ */
257
+ allocationMinNetmaskLength?: pulumi.Input<number>;
258
+ /**
259
+ * Tags that are required for resources that use CIDRs from this IPAM pool. Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant.
260
+ */
261
+ allocationResourceTags?: pulumi.Input<{
262
+ [key: string]: pulumi.Input<string>;
263
+ }>;
264
+ /**
265
+ * If you include this argument, IPAM automatically imports any VPCs you have in your scope that fall
266
+ * within the CIDR range in the pool.
267
+ */
268
+ autoImport?: pulumi.Input<boolean>;
269
+ /**
270
+ * Limits which AWS service the pool can be used in. Only useable on public scopes. Valid Values: `ec2`.
271
+ */
272
+ awsService?: pulumi.Input<string>;
273
+ /**
274
+ * A description for the IPAM pool.
275
+ */
276
+ description?: pulumi.Input<string>;
277
+ /**
278
+ * The ID of the scope in which you would like to create the IPAM pool.
279
+ */
280
+ ipamScopeId: pulumi.Input<string>;
281
+ /**
282
+ * The locale in which you would like to create the IPAM pool. 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. You can only create VPCs from a pool whose locale matches the VPC's Region. Possible values: Any AWS region, such as `us-east-1`.
283
+ */
284
+ locale?: pulumi.Input<string>;
285
+ /**
286
+ * Defines whether or not IPv6 pool space is publicly advertisable over the internet. This option is not available for IPv4 pool space.
287
+ */
288
+ publiclyAdvertisable?: pulumi.Input<boolean>;
289
+ /**
290
+ * The ID of the source IPAM pool. Use this argument to create a child pool within an existing pool.
291
+ */
292
+ sourceIpamPoolId?: pulumi.Input<string>;
293
+ /**
294
+ * A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.
295
+ */
296
+ tags?: pulumi.Input<{
297
+ [key: string]: pulumi.Input<string>;
298
+ }>;
299
+ }
@@ -0,0 +1,151 @@
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.VpcIpamPool = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides an IP address pool resource for IPAM.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * Basic usage:
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as aws from "@pulumi/aws";
18
+ *
19
+ * const current = aws.getRegion({});
20
+ * const exampleVpcIpam = new aws.ec2.VpcIpam("exampleVpcIpam", {operatingRegions: [{
21
+ * regionName: current.then(current => current.name),
22
+ * }]});
23
+ * const exampleVpcIpamPool = new aws.ec2.VpcIpamPool("exampleVpcIpamPool", {
24
+ * addressFamily: "ipv4",
25
+ * ipamScopeId: exampleVpcIpam.privateDefaultScopeId,
26
+ * locale: current.then(current => current.name),
27
+ * });
28
+ * ```
29
+ *
30
+ * Nested Pools:
31
+ *
32
+ * ```typescript
33
+ * import * as pulumi from "@pulumi/pulumi";
34
+ * import * as aws from "@pulumi/aws";
35
+ *
36
+ * const current = aws.getRegion({});
37
+ * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{
38
+ * regionName: current.then(current => current.name),
39
+ * }]});
40
+ * const parent = new aws.ec2.VpcIpamPool("parent", {
41
+ * addressFamily: "ipv4",
42
+ * ipamScopeId: example.privateDefaultScopeId,
43
+ * });
44
+ * const parentTest = new aws.ec2.VpcIpamPoolCidr("parentTest", {
45
+ * ipamPoolId: parent.id,
46
+ * cidr: "172.2.0.0/16",
47
+ * });
48
+ * const child = new aws.ec2.VpcIpamPool("child", {
49
+ * addressFamily: "ipv4",
50
+ * ipamScopeId: example.privateDefaultScopeId,
51
+ * locale: current.then(current => current.name),
52
+ * sourceIpamPoolId: parent.id,
53
+ * });
54
+ * const childTest = new aws.ec2.VpcIpamPoolCidr("childTest", {
55
+ * ipamPoolId: child.id,
56
+ * cidr: "172.2.0.0/24",
57
+ * });
58
+ * ```
59
+ *
60
+ * ## Import
61
+ *
62
+ * IPAMs can be imported using the `ipam pool id`, e.g.
63
+ *
64
+ * ```sh
65
+ * $ pulumi import aws:ec2/vpcIpamPool:VpcIpamPool example ipam-pool-0958f95207d978e1e
66
+ * ```
67
+ */
68
+ class VpcIpamPool extends pulumi.CustomResource {
69
+ constructor(name, argsOrState, opts) {
70
+ let inputs = {};
71
+ opts = opts || {};
72
+ if (opts.id) {
73
+ const state = argsOrState;
74
+ inputs["addressFamily"] = state ? state.addressFamily : undefined;
75
+ inputs["allocationDefaultNetmaskLength"] = state ? state.allocationDefaultNetmaskLength : undefined;
76
+ inputs["allocationMaxNetmaskLength"] = state ? state.allocationMaxNetmaskLength : undefined;
77
+ inputs["allocationMinNetmaskLength"] = state ? state.allocationMinNetmaskLength : undefined;
78
+ inputs["allocationResourceTags"] = state ? state.allocationResourceTags : undefined;
79
+ inputs["arn"] = state ? state.arn : undefined;
80
+ inputs["autoImport"] = state ? state.autoImport : undefined;
81
+ inputs["awsService"] = state ? state.awsService : undefined;
82
+ inputs["description"] = state ? state.description : undefined;
83
+ inputs["ipamScopeId"] = state ? state.ipamScopeId : undefined;
84
+ inputs["ipamScopeType"] = state ? state.ipamScopeType : undefined;
85
+ inputs["locale"] = state ? state.locale : undefined;
86
+ inputs["poolDepth"] = state ? state.poolDepth : undefined;
87
+ inputs["publiclyAdvertisable"] = state ? state.publiclyAdvertisable : undefined;
88
+ inputs["sourceIpamPoolId"] = state ? state.sourceIpamPoolId : undefined;
89
+ inputs["state"] = state ? state.state : undefined;
90
+ inputs["tags"] = state ? state.tags : undefined;
91
+ inputs["tagsAll"] = state ? state.tagsAll : undefined;
92
+ }
93
+ else {
94
+ const args = argsOrState;
95
+ if ((!args || args.addressFamily === undefined) && !opts.urn) {
96
+ throw new Error("Missing required property 'addressFamily'");
97
+ }
98
+ if ((!args || args.ipamScopeId === undefined) && !opts.urn) {
99
+ throw new Error("Missing required property 'ipamScopeId'");
100
+ }
101
+ inputs["addressFamily"] = args ? args.addressFamily : undefined;
102
+ inputs["allocationDefaultNetmaskLength"] = args ? args.allocationDefaultNetmaskLength : undefined;
103
+ inputs["allocationMaxNetmaskLength"] = args ? args.allocationMaxNetmaskLength : undefined;
104
+ inputs["allocationMinNetmaskLength"] = args ? args.allocationMinNetmaskLength : undefined;
105
+ inputs["allocationResourceTags"] = args ? args.allocationResourceTags : undefined;
106
+ inputs["autoImport"] = args ? args.autoImport : undefined;
107
+ inputs["awsService"] = args ? args.awsService : undefined;
108
+ inputs["description"] = args ? args.description : undefined;
109
+ inputs["ipamScopeId"] = args ? args.ipamScopeId : undefined;
110
+ inputs["locale"] = args ? args.locale : undefined;
111
+ inputs["publiclyAdvertisable"] = args ? args.publiclyAdvertisable : undefined;
112
+ inputs["sourceIpamPoolId"] = args ? args.sourceIpamPoolId : undefined;
113
+ inputs["tags"] = args ? args.tags : undefined;
114
+ inputs["arn"] = undefined /*out*/;
115
+ inputs["ipamScopeType"] = undefined /*out*/;
116
+ inputs["poolDepth"] = undefined /*out*/;
117
+ inputs["state"] = undefined /*out*/;
118
+ inputs["tagsAll"] = undefined /*out*/;
119
+ }
120
+ if (!opts.version) {
121
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
122
+ }
123
+ super(VpcIpamPool.__pulumiType, name, inputs, opts);
124
+ }
125
+ /**
126
+ * Get an existing VpcIpamPool resource's state with the given name, ID, and optional extra
127
+ * properties used to qualify the lookup.
128
+ *
129
+ * @param name The _unique_ name of the resulting resource.
130
+ * @param id The _unique_ provider ID of the resource to lookup.
131
+ * @param state Any extra arguments used during the lookup.
132
+ * @param opts Optional settings to control the behavior of the CustomResource.
133
+ */
134
+ static get(name, id, state, opts) {
135
+ return new VpcIpamPool(name, state, Object.assign(Object.assign({}, opts), { id: id }));
136
+ }
137
+ /**
138
+ * Returns true if the given object is an instance of VpcIpamPool. This is designed to work even
139
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
140
+ */
141
+ static isInstance(obj) {
142
+ if (obj === undefined || obj === null) {
143
+ return false;
144
+ }
145
+ return obj['__pulumiType'] === VpcIpamPool.__pulumiType;
146
+ }
147
+ }
148
+ exports.VpcIpamPool = VpcIpamPool;
149
+ /** @internal */
150
+ VpcIpamPool.__pulumiType = 'aws:ec2/vpcIpamPool:VpcIpamPool';
151
+ //# sourceMappingURL=vpcIpamPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpcIpamPool.js","sourceRoot":"","sources":["../../ec2/vpcIpamPool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * Provisions a CIDR from an IPAM address pool.
5
+ *
6
+ * > **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidrAuthorizationContext` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publiclyAdvertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * Basic usage:
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as aws from "@pulumi/aws";
15
+ *
16
+ * const current = aws.getRegion({});
17
+ * const exampleVpcIpam = new aws.ec2.VpcIpam("exampleVpcIpam", {operatingRegions: [{
18
+ * regionName: current.then(current => current.name),
19
+ * }]});
20
+ * const exampleVpcIpamPool = new aws.ec2.VpcIpamPool("exampleVpcIpamPool", {
21
+ * addressFamily: "ipv4",
22
+ * ipamScopeId: exampleVpcIpam.privateDefaultScopeId,
23
+ * locale: current.then(current => current.name),
24
+ * });
25
+ * const exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("exampleVpcIpamPoolCidr", {
26
+ * ipamPoolId: exampleVpcIpamPool.id,
27
+ * cidr: "172.2.0.0/16",
28
+ * });
29
+ * ```
30
+ *
31
+ * Provision Public IPv6 Pool CIDRs:
32
+ *
33
+ * ```typescript
34
+ * import * as pulumi from "@pulumi/pulumi";
35
+ * import * as aws from "@pulumi/aws";
36
+ *
37
+ * const current = aws.getRegion({});
38
+ * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{
39
+ * regionName: current.then(current => current.name),
40
+ * }]});
41
+ * const ipv6TestPublicVpcIpamPool = new aws.ec2.VpcIpamPool("ipv6TestPublicVpcIpamPool", {
42
+ * addressFamily: "ipv6",
43
+ * ipamScopeId: example.publicDefaultScopeId,
44
+ * locale: "us-east-1",
45
+ * description: "public ipv6",
46
+ * advertisable: false,
47
+ * });
48
+ * const ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", {
49
+ * ipamPoolId: ipv6TestPublicVpcIpamPool.id,
50
+ * cidr: _var.ipv6_cidr,
51
+ * cidrAuthorizationContext: {
52
+ * message: _var.message,
53
+ * signature: _var.signature,
54
+ * },
55
+ * });
56
+ * ```
57
+ *
58
+ * ## Import
59
+ *
60
+ * IPAMs can be imported using the `<cidr>_<ipam-pool-id>`, e.g.
61
+ *
62
+ * ```sh
63
+ * $ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.2.0.0/24_ipam-pool-0e634f5a1517cccdc
64
+ * ```
65
+ */
66
+ export declare class VpcIpamPoolCidr extends pulumi.CustomResource {
67
+ /**
68
+ * Get an existing VpcIpamPoolCidr resource's state with the given name, ID, and optional extra
69
+ * properties used to qualify the lookup.
70
+ *
71
+ * @param name The _unique_ name of the resulting resource.
72
+ * @param id The _unique_ provider ID of the resource to lookup.
73
+ * @param state Any extra arguments used during the lookup.
74
+ * @param opts Optional settings to control the behavior of the CustomResource.
75
+ */
76
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcIpamPoolCidrState, opts?: pulumi.CustomResourceOptions): VpcIpamPoolCidr;
77
+ /**
78
+ * Returns true if the given object is an instance of VpcIpamPoolCidr. This is designed to work even
79
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
80
+ */
81
+ static isInstance(obj: any): obj is VpcIpamPoolCidr;
82
+ /**
83
+ * The CIDR you want to assign to the pool.
84
+ */
85
+ readonly cidr: pulumi.Output<string>;
86
+ /**
87
+ * A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidrAuthorizationContext for more information.
88
+ */
89
+ readonly cidrAuthorizationContext: pulumi.Output<outputs.ec2.VpcIpamPoolCidrCidrAuthorizationContext | undefined>;
90
+ /**
91
+ * The ID of the pool to which you want to assign a CIDR.
92
+ */
93
+ readonly ipamPoolId: pulumi.Output<string>;
94
+ /**
95
+ * Create a VpcIpamPoolCidr resource with the given unique name, arguments, and options.
96
+ *
97
+ * @param name The _unique_ name of the resource.
98
+ * @param args The arguments to use to populate this resource's properties.
99
+ * @param opts A bag of options that control this resource's behavior.
100
+ */
101
+ constructor(name: string, args: VpcIpamPoolCidrArgs, opts?: pulumi.CustomResourceOptions);
102
+ }
103
+ /**
104
+ * Input properties used for looking up and filtering VpcIpamPoolCidr resources.
105
+ */
106
+ export interface VpcIpamPoolCidrState {
107
+ /**
108
+ * The CIDR you want to assign to the pool.
109
+ */
110
+ cidr?: pulumi.Input<string>;
111
+ /**
112
+ * A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidrAuthorizationContext for more information.
113
+ */
114
+ cidrAuthorizationContext?: pulumi.Input<inputs.ec2.VpcIpamPoolCidrCidrAuthorizationContext>;
115
+ /**
116
+ * The ID of the pool to which you want to assign a CIDR.
117
+ */
118
+ ipamPoolId?: pulumi.Input<string>;
119
+ }
120
+ /**
121
+ * The set of arguments for constructing a VpcIpamPoolCidr resource.
122
+ */
123
+ export interface VpcIpamPoolCidrArgs {
124
+ /**
125
+ * The CIDR you want to assign to the pool.
126
+ */
127
+ cidr?: pulumi.Input<string>;
128
+ /**
129
+ * A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidrAuthorizationContext for more information.
130
+ */
131
+ cidrAuthorizationContext?: pulumi.Input<inputs.ec2.VpcIpamPoolCidrCidrAuthorizationContext>;
132
+ /**
133
+ * The ID of the pool to which you want to assign a CIDR.
134
+ */
135
+ ipamPoolId: pulumi.Input<string>;
136
+ }