pulumi-cloudamqp 3.21.0a1743571485__py3-none-any.whl → 3.22.0a1744182778__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 (49) hide show
  1. pulumi_cloudamqp/__init__.py +10 -0
  2. pulumi_cloudamqp/_inputs.py +92 -72
  3. pulumi_cloudamqp/account_action.py +39 -31
  4. pulumi_cloudamqp/alarm.py +229 -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 +81 -38
  9. pulumi_cloudamqp/extra_disk_size.py +172 -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_credentials.py +19 -26
  14. pulumi_cloudamqp/get_instance.py +75 -25
  15. pulumi_cloudamqp/get_nodes.py +10 -56
  16. pulumi_cloudamqp/get_notification.py +39 -41
  17. pulumi_cloudamqp/get_plugins.py +28 -54
  18. pulumi_cloudamqp/get_plugins_community.py +29 -52
  19. pulumi_cloudamqp/get_upgradable_versions.py +19 -24
  20. pulumi_cloudamqp/get_vpc_gcp_info.py +44 -138
  21. pulumi_cloudamqp/get_vpc_info.py +34 -127
  22. pulumi_cloudamqp/instance.py +557 -333
  23. pulumi_cloudamqp/integration_aws_eventbridge.py +182 -117
  24. pulumi_cloudamqp/integration_log.py +488 -402
  25. pulumi_cloudamqp/integration_metric.py +345 -296
  26. pulumi_cloudamqp/maintenance_window.py +516 -0
  27. pulumi_cloudamqp/node_actions.py +82 -59
  28. pulumi_cloudamqp/notification.py +174 -92
  29. pulumi_cloudamqp/outputs.py +216 -125
  30. pulumi_cloudamqp/plugin.py +170 -105
  31. pulumi_cloudamqp/plugin_community.py +168 -107
  32. pulumi_cloudamqp/privatelink_aws.py +140 -347
  33. pulumi_cloudamqp/privatelink_azure.py +142 -345
  34. pulumi_cloudamqp/provider.py +22 -21
  35. pulumi_cloudamqp/pulumi-plugin.json +1 -1
  36. pulumi_cloudamqp/rabbit_configuration.py +334 -210
  37. pulumi_cloudamqp/security_firewall.py +111 -57
  38. pulumi_cloudamqp/upgrade_lavinmq.py +29 -102
  39. pulumi_cloudamqp/upgrade_rabbitmq.py +53 -299
  40. pulumi_cloudamqp/vpc.py +112 -79
  41. pulumi_cloudamqp/vpc_connect.py +219 -606
  42. pulumi_cloudamqp/vpc_gcp_peering.py +227 -591
  43. pulumi_cloudamqp/vpc_peering.py +120 -105
  44. pulumi_cloudamqp/webhook.py +143 -103
  45. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0a1744182778.dist-info}/METADATA +1 -1
  46. pulumi_cloudamqp-3.22.0a1744182778.dist-info/RECORD +50 -0
  47. pulumi_cloudamqp-3.21.0a1743571485.dist-info/RECORD +0 -49
  48. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0a1744182778.dist-info}/WHEEL +0 -0
  49. {pulumi_cloudamqp-3.21.0a1743571485.dist-info → pulumi_cloudamqp-3.22.0a1744182778.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,36 +20,36 @@ __all__ = ['VpcConnectArgs', 'VpcConnect']
19
20
  @pulumi.input_type
20
21
  class VpcConnectArgs:
21
22
  def __init__(__self__, *,
22
- instance_id: pulumi.Input[int],
23
- region: pulumi.Input[str],
24
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
25
- allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
- approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
- sleep: Optional[pulumi.Input[int]] = None,
28
- timeout: Optional[pulumi.Input[int]] = None):
23
+ instance_id: pulumi.Input[builtins.int],
24
+ region: pulumi.Input[builtins.str],
25
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
26
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
27
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
28
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
29
+ timeout: Optional[pulumi.Input[builtins.int]] = None):
29
30
  """
30
31
  The set of arguments for constructing a VpcConnect resource.
31
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
32
- :param pulumi.Input[str] region: The region where the CloudAMQP instance is hosted.
33
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
34
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_projects: List of allowed projects used by GCP, see below table.
35
- :param pulumi.Input[Sequence[pulumi.Input[str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below table.
36
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable Private Service Connect.
37
- Default set to 10 seconds.
38
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable Private Service Connect.
39
- Default set to 1800 seconds.
32
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
33
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
34
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
35
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
36
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
37
+ table.
38
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
39
+ Service Connect. Default set to 10 seconds.
40
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
41
+ Service Connect. Default set to 1800 seconds.
40
42
 
41
43
  ___
42
44
 
43
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
45
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
46
+ provider platform:
44
47
 
45
- | Platform | Description | Format |
46
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
47
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
48
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
49
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
50
-
51
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
48
+ | Platform | Description | Format |
49
+ |---|---|---|
50
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
51
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
52
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
52
53
  """
53
54
  pulumi.set(__self__, "instance_id", instance_id)
54
55
  pulumi.set(__self__, "region", region)
@@ -65,142 +66,142 @@ class VpcConnectArgs:
65
66
 
66
67
  @property
67
68
  @pulumi.getter(name="instanceId")
68
- def instance_id(self) -> pulumi.Input[int]:
69
+ def instance_id(self) -> pulumi.Input[builtins.int]:
69
70
  """
70
71
  The CloudAMQP instance identifier.
71
72
  """
72
73
  return pulumi.get(self, "instance_id")
73
74
 
74
75
  @instance_id.setter
75
- def instance_id(self, value: pulumi.Input[int]):
76
+ def instance_id(self, value: pulumi.Input[builtins.int]):
76
77
  pulumi.set(self, "instance_id", value)
77
78
 
78
79
  @property
79
80
  @pulumi.getter
80
- def region(self) -> pulumi.Input[str]:
81
+ def region(self) -> pulumi.Input[builtins.str]:
81
82
  """
82
83
  The region where the CloudAMQP instance is hosted.
83
84
  """
84
85
  return pulumi.get(self, "region")
85
86
 
86
87
  @region.setter
87
- def region(self, value: pulumi.Input[str]):
88
+ def region(self, value: pulumi.Input[builtins.str]):
88
89
  pulumi.set(self, "region", value)
89
90
 
90
91
  @property
91
92
  @pulumi.getter(name="allowedPrincipals")
92
- def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
93
+ def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
93
94
  """
94
95
  List of allowed prinicpals used by AWS, see below table.
95
96
  """
96
97
  return pulumi.get(self, "allowed_principals")
97
98
 
98
99
  @allowed_principals.setter
99
- def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
100
+ def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
100
101
  pulumi.set(self, "allowed_principals", value)
101
102
 
102
103
  @property
103
104
  @pulumi.getter(name="allowedProjects")
104
- def allowed_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
105
+ def allowed_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
105
106
  """
106
107
  List of allowed projects used by GCP, see below table.
107
108
  """
108
109
  return pulumi.get(self, "allowed_projects")
109
110
 
110
111
  @allowed_projects.setter
111
- def allowed_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
112
+ def allowed_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
112
113
  pulumi.set(self, "allowed_projects", value)
113
114
 
114
115
  @property
115
116
  @pulumi.getter(name="approvedSubscriptions")
116
- def approved_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
117
+ def approved_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
117
118
  """
118
- List of approved subscriptions used by Azure, see below table.
119
+ List of approved subscriptions used by Azure, see below
120
+ table.
119
121
  """
120
122
  return pulumi.get(self, "approved_subscriptions")
121
123
 
122
124
  @approved_subscriptions.setter
123
- def approved_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
125
+ def approved_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
124
126
  pulumi.set(self, "approved_subscriptions", value)
125
127
 
126
128
  @property
127
129
  @pulumi.getter
128
- def sleep(self) -> Optional[pulumi.Input[int]]:
130
+ def sleep(self) -> Optional[pulumi.Input[builtins.int]]:
129
131
  """
130
- Configurable sleep time (seconds) when enable Private Service Connect.
131
- Default set to 10 seconds.
132
+ Configurable sleep time (seconds) when enable Private
133
+ Service Connect. Default set to 10 seconds.
132
134
  """
133
135
  return pulumi.get(self, "sleep")
134
136
 
135
137
  @sleep.setter
136
- def sleep(self, value: Optional[pulumi.Input[int]]):
138
+ def sleep(self, value: Optional[pulumi.Input[builtins.int]]):
137
139
  pulumi.set(self, "sleep", value)
138
140
 
139
141
  @property
140
142
  @pulumi.getter
141
- def timeout(self) -> Optional[pulumi.Input[int]]:
143
+ def timeout(self) -> Optional[pulumi.Input[builtins.int]]:
142
144
  """
143
- Configurable timeout time (seconds) when enable Private Service Connect.
144
- Default set to 1800 seconds.
145
+ Configurable timeout time (seconds) when enable Private
146
+ Service Connect. Default set to 1800 seconds.
145
147
 
146
148
  ___
147
149
 
148
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
149
-
150
- | Platform | Description | Format |
151
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
152
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
153
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
154
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
150
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
151
+ provider platform:
155
152
 
156
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
153
+ | Platform | Description | Format |
154
+ |---|---|---|
155
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
156
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
157
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
157
158
  """
158
159
  return pulumi.get(self, "timeout")
159
160
 
160
161
  @timeout.setter
161
- def timeout(self, value: Optional[pulumi.Input[int]]):
162
+ def timeout(self, value: Optional[pulumi.Input[builtins.int]]):
162
163
  pulumi.set(self, "timeout", value)
163
164
 
164
165
 
165
166
  @pulumi.input_type
166
167
  class _VpcConnectState:
167
168
  def __init__(__self__, *,
168
- active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
169
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
170
- allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
171
- approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
172
- instance_id: Optional[pulumi.Input[int]] = None,
173
- region: Optional[pulumi.Input[str]] = None,
174
- service_name: Optional[pulumi.Input[str]] = None,
175
- sleep: Optional[pulumi.Input[int]] = None,
176
- status: Optional[pulumi.Input[str]] = None,
177
- timeout: Optional[pulumi.Input[int]] = None):
169
+ active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
170
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
171
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
172
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
173
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
174
+ region: Optional[pulumi.Input[builtins.str]] = None,
175
+ service_name: Optional[pulumi.Input[builtins.str]] = None,
176
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
177
+ status: Optional[pulumi.Input[builtins.str]] = None,
178
+ timeout: Optional[pulumi.Input[builtins.int]] = None):
178
179
  """
179
180
  Input properties used for looking up and filtering VpcConnect resources.
180
- :param pulumi.Input[Sequence[pulumi.Input[str]]] active_zones: Covering availability zones used when creating an endpoint from other VPC. (AWS)
181
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
182
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_projects: List of allowed projects used by GCP, see below table.
183
- :param pulumi.Input[Sequence[pulumi.Input[str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below table.
184
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
185
- :param pulumi.Input[str] region: The region where the CloudAMQP instance is hosted.
186
- :param pulumi.Input[str] service_name: Service name (alias for Azure, see example above) of the PrivateLink.
187
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable Private Service Connect.
188
- Default set to 10 seconds.
189
- :param pulumi.Input[str] status: Private Service Connect status [enable, pending, disable]
190
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable Private Service Connect.
191
- Default set to 1800 seconds.
181
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] active_zones: Covering availability zones used when creating an endpoint from other VPC. (AWS)
182
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
183
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
184
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
185
+ table.
186
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
187
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
188
+ :param pulumi.Input[builtins.str] service_name: Service name (alias for Azure, see example above) of the PrivateLink.
189
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
190
+ Service Connect. Default set to 10 seconds.
191
+ :param pulumi.Input[builtins.str] status: Private Service Connect status [enable, pending, disable]
192
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
193
+ Service Connect. Default set to 1800 seconds.
192
194
 
193
195
  ___
194
196
 
195
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
197
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
198
+ provider platform:
196
199
 
197
- | Platform | Description | Format |
198
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
199
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
200
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
201
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
202
-
203
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
200
+ | Platform | Description | Format |
201
+ |---|---|---|
202
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
203
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
204
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
204
205
  """
205
206
  if active_zones is not None:
206
207
  pulumi.set(__self__, "active_zones", active_zones)
@@ -225,136 +226,136 @@ class _VpcConnectState:
225
226
 
226
227
  @property
227
228
  @pulumi.getter(name="activeZones")
228
- def active_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
229
+ def active_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
229
230
  """
230
231
  Covering availability zones used when creating an endpoint from other VPC. (AWS)
231
232
  """
232
233
  return pulumi.get(self, "active_zones")
233
234
 
234
235
  @active_zones.setter
235
- def active_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
236
+ def active_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
236
237
  pulumi.set(self, "active_zones", value)
237
238
 
238
239
  @property
239
240
  @pulumi.getter(name="allowedPrincipals")
240
- def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
241
+ def allowed_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
241
242
  """
242
243
  List of allowed prinicpals used by AWS, see below table.
243
244
  """
244
245
  return pulumi.get(self, "allowed_principals")
245
246
 
246
247
  @allowed_principals.setter
247
- def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
248
+ def allowed_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
248
249
  pulumi.set(self, "allowed_principals", value)
249
250
 
250
251
  @property
251
252
  @pulumi.getter(name="allowedProjects")
252
- def allowed_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
253
+ def allowed_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
253
254
  """
254
255
  List of allowed projects used by GCP, see below table.
255
256
  """
256
257
  return pulumi.get(self, "allowed_projects")
257
258
 
258
259
  @allowed_projects.setter
259
- def allowed_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
260
+ def allowed_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
260
261
  pulumi.set(self, "allowed_projects", value)
261
262
 
262
263
  @property
263
264
  @pulumi.getter(name="approvedSubscriptions")
264
- def approved_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
265
+ def approved_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
265
266
  """
266
- List of approved subscriptions used by Azure, see below table.
267
+ List of approved subscriptions used by Azure, see below
268
+ table.
267
269
  """
268
270
  return pulumi.get(self, "approved_subscriptions")
269
271
 
270
272
  @approved_subscriptions.setter
271
- def approved_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
273
+ def approved_subscriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
272
274
  pulumi.set(self, "approved_subscriptions", value)
273
275
 
274
276
  @property
275
277
  @pulumi.getter(name="instanceId")
276
- def instance_id(self) -> Optional[pulumi.Input[int]]:
278
+ def instance_id(self) -> Optional[pulumi.Input[builtins.int]]:
277
279
  """
278
280
  The CloudAMQP instance identifier.
279
281
  """
280
282
  return pulumi.get(self, "instance_id")
281
283
 
282
284
  @instance_id.setter
283
- def instance_id(self, value: Optional[pulumi.Input[int]]):
285
+ def instance_id(self, value: Optional[pulumi.Input[builtins.int]]):
284
286
  pulumi.set(self, "instance_id", value)
285
287
 
286
288
  @property
287
289
  @pulumi.getter
288
- def region(self) -> Optional[pulumi.Input[str]]:
290
+ def region(self) -> Optional[pulumi.Input[builtins.str]]:
289
291
  """
290
292
  The region where the CloudAMQP instance is hosted.
291
293
  """
292
294
  return pulumi.get(self, "region")
293
295
 
294
296
  @region.setter
295
- def region(self, value: Optional[pulumi.Input[str]]):
297
+ def region(self, value: Optional[pulumi.Input[builtins.str]]):
296
298
  pulumi.set(self, "region", value)
297
299
 
298
300
  @property
299
301
  @pulumi.getter(name="serviceName")
300
- def service_name(self) -> Optional[pulumi.Input[str]]:
302
+ def service_name(self) -> Optional[pulumi.Input[builtins.str]]:
301
303
  """
302
304
  Service name (alias for Azure, see example above) of the PrivateLink.
303
305
  """
304
306
  return pulumi.get(self, "service_name")
305
307
 
306
308
  @service_name.setter
307
- def service_name(self, value: Optional[pulumi.Input[str]]):
309
+ def service_name(self, value: Optional[pulumi.Input[builtins.str]]):
308
310
  pulumi.set(self, "service_name", value)
309
311
 
310
312
  @property
311
313
  @pulumi.getter
312
- def sleep(self) -> Optional[pulumi.Input[int]]:
314
+ def sleep(self) -> Optional[pulumi.Input[builtins.int]]:
313
315
  """
314
- Configurable sleep time (seconds) when enable Private Service Connect.
315
- Default set to 10 seconds.
316
+ Configurable sleep time (seconds) when enable Private
317
+ Service Connect. Default set to 10 seconds.
316
318
  """
317
319
  return pulumi.get(self, "sleep")
318
320
 
319
321
  @sleep.setter
320
- def sleep(self, value: Optional[pulumi.Input[int]]):
322
+ def sleep(self, value: Optional[pulumi.Input[builtins.int]]):
321
323
  pulumi.set(self, "sleep", value)
322
324
 
323
325
  @property
324
326
  @pulumi.getter
325
- def status(self) -> Optional[pulumi.Input[str]]:
327
+ def status(self) -> Optional[pulumi.Input[builtins.str]]:
326
328
  """
327
329
  Private Service Connect status [enable, pending, disable]
328
330
  """
329
331
  return pulumi.get(self, "status")
330
332
 
331
333
  @status.setter
332
- def status(self, value: Optional[pulumi.Input[str]]):
334
+ def status(self, value: Optional[pulumi.Input[builtins.str]]):
333
335
  pulumi.set(self, "status", value)
334
336
 
335
337
  @property
336
338
  @pulumi.getter
337
- def timeout(self) -> Optional[pulumi.Input[int]]:
339
+ def timeout(self) -> Optional[pulumi.Input[builtins.int]]:
338
340
  """
339
- Configurable timeout time (seconds) when enable Private Service Connect.
340
- Default set to 1800 seconds.
341
+ Configurable timeout time (seconds) when enable Private
342
+ Service Connect. Default set to 1800 seconds.
341
343
 
342
344
  ___
343
345
 
344
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
345
-
346
- | Platform | Description | Format |
347
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
348
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
349
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
350
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
346
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
347
+ provider platform:
351
348
 
352
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
349
+ | Platform | Description | Format |
350
+ |---|---|---|
351
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
352
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
353
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
353
354
  """
354
355
  return pulumi.get(self, "timeout")
355
356
 
356
357
  @timeout.setter
357
- def timeout(self, value: Optional[pulumi.Input[int]]):
358
+ def timeout(self, value: Optional[pulumi.Input[builtins.int]]):
358
359
  pulumi.set(self, "timeout", value)
359
360
 
360
361
 
@@ -363,256 +364,62 @@ class VpcConnect(pulumi.CustomResource):
363
364
  def __init__(__self__,
364
365
  resource_name: str,
365
366
  opts: Optional[pulumi.ResourceOptions] = None,
366
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
367
- allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
368
- approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
369
- instance_id: Optional[pulumi.Input[int]] = None,
370
- region: Optional[pulumi.Input[str]] = None,
371
- sleep: Optional[pulumi.Input[int]] = None,
372
- timeout: Optional[pulumi.Input[int]] = None,
367
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
368
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
369
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
370
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
371
+ region: Optional[pulumi.Input[builtins.str]] = None,
372
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
373
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
373
374
  __props__=None):
374
375
  """
375
- This resource is a generic way to handle PrivateLink (AWS and Azure) and Private Service Connect (GCP).
376
- Communication between resources can be done just as they were living inside a VPC. CloudAMQP creates an Endpoint
377
- Service to connect the VPC and creating a new network interface to handle the communicate.
378
-
379
- If no existing VPC available when enable VPC connect, a new VPC will be created with subnet `10.52.72.0/24`.
380
-
381
- More information can be found at: [CloudAMQP VPC Connect](https://www.cloudamqp.com/docs/cloudamqp-vpc-connect.html)
382
-
383
- > **Note:** Enabling VPC Connect will automatically add a firewall rule.
384
-
385
- <details>
386
- <summary>
387
- <b>
388
- <i>Default PrivateLink firewall rule [AWS, Azure]</i>
389
- </b>
390
- </summary>
391
-
392
- ## Example Usage
393
-
394
- <details>
395
- <summary>
396
- <b>
397
- <i>Enable VPC Connect (PrivateLink) in AWS</i>
398
- </b>
399
- </summary>
400
-
401
- ```python
402
- import pulumi
403
- import pulumi_cloudamqp as cloudamqp
404
-
405
- vpc = cloudamqp.Vpc("vpc",
406
- name="Standalone VPC",
407
- region="amazon-web-services::us-west-1",
408
- subnet="10.56.72.0/24",
409
- tags=[])
410
- instance = cloudamqp.Instance("instance",
411
- name="Instance 01",
412
- plan="bunny-1",
413
- region="amazon-web-services::us-west-1",
414
- tags=[],
415
- vpc_id=vpc.id,
416
- keep_associated_vpc=True)
417
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
418
- instance_id=instance.id,
419
- region=instance.region,
420
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
421
- ```
422
-
423
- </details>
424
-
425
- <details>
426
- <summary>
427
- <b>
428
- <i>Enable VPC Connect (PrivateLink) in Azure</i>
429
- </b>
430
- </summary>
431
-
432
- ```python
433
- import pulumi
434
- import pulumi_cloudamqp as cloudamqp
435
-
436
- vpc = cloudamqp.Vpc("vpc",
437
- name="Standalone VPC",
438
- region="azure-arm::westus",
439
- subnet="10.56.72.0/24",
440
- tags=[])
441
- instance = cloudamqp.Instance("instance",
442
- name="Instance 01",
443
- plan="bunny-1",
444
- region="azure-arm::westus",
445
- tags=[],
446
- vpc_id=vpc.id,
447
- keep_associated_vpc=True)
448
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
449
- instance_id=instance.id,
450
- region=instance.region,
451
- approved_subscriptions=["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"])
452
- ```
453
-
454
- The attribute `service_name` found in resource `VpcConnect` corresponds to the alias in
455
- the resource `azurerm_private_endpoint` of the Azure provider. This can be used when creating the
456
- private endpoint.
457
-
458
- ```python
459
- import pulumi
460
- import pulumi_azurerm as azurerm
461
-
462
- example = azurerm.index.PrivateEndpoint("example",
463
- name=example-endpoint,
464
- location=example_azurerm_resource_group.location,
465
- resource_group_name=example_azurerm_resource_group.name,
466
- subnet_id=subnet.id,
467
- private_service_connection=[{
468
- name: example-privateserviceconnection,
469
- privateConnectionResourceAlias: vpc_connect.service_name,
470
- isManualConnection: True,
471
- requestMessage: PL,
472
- }])
473
- ```
474
-
475
- More information about the resource and argument can be found here:
476
- private_connection_resource_alias. Or check their example "Using a Private Link
477
- Service Alias with existing resources:".
478
-
479
- </details>
480
-
481
- <details>
482
- <summary>
483
- <b>
484
- <i>Enable VPC Connect (Private Service Connect) in GCP</i>
485
- </b>
486
- </summary>
487
-
488
- ```python
489
- import pulumi
490
- import pulumi_cloudamqp as cloudamqp
491
-
492
- vpc = cloudamqp.Vpc("vpc",
493
- name="Standalone VPC",
494
- region="google-compute-engine::us-west1",
495
- subnet="10.56.72.0/24",
496
- tags=[])
497
- instance = cloudamqp.Instance("instance",
498
- name="Instance 01",
499
- plan="bunny-1",
500
- region="google-compute-engine::us-west1",
501
- tags=[],
502
- vpc_id=vpc.id,
503
- keep_associated_vpc=True)
504
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
505
- instance_id=instance.id,
506
- region=instance.region,
507
- allowed_projects=["some-project-123456"])
508
- ```
509
-
510
- </details>
511
-
512
- ### With Additional Firewall Rules
513
-
514
- <details>
515
- <summary>
516
- <b>
517
- <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
518
- </b>
519
- </summary>
520
-
521
- ```python
522
- import pulumi
523
- import pulumi_cloudamqp as cloudamqp
524
-
525
- vpc = cloudamqp.Vpc("vpc",
526
- name="Standalone VPC",
527
- region="amazon-web-services::us-west-1",
528
- subnet="10.56.72.0/24",
529
- tags=[])
530
- instance = cloudamqp.Instance("instance",
531
- name="Instance 01",
532
- plan="bunny-1",
533
- region="amazon-web-services::us-west-1",
534
- tags=[],
535
- vpc_id=vpc.id,
536
- keep_associated_vpc=True)
537
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
538
- instance_id=instance.id,
539
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
540
- firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
541
- instance_id=instance.id,
542
- rules=[
543
- {
544
- "description": "Custom PrivateLink setup",
545
- "ip": vpc.subnet,
546
- "ports": [],
547
- "services": [
548
- "AMQP",
549
- "AMQPS",
550
- "HTTPS",
551
- "STREAM",
552
- "STREAM_SSL",
553
- ],
554
- },
555
- {
556
- "description": "MGMT interface",
557
- "ip": "0.0.0.0/0",
558
- "ports": [],
559
- "services": ["HTTPS"],
560
- },
561
- ],
562
- opts = pulumi.ResourceOptions(depends_on=[vpc_connect]))
563
- ```
376
+ ## Import
564
377
 
565
- </details>
378
+ `cloudamqp_vpc_connect` can be imported using CloudAMQP instance identifier. To
566
379
 
567
- ## Depedency
380
+ retrieve the identifier, use [CloudAMQP API list intances].
568
381
 
569
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
382
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
570
383
 
571
- Since `region` also is required, suggest to reuse the argument from CloudAMQP instance,
572
- `cloudamqp_instance.instance.region`.
384
+ hcl
573
385
 
574
- ## Create VPC Connect with additional firewall rules
386
+ import {
575
387
 
576
- To create a PrivateLink/Private Service Connect configuration with additional firewall rules, it's required to chain the SecurityFirewall
577
- resource to avoid parallel conflicting resource calls. You can do this by making the firewall
578
- resource depend on the VPC Connect resource, `cloudamqp_vpc_connect.vpc_connect`.
388
+ to = cloudamqp_vpc_connect.this
579
389
 
580
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
581
- the VPC Connect also needs to be added.
390
+ id = cloudamqp_instance.instance.id
582
391
 
583
- ## Import
392
+ }
584
393
 
585
- `cloudamqp_vpc_connect` can be imported using CloudAMQP internal identifier.
394
+ Or use Terraform CLI:
586
395
 
587
396
  ```sh
588
397
  $ pulumi import cloudamqp:index/vpcConnect:VpcConnect vpc_connect <id>`
589
398
  ```
590
399
 
591
- 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).
592
-
593
400
  :param str resource_name: The name of the resource.
594
401
  :param pulumi.ResourceOptions opts: Options for the resource.
595
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
596
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_projects: List of allowed projects used by GCP, see below table.
597
- :param pulumi.Input[Sequence[pulumi.Input[str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below table.
598
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
599
- :param pulumi.Input[str] region: The region where the CloudAMQP instance is hosted.
600
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable Private Service Connect.
601
- Default set to 10 seconds.
602
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable Private Service Connect.
603
- Default set to 1800 seconds.
402
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
403
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
404
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
405
+ table.
406
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
407
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
408
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
409
+ Service Connect. Default set to 10 seconds.
410
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
411
+ Service Connect. Default set to 1800 seconds.
604
412
 
605
413
  ___
606
414
 
607
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
415
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
416
+ provider platform:
608
417
 
609
- | Platform | Description | Format |
610
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
611
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
612
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
613
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
614
-
615
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
418
+ | Platform | Description | Format |
419
+ |---|---|---|
420
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
421
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
422
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
616
423
  """
617
424
  ...
618
425
  @overload
@@ -621,224 +428,30 @@ class VpcConnect(pulumi.CustomResource):
621
428
  args: VpcConnectArgs,
622
429
  opts: Optional[pulumi.ResourceOptions] = None):
623
430
  """
624
- This resource is a generic way to handle PrivateLink (AWS and Azure) and Private Service Connect (GCP).
625
- Communication between resources can be done just as they were living inside a VPC. CloudAMQP creates an Endpoint
626
- Service to connect the VPC and creating a new network interface to handle the communicate.
627
-
628
- If no existing VPC available when enable VPC connect, a new VPC will be created with subnet `10.52.72.0/24`.
629
-
630
- More information can be found at: [CloudAMQP VPC Connect](https://www.cloudamqp.com/docs/cloudamqp-vpc-connect.html)
631
-
632
- > **Note:** Enabling VPC Connect will automatically add a firewall rule.
633
-
634
- <details>
635
- <summary>
636
- <b>
637
- <i>Default PrivateLink firewall rule [AWS, Azure]</i>
638
- </b>
639
- </summary>
640
-
641
- ## Example Usage
642
-
643
- <details>
644
- <summary>
645
- <b>
646
- <i>Enable VPC Connect (PrivateLink) in AWS</i>
647
- </b>
648
- </summary>
649
-
650
- ```python
651
- import pulumi
652
- import pulumi_cloudamqp as cloudamqp
653
-
654
- vpc = cloudamqp.Vpc("vpc",
655
- name="Standalone VPC",
656
- region="amazon-web-services::us-west-1",
657
- subnet="10.56.72.0/24",
658
- tags=[])
659
- instance = cloudamqp.Instance("instance",
660
- name="Instance 01",
661
- plan="bunny-1",
662
- region="amazon-web-services::us-west-1",
663
- tags=[],
664
- vpc_id=vpc.id,
665
- keep_associated_vpc=True)
666
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
667
- instance_id=instance.id,
668
- region=instance.region,
669
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
670
- ```
671
-
672
- </details>
673
-
674
- <details>
675
- <summary>
676
- <b>
677
- <i>Enable VPC Connect (PrivateLink) in Azure</i>
678
- </b>
679
- </summary>
680
-
681
- ```python
682
- import pulumi
683
- import pulumi_cloudamqp as cloudamqp
684
-
685
- vpc = cloudamqp.Vpc("vpc",
686
- name="Standalone VPC",
687
- region="azure-arm::westus",
688
- subnet="10.56.72.0/24",
689
- tags=[])
690
- instance = cloudamqp.Instance("instance",
691
- name="Instance 01",
692
- plan="bunny-1",
693
- region="azure-arm::westus",
694
- tags=[],
695
- vpc_id=vpc.id,
696
- keep_associated_vpc=True)
697
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
698
- instance_id=instance.id,
699
- region=instance.region,
700
- approved_subscriptions=["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"])
701
- ```
702
-
703
- The attribute `service_name` found in resource `VpcConnect` corresponds to the alias in
704
- the resource `azurerm_private_endpoint` of the Azure provider. This can be used when creating the
705
- private endpoint.
706
-
707
- ```python
708
- import pulumi
709
- import pulumi_azurerm as azurerm
710
-
711
- example = azurerm.index.PrivateEndpoint("example",
712
- name=example-endpoint,
713
- location=example_azurerm_resource_group.location,
714
- resource_group_name=example_azurerm_resource_group.name,
715
- subnet_id=subnet.id,
716
- private_service_connection=[{
717
- name: example-privateserviceconnection,
718
- privateConnectionResourceAlias: vpc_connect.service_name,
719
- isManualConnection: True,
720
- requestMessage: PL,
721
- }])
722
- ```
723
-
724
- More information about the resource and argument can be found here:
725
- private_connection_resource_alias. Or check their example "Using a Private Link
726
- Service Alias with existing resources:".
727
-
728
- </details>
729
-
730
- <details>
731
- <summary>
732
- <b>
733
- <i>Enable VPC Connect (Private Service Connect) in GCP</i>
734
- </b>
735
- </summary>
736
-
737
- ```python
738
- import pulumi
739
- import pulumi_cloudamqp as cloudamqp
740
-
741
- vpc = cloudamqp.Vpc("vpc",
742
- name="Standalone VPC",
743
- region="google-compute-engine::us-west1",
744
- subnet="10.56.72.0/24",
745
- tags=[])
746
- instance = cloudamqp.Instance("instance",
747
- name="Instance 01",
748
- plan="bunny-1",
749
- region="google-compute-engine::us-west1",
750
- tags=[],
751
- vpc_id=vpc.id,
752
- keep_associated_vpc=True)
753
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
754
- instance_id=instance.id,
755
- region=instance.region,
756
- allowed_projects=["some-project-123456"])
757
- ```
758
-
759
- </details>
760
-
761
- ### With Additional Firewall Rules
762
-
763
- <details>
764
- <summary>
765
- <b>
766
- <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
767
- </b>
768
- </summary>
769
-
770
- ```python
771
- import pulumi
772
- import pulumi_cloudamqp as cloudamqp
773
-
774
- vpc = cloudamqp.Vpc("vpc",
775
- name="Standalone VPC",
776
- region="amazon-web-services::us-west-1",
777
- subnet="10.56.72.0/24",
778
- tags=[])
779
- instance = cloudamqp.Instance("instance",
780
- name="Instance 01",
781
- plan="bunny-1",
782
- region="amazon-web-services::us-west-1",
783
- tags=[],
784
- vpc_id=vpc.id,
785
- keep_associated_vpc=True)
786
- vpc_connect = cloudamqp.VpcConnect("vpc_connect",
787
- instance_id=instance.id,
788
- allowed_principals=["arn:aws:iam::aws-account-id:user/user-name"])
789
- firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
790
- instance_id=instance.id,
791
- rules=[
792
- {
793
- "description": "Custom PrivateLink setup",
794
- "ip": vpc.subnet,
795
- "ports": [],
796
- "services": [
797
- "AMQP",
798
- "AMQPS",
799
- "HTTPS",
800
- "STREAM",
801
- "STREAM_SSL",
802
- ],
803
- },
804
- {
805
- "description": "MGMT interface",
806
- "ip": "0.0.0.0/0",
807
- "ports": [],
808
- "services": ["HTTPS"],
809
- },
810
- ],
811
- opts = pulumi.ResourceOptions(depends_on=[vpc_connect]))
812
- ```
431
+ ## Import
813
432
 
814
- </details>
433
+ `cloudamqp_vpc_connect` can be imported using CloudAMQP instance identifier. To
815
434
 
816
- ## Depedency
435
+ retrieve the identifier, use [CloudAMQP API list intances].
817
436
 
818
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
437
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
819
438
 
820
- Since `region` also is required, suggest to reuse the argument from CloudAMQP instance,
821
- `cloudamqp_instance.instance.region`.
439
+ hcl
822
440
 
823
- ## Create VPC Connect with additional firewall rules
441
+ import {
824
442
 
825
- To create a PrivateLink/Private Service Connect configuration with additional firewall rules, it's required to chain the SecurityFirewall
826
- resource to avoid parallel conflicting resource calls. You can do this by making the firewall
827
- resource depend on the VPC Connect resource, `cloudamqp_vpc_connect.vpc_connect`.
443
+ to = cloudamqp_vpc_connect.this
828
444
 
829
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
830
- the VPC Connect also needs to be added.
445
+ id = cloudamqp_instance.instance.id
831
446
 
832
- ## Import
447
+ }
833
448
 
834
- `cloudamqp_vpc_connect` can be imported using CloudAMQP internal identifier.
449
+ Or use Terraform CLI:
835
450
 
836
451
  ```sh
837
452
  $ pulumi import cloudamqp:index/vpcConnect:VpcConnect vpc_connect <id>`
838
453
  ```
839
454
 
840
- 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).
841
-
842
455
  :param str resource_name: The name of the resource.
843
456
  :param VpcConnectArgs args: The arguments to use to populate this resource's properties.
844
457
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -854,13 +467,13 @@ class VpcConnect(pulumi.CustomResource):
854
467
  def _internal_init(__self__,
855
468
  resource_name: str,
856
469
  opts: Optional[pulumi.ResourceOptions] = None,
857
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
858
- allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
859
- approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
860
- instance_id: Optional[pulumi.Input[int]] = None,
861
- region: Optional[pulumi.Input[str]] = None,
862
- sleep: Optional[pulumi.Input[int]] = None,
863
- timeout: Optional[pulumi.Input[int]] = None,
470
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
471
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
472
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
473
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
474
+ region: Optional[pulumi.Input[builtins.str]] = None,
475
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
476
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
864
477
  __props__=None):
865
478
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
866
479
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -894,16 +507,16 @@ class VpcConnect(pulumi.CustomResource):
894
507
  def get(resource_name: str,
895
508
  id: pulumi.Input[str],
896
509
  opts: Optional[pulumi.ResourceOptions] = None,
897
- active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
898
- allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
899
- allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
900
- approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
901
- instance_id: Optional[pulumi.Input[int]] = None,
902
- region: Optional[pulumi.Input[str]] = None,
903
- service_name: Optional[pulumi.Input[str]] = None,
904
- sleep: Optional[pulumi.Input[int]] = None,
905
- status: Optional[pulumi.Input[str]] = None,
906
- timeout: Optional[pulumi.Input[int]] = None) -> 'VpcConnect':
510
+ active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
511
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
512
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
513
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
514
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
515
+ region: Optional[pulumi.Input[builtins.str]] = None,
516
+ service_name: Optional[pulumi.Input[builtins.str]] = None,
517
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
518
+ status: Optional[pulumi.Input[builtins.str]] = None,
519
+ timeout: Optional[pulumi.Input[builtins.int]] = None) -> 'VpcConnect':
907
520
  """
908
521
  Get an existing VpcConnect resource's state with the given name, id, and optional extra
909
522
  properties used to qualify the lookup.
@@ -911,30 +524,30 @@ class VpcConnect(pulumi.CustomResource):
911
524
  :param str resource_name: The unique name of the resulting resource.
912
525
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
913
526
  :param pulumi.ResourceOptions opts: Options for the resource.
914
- :param pulumi.Input[Sequence[pulumi.Input[str]]] active_zones: Covering availability zones used when creating an endpoint from other VPC. (AWS)
915
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
916
- :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_projects: List of allowed projects used by GCP, see below table.
917
- :param pulumi.Input[Sequence[pulumi.Input[str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below table.
918
- :param pulumi.Input[int] instance_id: The CloudAMQP instance identifier.
919
- :param pulumi.Input[str] region: The region where the CloudAMQP instance is hosted.
920
- :param pulumi.Input[str] service_name: Service name (alias for Azure, see example above) of the PrivateLink.
921
- :param pulumi.Input[int] sleep: Configurable sleep time (seconds) when enable Private Service Connect.
922
- Default set to 10 seconds.
923
- :param pulumi.Input[str] status: Private Service Connect status [enable, pending, disable]
924
- :param pulumi.Input[int] timeout: Configurable timeout time (seconds) when enable Private Service Connect.
925
- Default set to 1800 seconds.
527
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] active_zones: Covering availability zones used when creating an endpoint from other VPC. (AWS)
528
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
529
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
530
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
531
+ table.
532
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
533
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
534
+ :param pulumi.Input[builtins.str] service_name: Service name (alias for Azure, see example above) of the PrivateLink.
535
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
536
+ Service Connect. Default set to 10 seconds.
537
+ :param pulumi.Input[builtins.str] status: Private Service Connect status [enable, pending, disable]
538
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
539
+ Service Connect. Default set to 1800 seconds.
926
540
 
927
541
  ___
928
542
 
929
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
930
-
931
- | Platform | Description | Format |
932
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
933
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
934
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
935
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
543
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
544
+ provider platform:
936
545
 
937
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
546
+ | Platform | Description | Format |
547
+ |---|---|---|
548
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
549
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
550
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
938
551
  """
939
552
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
940
553
 
@@ -954,7 +567,7 @@ class VpcConnect(pulumi.CustomResource):
954
567
 
955
568
  @property
956
569
  @pulumi.getter(name="activeZones")
957
- def active_zones(self) -> pulumi.Output[Sequence[str]]:
570
+ def active_zones(self) -> pulumi.Output[Sequence[builtins.str]]:
958
571
  """
959
572
  Covering availability zones used when creating an endpoint from other VPC. (AWS)
960
573
  """
@@ -962,7 +575,7 @@ class VpcConnect(pulumi.CustomResource):
962
575
 
963
576
  @property
964
577
  @pulumi.getter(name="allowedPrincipals")
965
- def allowed_principals(self) -> pulumi.Output[Optional[Sequence[str]]]:
578
+ def allowed_principals(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
966
579
  """
967
580
  List of allowed prinicpals used by AWS, see below table.
968
581
  """
@@ -970,7 +583,7 @@ class VpcConnect(pulumi.CustomResource):
970
583
 
971
584
  @property
972
585
  @pulumi.getter(name="allowedProjects")
973
- def allowed_projects(self) -> pulumi.Output[Optional[Sequence[str]]]:
586
+ def allowed_projects(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
974
587
  """
975
588
  List of allowed projects used by GCP, see below table.
976
589
  """
@@ -978,15 +591,16 @@ class VpcConnect(pulumi.CustomResource):
978
591
 
979
592
  @property
980
593
  @pulumi.getter(name="approvedSubscriptions")
981
- def approved_subscriptions(self) -> pulumi.Output[Optional[Sequence[str]]]:
594
+ def approved_subscriptions(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
982
595
  """
983
- List of approved subscriptions used by Azure, see below table.
596
+ List of approved subscriptions used by Azure, see below
597
+ table.
984
598
  """
985
599
  return pulumi.get(self, "approved_subscriptions")
986
600
 
987
601
  @property
988
602
  @pulumi.getter(name="instanceId")
989
- def instance_id(self) -> pulumi.Output[int]:
603
+ def instance_id(self) -> pulumi.Output[builtins.int]:
990
604
  """
991
605
  The CloudAMQP instance identifier.
992
606
  """
@@ -994,7 +608,7 @@ class VpcConnect(pulumi.CustomResource):
994
608
 
995
609
  @property
996
610
  @pulumi.getter
997
- def region(self) -> pulumi.Output[str]:
611
+ def region(self) -> pulumi.Output[builtins.str]:
998
612
  """
999
613
  The region where the CloudAMQP instance is hosted.
1000
614
  """
@@ -1002,7 +616,7 @@ class VpcConnect(pulumi.CustomResource):
1002
616
 
1003
617
  @property
1004
618
  @pulumi.getter(name="serviceName")
1005
- def service_name(self) -> pulumi.Output[str]:
619
+ def service_name(self) -> pulumi.Output[builtins.str]:
1006
620
  """
1007
621
  Service name (alias for Azure, see example above) of the PrivateLink.
1008
622
  """
@@ -1010,16 +624,16 @@ class VpcConnect(pulumi.CustomResource):
1010
624
 
1011
625
  @property
1012
626
  @pulumi.getter
1013
- def sleep(self) -> pulumi.Output[Optional[int]]:
627
+ def sleep(self) -> pulumi.Output[Optional[builtins.int]]:
1014
628
  """
1015
- Configurable sleep time (seconds) when enable Private Service Connect.
1016
- Default set to 10 seconds.
629
+ Configurable sleep time (seconds) when enable Private
630
+ Service Connect. Default set to 10 seconds.
1017
631
  """
1018
632
  return pulumi.get(self, "sleep")
1019
633
 
1020
634
  @property
1021
635
  @pulumi.getter
1022
- def status(self) -> pulumi.Output[str]:
636
+ def status(self) -> pulumi.Output[builtins.str]:
1023
637
  """
1024
638
  Private Service Connect status [enable, pending, disable]
1025
639
  """
@@ -1027,22 +641,21 @@ class VpcConnect(pulumi.CustomResource):
1027
641
 
1028
642
  @property
1029
643
  @pulumi.getter
1030
- def timeout(self) -> pulumi.Output[Optional[int]]:
644
+ def timeout(self) -> pulumi.Output[Optional[builtins.int]]:
1031
645
  """
1032
- Configurable timeout time (seconds) when enable Private Service Connect.
1033
- Default set to 1800 seconds.
646
+ Configurable timeout time (seconds) when enable Private
647
+ Service Connect. Default set to 1800 seconds.
1034
648
 
1035
649
  ___
1036
650
 
1037
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
1038
-
1039
- | Platform | Description | Format |
1040
- |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
1041
- | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
1042
- | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
1043
- | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |
651
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
652
+ provider platform:
1044
653
 
1045
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
654
+ | Platform | Description | Format |
655
+ |---|---|---|
656
+ | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br>arn:aws:iam::aws-account-id:user/user-name<br> arn:aws:iam::aws-account-id:role/role-name |
657
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
658
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
1046
659
  """
1047
660
  return pulumi.get(self, "timeout")
1048
661