pulumi-cloudamqp 3.21.0a1743571485__py3-none-any.whl → 3.22.0__py3-none-any.whl

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.

Potentially problematic release.


This version of pulumi-cloudamqp might be problematic. Click here for more details.

Files changed (51) hide show
  1. pulumi_cloudamqp/__init__.py +12 -0
  2. pulumi_cloudamqp/_inputs.py +92 -72
  3. pulumi_cloudamqp/account_action.py +42 -31
  4. pulumi_cloudamqp/alarm.py +232 -168
  5. pulumi_cloudamqp/config/__init__.py +1 -0
  6. pulumi_cloudamqp/config/__init__.pyi +1 -0
  7. pulumi_cloudamqp/config/vars.py +1 -0
  8. pulumi_cloudamqp/custom_domain.py +84 -38
  9. pulumi_cloudamqp/extra_disk_size.py +175 -155
  10. pulumi_cloudamqp/get_account.py +10 -3
  11. pulumi_cloudamqp/get_account_vpcs.py +15 -41
  12. pulumi_cloudamqp/get_alarm.py +74 -67
  13. pulumi_cloudamqp/get_alarms.py +165 -0
  14. pulumi_cloudamqp/get_credentials.py +19 -26
  15. pulumi_cloudamqp/get_instance.py +75 -25
  16. pulumi_cloudamqp/get_nodes.py +10 -56
  17. pulumi_cloudamqp/get_notification.py +39 -41
  18. pulumi_cloudamqp/get_notifications.py +135 -0
  19. pulumi_cloudamqp/get_plugins.py +28 -54
  20. pulumi_cloudamqp/get_plugins_community.py +29 -52
  21. pulumi_cloudamqp/get_upgradable_versions.py +19 -24
  22. pulumi_cloudamqp/get_vpc_gcp_info.py +44 -138
  23. pulumi_cloudamqp/get_vpc_info.py +34 -127
  24. pulumi_cloudamqp/instance.py +560 -333
  25. pulumi_cloudamqp/integration_aws_eventbridge.py +185 -117
  26. pulumi_cloudamqp/integration_log.py +491 -402
  27. pulumi_cloudamqp/integration_metric.py +348 -296
  28. pulumi_cloudamqp/maintenance_window.py +519 -0
  29. pulumi_cloudamqp/node_actions.py +85 -59
  30. pulumi_cloudamqp/notification.py +177 -92
  31. pulumi_cloudamqp/outputs.py +419 -125
  32. pulumi_cloudamqp/plugin.py +173 -105
  33. pulumi_cloudamqp/plugin_community.py +171 -107
  34. pulumi_cloudamqp/privatelink_aws.py +143 -347
  35. pulumi_cloudamqp/privatelink_azure.py +145 -345
  36. pulumi_cloudamqp/provider.py +25 -21
  37. pulumi_cloudamqp/pulumi-plugin.json +1 -1
  38. pulumi_cloudamqp/rabbit_configuration.py +337 -210
  39. pulumi_cloudamqp/security_firewall.py +114 -57
  40. pulumi_cloudamqp/upgrade_lavinmq.py +32 -102
  41. pulumi_cloudamqp/upgrade_rabbitmq.py +56 -299
  42. pulumi_cloudamqp/vpc.py +115 -79
  43. pulumi_cloudamqp/vpc_connect.py +222 -606
  44. pulumi_cloudamqp/vpc_gcp_peering.py +230 -591
  45. pulumi_cloudamqp/vpc_peering.py +123 -105
  46. pulumi_cloudamqp/webhook.py +146 -103
  47. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0.dist-info}/METADATA +1 -1
  48. pulumi_cloudamqp-3.22.0.dist-info/RECORD +52 -0
  49. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0.dist-info}/WHEEL +1 -1
  50. pulumi_cloudamqp-3.21.0a1743571485.dist-info/RECORD +0 -49
  51. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0.dist-info}/top_level.txt +0 -0
@@ -2,6 +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
 
5
+ import builtins
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -19,18 +20,22 @@ __all__ = ['PrivatelinkAwsArgs', 'PrivatelinkAws']
19
20
  @pulumi.input_type
20
21
  class PrivatelinkAwsArgs:
21
22
  def __init__(__self__, *,
22
- allowed_principals: pulumi.Input[Sequence[pulumi.Input[str]]],
23
- instance_id: pulumi.Input[int],
24
- sleep: Optional[pulumi.Input[int]] = None,
25
- timeout: Optional[pulumi.Input[int]] = None):
23
+ allowed_principals: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
24
+ instance_id: pulumi.Input[builtins.int],
25
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
26
+ timeout: Optional[pulumi.Input[builtins.int]] = None):
26
27
  """
27
28
  The set of arguments for constructing a PrivatelinkAws resource.
28
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: Allowed principals to access the endpoint service.
29
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
30
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
31
- Default set to 10 seconds. *Available from v1.29.0*
32
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
33
- Default set to 1800 seconds. *Available from v1.29.0*
29
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: Allowed principals to access the endpoint service.
30
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
31
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
32
+ Default set to 10 seconds.
33
+
34
+ ***Note:*** Available from [v1.29.0]
35
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
36
+ Default set to 1800 seconds.
37
+
38
+ ***Note:*** Available from [v1.29.0]
34
39
 
35
40
  Allowed principals format: <br>
36
41
  `arn:aws:iam::aws-account-id:root` <br>
@@ -46,47 +51,51 @@ class PrivatelinkAwsArgs:
46
51
 
47
52
  @property
48
53
  @pulumi.getter(name="allowedPrincipals")
49
- def allowed_principals(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
54
+ def allowed_principals(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
50
55
  """
51
56
  Allowed principals to access the endpoint service.
52
57
  """
53
58
  return pulumi.get(self, "allowed_principals")
54
59
 
55
60
  @allowed_principals.setter
56
- def allowed_principals(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
61
+ def allowed_principals(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
57
62
  pulumi.set(self, "allowed_principals", value)
58
63
 
59
64
  @property
60
65
  @pulumi.getter(name="instanceId")
61
- def instance_id(self) -> pulumi.Input[int]:
66
+ def instance_id(self) -> pulumi.Input[builtins.int]:
62
67
  """
63
68
  The CloudAMQP instance identifier.
64
69
  """
65
70
  return pulumi.get(self, "instance_id")
66
71
 
67
72
  @instance_id.setter
68
- def instance_id(self, value: pulumi.Input[int]):
73
+ def instance_id(self, value: pulumi.Input[builtins.int]):
69
74
  pulumi.set(self, "instance_id", value)
70
75
 
71
76
  @property
72
77
  @pulumi.getter
73
- def sleep(self) -> Optional[pulumi.Input[int]]:
78
+ def sleep(self) -> Optional[pulumi.Input[builtins.int]]:
74
79
  """
75
80
  Configurable sleep time (seconds) when enable PrivateLink.
76
- Default set to 10 seconds. *Available from v1.29.0*
81
+ Default set to 10 seconds.
82
+
83
+ ***Note:*** Available from [v1.29.0]
77
84
  """
78
85
  return pulumi.get(self, "sleep")
79
86
 
80
87
  @sleep.setter
81
- def sleep(self, value: Optional[pulumi.Input[int]]):
88
+ def sleep(self, value: Optional[pulumi.Input[builtins.int]]):
82
89
  pulumi.set(self, "sleep", value)
83
90
 
84
91
  @property
85
92
  @pulumi.getter
86
- def timeout(self) -> Optional[pulumi.Input[int]]:
93
+ def timeout(self) -> Optional[pulumi.Input[builtins.int]]:
87
94
  """
88
95
  Configurable timeout time (seconds) when enable PrivateLink.
89
- Default set to 1800 seconds. *Available from v1.29.0*
96
+ Default set to 1800 seconds.
97
+
98
+ ***Note:*** Available from [v1.29.0]
90
99
 
91
100
  Allowed principals format: <br>
92
101
  `arn:aws:iam::aws-account-id:root` <br>
@@ -96,31 +105,35 @@ class PrivatelinkAwsArgs:
96
105
  return pulumi.get(self, "timeout")
97
106
 
98
107
  @timeout.setter
99
- def timeout(self, value: Optional[pulumi.Input[int]]):
108
+ def timeout(self, value: Optional[pulumi.Input[builtins.int]]):
100
109
  pulumi.set(self, "timeout", value)
101
110
 
102
111
 
103
112
  @pulumi.input_type
104
113
  class _PrivatelinkAwsState:
105
114
  def __init__(__self__, *,
106
- active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
107
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
108
- instance_id: Optional[pulumi.Input[int]] = None,
109
- service_name: Optional[pulumi.Input[str]] = None,
110
- sleep: Optional[pulumi.Input[int]] = None,
111
- status: Optional[pulumi.Input[str]] = None,
112
- timeout: Optional[pulumi.Input[int]] = None):
115
+ active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
116
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
117
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
118
+ service_name: Optional[pulumi.Input[builtins.str]] = None,
119
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
120
+ status: Optional[pulumi.Input[builtins.str]] = None,
121
+ timeout: Optional[pulumi.Input[builtins.int]] = None):
113
122
  """
114
123
  Input properties used for looking up and filtering PrivatelinkAws resources.
115
- :param pulumi.Input[Sequence[pulumi.Input[str]]] active_zones: Covering availability zones used when creating an Endpoint from other VPC.
116
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: Allowed principals to access the endpoint service.
117
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
118
- :param pulumi.Input[str] service_name: Service name of the PrivateLink used when creating the endpoint from other VPC.
119
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
120
- Default set to 10 seconds. *Available from v1.29.0*
121
- :param pulumi.Input[str] status: PrivateLink status [enable, pending, disable]
122
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
123
- Default set to 1800 seconds. *Available from v1.29.0*
124
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] active_zones: Covering availability zones used when creating an Endpoint from other VPC.
125
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: Allowed principals to access the endpoint service.
126
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
127
+ :param pulumi.Input[builtins.str] service_name: Service name of the PrivateLink used when creating the endpoint from other VPC.
128
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
129
+ Default set to 10 seconds.
130
+
131
+ ***Note:*** Available from [v1.29.0]
132
+ :param pulumi.Input[builtins.str] status: PrivateLink status [enable, pending, disable]
133
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
134
+ Default set to 1800 seconds.
135
+
136
+ ***Note:*** Available from [v1.29.0]
124
137
 
125
138
  Allowed principals format: <br>
126
139
  `arn:aws:iam::aws-account-id:root` <br>
@@ -144,83 +157,87 @@ class _PrivatelinkAwsState:
144
157
 
145
158
  @property
146
159
  @pulumi.getter(name="activeZones")
147
- def active_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
160
+ def active_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
148
161
  """
149
162
  Covering availability zones used when creating an Endpoint from other VPC.
150
163
  """
151
164
  return pulumi.get(self, "active_zones")
152
165
 
153
166
  @active_zones.setter
154
- def active_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
167
+ def active_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
155
168
  pulumi.set(self, "active_zones", value)
156
169
 
157
170
  @property
158
171
  @pulumi.getter(name="allowedPrincipals")
159
- def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
172
+ def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
160
173
  """
161
174
  Allowed principals to access the endpoint service.
162
175
  """
163
176
  return pulumi.get(self, "allowed_principals")
164
177
 
165
178
  @allowed_principals.setter
166
- def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
179
+ def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
167
180
  pulumi.set(self, "allowed_principals", value)
168
181
 
169
182
  @property
170
183
  @pulumi.getter(name="instanceId")
171
- def instance_id(self) -> Optional[pulumi.Input[int]]:
184
+ def instance_id(self) -> Optional[pulumi.Input[builtins.int]]:
172
185
  """
173
186
  The CloudAMQP instance identifier.
174
187
  """
175
188
  return pulumi.get(self, "instance_id")
176
189
 
177
190
  @instance_id.setter
178
- def instance_id(self, value: Optional[pulumi.Input[int]]):
191
+ def instance_id(self, value: Optional[pulumi.Input[builtins.int]]):
179
192
  pulumi.set(self, "instance_id", value)
180
193
 
181
194
  @property
182
195
  @pulumi.getter(name="serviceName")
183
- def service_name(self) -> Optional[pulumi.Input[str]]:
196
+ def service_name(self) -> Optional[pulumi.Input[builtins.str]]:
184
197
  """
185
198
  Service name of the PrivateLink used when creating the endpoint from other VPC.
186
199
  """
187
200
  return pulumi.get(self, "service_name")
188
201
 
189
202
  @service_name.setter
190
- def service_name(self, value: Optional[pulumi.Input[str]]):
203
+ def service_name(self, value: Optional[pulumi.Input[builtins.str]]):
191
204
  pulumi.set(self, "service_name", value)
192
205
 
193
206
  @property
194
207
  @pulumi.getter
195
- def sleep(self) -> Optional[pulumi.Input[int]]:
208
+ def sleep(self) -> Optional[pulumi.Input[builtins.int]]:
196
209
  """
197
210
  Configurable sleep time (seconds) when enable PrivateLink.
198
- Default set to 10 seconds. *Available from v1.29.0*
211
+ Default set to 10 seconds.
212
+
213
+ ***Note:*** Available from [v1.29.0]
199
214
  """
200
215
  return pulumi.get(self, "sleep")
201
216
 
202
217
  @sleep.setter
203
- def sleep(self, value: Optional[pulumi.Input[int]]):
218
+ def sleep(self, value: Optional[pulumi.Input[builtins.int]]):
204
219
  pulumi.set(self, "sleep", value)
205
220
 
206
221
  @property
207
222
  @pulumi.getter
208
- def status(self) -> Optional[pulumi.Input[str]]:
223
+ def status(self) -> Optional[pulumi.Input[builtins.str]]:
209
224
  """
210
225
  PrivateLink status [enable, pending, disable]
211
226
  """
212
227
  return pulumi.get(self, "status")
213
228
 
214
229
  @status.setter
215
- def status(self, value: Optional[pulumi.Input[str]]):
230
+ def status(self, value: Optional[pulumi.Input[builtins.str]]):
216
231
  pulumi.set(self, "status", value)
217
232
 
218
233
  @property
219
234
  @pulumi.getter
220
- def timeout(self) -> Optional[pulumi.Input[int]]:
235
+ def timeout(self) -> Optional[pulumi.Input[builtins.int]]:
221
236
  """
222
237
  Configurable timeout time (seconds) when enable PrivateLink.
223
- Default set to 1800 seconds. *Available from v1.29.0*
238
+ Default set to 1800 seconds.
239
+
240
+ ***Note:*** Available from [v1.29.0]
224
241
 
225
242
  Allowed principals format: <br>
226
243
  `arn:aws:iam::aws-account-id:root` <br>
@@ -230,171 +247,60 @@ class _PrivatelinkAwsState:
230
247
  return pulumi.get(self, "timeout")
231
248
 
232
249
  @timeout.setter
233
- def timeout(self, value: Optional[pulumi.Input[int]]):
250
+ def timeout(self, value: Optional[pulumi.Input[builtins.int]]):
234
251
  pulumi.set(self, "timeout", value)
235
252
 
236
253
 
237
254
  class PrivatelinkAws(pulumi.CustomResource):
255
+
256
+ pulumi_type = "cloudamqp:index/privatelinkAws:PrivatelinkAws"
257
+
238
258
  @overload
239
259
  def __init__(__self__,
240
260
  resource_name: str,
241
261
  opts: Optional[pulumi.ResourceOptions] = None,
242
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
243
- instance_id: Optional[pulumi.Input[int]] = None,
244
- sleep: Optional[pulumi.Input[int]] = None,
245
- timeout: Optional[pulumi.Input[int]] = None,
262
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
263
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
264
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
265
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
246
266
  __props__=None):
247
267
  """
248
- Enable PrivateLink for a CloudAMQP instance hosted in AWS. If no existing VPC available when enable
249
- PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.
250
-
251
- > **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.
252
- <details>
253
- <summary>
254
- <i>Default PrivateLink firewall rule</i>
255
- </summary>
256
-
257
- ## Example Usage
258
-
259
- <details>
260
- <summary>
261
- <b>
262
- <i>CloudAMQP instance without existing VPC</i>
263
- </b>
264
- </summary>
265
-
266
- ```python
267
- import pulumi
268
- import pulumi_cloudamqp as cloudamqp
269
-
270
- instance = cloudamqp.Instance("instance",
271
- name="Instance 01",
272
- plan="bunny-1",
273
- region="amazon-web-services::us-west-1",
274
- tags=[])
275
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
276
- instance_id=instance.id,
277
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
278
- ```
279
-
280
- </details>
281
-
282
- <details>
283
- <summary>
284
- <b>
285
- <i>CloudAMQP instance in an existing VPC</i>
286
- </b>
287
- </summary>
288
-
289
- ```python
290
- import pulumi
291
- import pulumi_cloudamqp as cloudamqp
292
-
293
- vpc = cloudamqp.Vpc("vpc",
294
- name="Standalone VPC",
295
- region="amazon-web-services::us-west-1",
296
- subnet="10.56.72.0/24",
297
- tags=[])
298
- instance = cloudamqp.Instance("instance",
299
- name="Instance 01",
300
- plan="bunny-1",
301
- region="amazon-web-services::us-west-1",
302
- tags=[],
303
- vpc_id=vpc.id,
304
- keep_associated_vpc=True)
305
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
306
- instance_id=instance.id,
307
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
308
- ```
268
+ ## Import
309
269
 
310
- </details>
311
-
312
- ### With Additional Firewall Rules
313
-
314
- <details>
315
- <summary>
316
- <b>
317
- <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
318
- </b>
319
- </summary>
320
-
321
- ```python
322
- import pulumi
323
- import pulumi_cloudamqp as cloudamqp
324
-
325
- vpc = cloudamqp.Vpc("vpc",
326
- name="Standalone VPC",
327
- region="amazon-web-services::us-west-1",
328
- subnet="10.56.72.0/24",
329
- tags=[])
330
- instance = cloudamqp.Instance("instance",
331
- name="Instance 01",
332
- plan="bunny-1",
333
- region="amazon-web-services::us-west-1",
334
- tags=[],
335
- vpc_id=vpc.id,
336
- keep_associated_vpc=True)
337
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
338
- instance_id=instance.id,
339
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
340
- firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
341
- instance_id=instance.id,
342
- rules=[
343
- {
344
- "description": "Custom PrivateLink setup",
345
- "ip": vpc.subnet,
346
- "ports": [],
347
- "services": [
348
- "AMQP",
349
- "AMQPS",
350
- "HTTPS",
351
- "STREAM",
352
- "STREAM_SSL",
353
- ],
354
- },
355
- {
356
- "description": "MGMT interface",
357
- "ip": "0.0.0.0/0",
358
- "ports": [],
359
- "services": ["HTTPS"],
360
- },
361
- ],
362
- opts = pulumi.ResourceOptions(depends_on=[privatelink]))
363
- ```
270
+ `cloudamqp_privatelink_aws` can be imported using CloudAMQP instance identifier. To retrieve the
364
271
 
365
- </details>
272
+ identifier, use [CloudAMQP API list intances].
366
273
 
367
- ## Depedency
274
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
368
275
 
369
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
276
+ hcl
370
277
 
371
- ## Create PrivateLink with additional firewall rules
278
+ import {
372
279
 
373
- To create a PrivateLink configuration with additional firewall rules, it's required to chain the SecurityFirewall
374
- resource to avoid parallel conflicting resource calls. You can do this by making the firewall
375
- resource depend on the PrivateLink resource, `cloudamqp_privatelink_aws.privatelink`.
280
+ to = cloudamqp_privatelink_aws.privatelink
376
281
 
377
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
378
- the PrivateLink also needs to be added.
282
+ id = cloudamqp_instance.instance.id
379
283
 
380
- ## Import
284
+ }
381
285
 
382
- `cloudamqp_privatelink_aws` can be imported using CloudAMQP internal identifier.
286
+ Or use Terraform CLI:
383
287
 
384
288
  ```sh
385
289
  $ pulumi import cloudamqp:index/privatelinkAws:PrivatelinkAws privatelink <id>`
386
290
  ```
387
291
 
388
- The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md).
389
-
390
292
  :param str resource_name: The name of the resource.
391
293
  :param pulumi.ResourceOptions opts: Options for the resource.
392
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: Allowed principals to access the endpoint service.
393
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
394
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
395
- Default set to 10 seconds. *Available from v1.29.0*
396
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
397
- Default set to 1800 seconds. *Available from v1.29.0*
294
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: Allowed principals to access the endpoint service.
295
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
296
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
297
+ Default set to 10 seconds.
298
+
299
+ ***Note:*** Available from [v1.29.0]
300
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
301
+ Default set to 1800 seconds.
302
+
303
+ ***Note:*** Available from [v1.29.0]
398
304
 
399
305
  Allowed principals format: <br>
400
306
  `arn:aws:iam::aws-account-id:root` <br>
@@ -408,148 +314,30 @@ class PrivatelinkAws(pulumi.CustomResource):
408
314
  args: PrivatelinkAwsArgs,
409
315
  opts: Optional[pulumi.ResourceOptions] = None):
410
316
  """
411
- Enable PrivateLink for a CloudAMQP instance hosted in AWS. If no existing VPC available when enable
412
- PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.
413
-
414
- > **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.
415
- <details>
416
- <summary>
417
- <i>Default PrivateLink firewall rule</i>
418
- </summary>
419
-
420
- ## Example Usage
421
-
422
- <details>
423
- <summary>
424
- <b>
425
- <i>CloudAMQP instance without existing VPC</i>
426
- </b>
427
- </summary>
428
-
429
- ```python
430
- import pulumi
431
- import pulumi_cloudamqp as cloudamqp
432
-
433
- instance = cloudamqp.Instance("instance",
434
- name="Instance 01",
435
- plan="bunny-1",
436
- region="amazon-web-services::us-west-1",
437
- tags=[])
438
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
439
- instance_id=instance.id,
440
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
441
- ```
317
+ ## Import
442
318
 
443
- </details>
444
-
445
- <details>
446
- <summary>
447
- <b>
448
- <i>CloudAMQP instance in an existing VPC</i>
449
- </b>
450
- </summary>
451
-
452
- ```python
453
- import pulumi
454
- import pulumi_cloudamqp as cloudamqp
455
-
456
- vpc = cloudamqp.Vpc("vpc",
457
- name="Standalone VPC",
458
- region="amazon-web-services::us-west-1",
459
- subnet="10.56.72.0/24",
460
- tags=[])
461
- instance = cloudamqp.Instance("instance",
462
- name="Instance 01",
463
- plan="bunny-1",
464
- region="amazon-web-services::us-west-1",
465
- tags=[],
466
- vpc_id=vpc.id,
467
- keep_associated_vpc=True)
468
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
469
- instance_id=instance.id,
470
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
471
- ```
319
+ `cloudamqp_privatelink_aws` can be imported using CloudAMQP instance identifier. To retrieve the
472
320
 
473
- </details>
474
-
475
- ### With Additional Firewall Rules
476
-
477
- <details>
478
- <summary>
479
- <b>
480
- <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
481
- </b>
482
- </summary>
483
-
484
- ```python
485
- import pulumi
486
- import pulumi_cloudamqp as cloudamqp
487
-
488
- vpc = cloudamqp.Vpc("vpc",
489
- name="Standalone VPC",
490
- region="amazon-web-services::us-west-1",
491
- subnet="10.56.72.0/24",
492
- tags=[])
493
- instance = cloudamqp.Instance("instance",
494
- name="Instance 01",
495
- plan="bunny-1",
496
- region="amazon-web-services::us-west-1",
497
- tags=[],
498
- vpc_id=vpc.id,
499
- keep_associated_vpc=True)
500
- privatelink = cloudamqp.PrivatelinkAws("privatelink",
501
- instance_id=instance.id,
502
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
503
- firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
504
- instance_id=instance.id,
505
- rules=[
506
- {
507
- "description": "Custom PrivateLink setup",
508
- "ip": vpc.subnet,
509
- "ports": [],
510
- "services": [
511
- "AMQP",
512
- "AMQPS",
513
- "HTTPS",
514
- "STREAM",
515
- "STREAM_SSL",
516
- ],
517
- },
518
- {
519
- "description": "MGMT interface",
520
- "ip": "0.0.0.0/0",
521
- "ports": [],
522
- "services": ["HTTPS"],
523
- },
524
- ],
525
- opts = pulumi.ResourceOptions(depends_on=[privatelink]))
526
- ```
321
+ identifier, use [CloudAMQP API list intances].
527
322
 
528
- </details>
323
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
529
324
 
530
- ## Depedency
325
+ hcl
531
326
 
532
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
327
+ import {
533
328
 
534
- ## Create PrivateLink with additional firewall rules
329
+ to = cloudamqp_privatelink_aws.privatelink
535
330
 
536
- To create a PrivateLink configuration with additional firewall rules, it's required to chain the SecurityFirewall
537
- resource to avoid parallel conflicting resource calls. You can do this by making the firewall
538
- resource depend on the PrivateLink resource, `cloudamqp_privatelink_aws.privatelink`.
331
+ id = cloudamqp_instance.instance.id
539
332
 
540
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
541
- the PrivateLink also needs to be added.
333
+ }
542
334
 
543
- ## Import
544
-
545
- `cloudamqp_privatelink_aws` can be imported using CloudAMQP internal identifier.
335
+ Or use Terraform CLI:
546
336
 
547
337
  ```sh
548
338
  $ pulumi import cloudamqp:index/privatelinkAws:PrivatelinkAws privatelink <id>`
549
339
  ```
550
340
 
551
- The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md).
552
-
553
341
  :param str resource_name: The name of the resource.
554
342
  :param PrivatelinkAwsArgs args: The arguments to use to populate this resource's properties.
555
343
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -565,10 +353,10 @@ class PrivatelinkAws(pulumi.CustomResource):
565
353
  def _internal_init(__self__,
566
354
  resource_name: str,
567
355
  opts: Optional[pulumi.ResourceOptions] = None,
568
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
569
- instance_id: Optional[pulumi.Input[int]] = None,
570
- sleep: Optional[pulumi.Input[int]] = None,
571
- timeout: Optional[pulumi.Input[int]] = None,
356
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
357
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
358
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
359
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
572
360
  __props__=None):
573
361
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
574
362
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -599,13 +387,13 @@ class PrivatelinkAws(pulumi.CustomResource):
599
387
  def get(resource_name: str,
600
388
  id: pulumi.Input[str],
601
389
  opts: Optional[pulumi.ResourceOptions] = None,
602
- active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
603
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
604
- instance_id: Optional[pulumi.Input[int]] = None,
605
- service_name: Optional[pulumi.Input[str]] = None,
606
- sleep: Optional[pulumi.Input[int]] = None,
607
- status: Optional[pulumi.Input[str]] = None,
608
- timeout: Optional[pulumi.Input[int]] = None) -> 'PrivatelinkAws':
390
+ active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
391
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
392
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
393
+ service_name: Optional[pulumi.Input[builtins.str]] = None,
394
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
395
+ status: Optional[pulumi.Input[builtins.str]] = None,
396
+ timeout: Optional[pulumi.Input[builtins.int]] = None) -> 'PrivatelinkAws':
609
397
  """
610
398
  Get an existing PrivatelinkAws resource's state with the given name, id, and optional extra
611
399
  properties used to qualify the lookup.
@@ -613,15 +401,19 @@ class PrivatelinkAws(pulumi.CustomResource):
613
401
  :param str resource_name: The unique name of the resulting resource.
614
402
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
615
403
  :param pulumi.ResourceOptions opts: Options for the resource.
616
- :param pulumi.Input[Sequence[pulumi.Input[str]]] active_zones: Covering availability zones used when creating an Endpoint from other VPC.
617
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: Allowed principals to access the endpoint service.
618
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
619
- :param pulumi.Input[str] service_name: Service name of the PrivateLink used when creating the endpoint from other VPC.
620
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
621
- Default set to 10 seconds. *Available from v1.29.0*
622
- :param pulumi.Input[str] status: PrivateLink status [enable, pending, disable]
623
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
624
- Default set to 1800 seconds. *Available from v1.29.0*
404
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] active_zones: Covering availability zones used when creating an Endpoint from other VPC.
405
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: Allowed principals to access the endpoint service.
406
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
407
+ :param pulumi.Input[builtins.str] service_name: Service name of the PrivateLink used when creating the endpoint from other VPC.
408
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable PrivateLink.
409
+ Default set to 10 seconds.
410
+
411
+ ***Note:*** Available from [v1.29.0]
412
+ :param pulumi.Input[builtins.str] status: PrivateLink status [enable, pending, disable]
413
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable PrivateLink.
414
+ Default set to 1800 seconds.
415
+
416
+ ***Note:*** Available from [v1.29.0]
625
417
 
626
418
  Allowed principals format: <br>
627
419
  `arn:aws:iam::aws-account-id:root` <br>
@@ -643,7 +435,7 @@ class PrivatelinkAws(pulumi.CustomResource):
643
435
 
644
436
  @property
645
437
  @pulumi.getter(name="activeZones")
646
- def active_zones(self) -> pulumi.Output[Sequence[str]]:
438
+ def active_zones(self) -> pulumi.Output[Sequence[builtins.str]]:
647
439
  """
648
440
  Covering availability zones used when creating an Endpoint from other VPC.
649
441
  """
@@ -651,7 +443,7 @@ class PrivatelinkAws(pulumi.CustomResource):
651
443
 
652
444
  @property
653
445
  @pulumi.getter(name="allowedPrincipals")
654
- def allowed_principals(self) -> pulumi.Output[Sequence[str]]:
446
+ def allowed_principals(self) -> pulumi.Output[Sequence[builtins.str]]:
655
447
  """
656
448
  Allowed principals to access the endpoint service.
657
449
  """
@@ -659,7 +451,7 @@ class PrivatelinkAws(pulumi.CustomResource):
659
451
 
660
452
  @property
661
453
  @pulumi.getter(name="instanceId")
662
- def instance_id(self) -> pulumi.Output[int]:
454
+ def instance_id(self) -> pulumi.Output[builtins.int]:
663
455
  """
664
456
  The CloudAMQP instance identifier.
665
457
  """
@@ -667,7 +459,7 @@ class PrivatelinkAws(pulumi.CustomResource):
667
459
 
668
460
  @property
669
461
  @pulumi.getter(name="serviceName")
670
- def service_name(self) -> pulumi.Output[str]:
462
+ def service_name(self) -> pulumi.Output[builtins.str]:
671
463
  """
672
464
  Service name of the PrivateLink used when creating the endpoint from other VPC.
673
465
  """
@@ -675,16 +467,18 @@ class PrivatelinkAws(pulumi.CustomResource):
675
467
 
676
468
  @property
677
469
  @pulumi.getter
678
- def sleep(self) -> pulumi.Output[Optional[int]]:
470
+ def sleep(self) -> pulumi.Output[Optional[builtins.int]]:
679
471
  """
680
472
  Configurable sleep time (seconds) when enable PrivateLink.
681
- Default set to 10 seconds. *Available from v1.29.0*
473
+ Default set to 10 seconds.
474
+
475
+ ***Note:*** Available from [v1.29.0]
682
476
  """
683
477
  return pulumi.get(self, "sleep")
684
478
 
685
479
  @property
686
480
  @pulumi.getter
687
- def status(self) -> pulumi.Output[str]:
481
+ def status(self) -> pulumi.Output[builtins.str]:
688
482
  """
689
483
  PrivateLink status [enable, pending, disable]
690
484
  """
@@ -692,10 +486,12 @@ class PrivatelinkAws(pulumi.CustomResource):
692
486
 
693
487
  @property
694
488
  @pulumi.getter
695
- def timeout(self) -> pulumi.Output[Optional[int]]:
489
+ def timeout(self) -> pulumi.Output[Optional[builtins.int]]:
696
490
  """
697
491
  Configurable timeout time (seconds) when enable PrivateLink.
698
- Default set to 1800 seconds. *Available from v1.29.0*
492
+ Default set to 1800 seconds.
493
+
494
+ ***Note:*** Available from [v1.29.0]
699
495
 
700
496
  Allowed principals format: <br>
701
497
  `arn:aws:iam::aws-account-id:root` <br>