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,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:
196
-
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 |
197
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
198
+ provider platform:
202
199
 
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,394 +226,203 @@ 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:
346
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
347
+ provider platform:
345
348
 
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 |
351
-
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
 
361
362
  class VpcConnect(pulumi.CustomResource):
363
+
364
+ pulumi_type = "cloudamqp:index/vpcConnect:VpcConnect"
365
+
362
366
  @overload
363
367
  def __init__(__self__,
364
368
  resource_name: str,
365
369
  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,
370
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
371
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
372
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
373
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
374
+ region: Optional[pulumi.Input[builtins.str]] = None,
375
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
376
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
373
377
  __props__=None):
374
378
  """
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
- ```
379
+ ## Import
564
380
 
565
- </details>
381
+ `cloudamqp_vpc_connect` can be imported using CloudAMQP instance identifier. To
566
382
 
567
- ## Depedency
383
+ retrieve the identifier, use [CloudAMQP API list intances].
568
384
 
569
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
385
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
570
386
 
571
- Since `region` also is required, suggest to reuse the argument from CloudAMQP instance,
572
- `cloudamqp_instance.instance.region`.
387
+ hcl
573
388
 
574
- ## Create VPC Connect with additional firewall rules
389
+ import {
575
390
 
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`.
391
+ to = cloudamqp_vpc_connect.this
579
392
 
580
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
581
- the VPC Connect also needs to be added.
393
+ id = cloudamqp_instance.instance.id
582
394
 
583
- ## Import
395
+ }
584
396
 
585
- `cloudamqp_vpc_connect` can be imported using CloudAMQP internal identifier.
397
+ Or use Terraform CLI:
586
398
 
587
399
  ```sh
588
400
  $ pulumi import cloudamqp:index/vpcConnect:VpcConnect vpc_connect <id>`
589
401
  ```
590
402
 
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
403
  :param str resource_name: The name of the resource.
594
404
  :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.
405
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
406
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
407
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
408
+ table.
409
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
410
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
411
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
412
+ Service Connect. Default set to 10 seconds.
413
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
414
+ Service Connect. Default set to 1800 seconds.
604
415
 
605
416
  ___
606
417
 
607
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
608
-
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 |
418
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
419
+ provider platform:
614
420
 
615
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
421
+ | Platform | Description | Format |
422
+ |---|---|---|
423
+ | 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 |
424
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
425
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
616
426
  """
617
427
  ...
618
428
  @overload
@@ -621,224 +431,30 @@ class VpcConnect(pulumi.CustomResource):
621
431
  args: VpcConnectArgs,
622
432
  opts: Optional[pulumi.ResourceOptions] = None):
623
433
  """
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
- ```
434
+ ## Import
813
435
 
814
- </details>
436
+ `cloudamqp_vpc_connect` can be imported using CloudAMQP instance identifier. To
815
437
 
816
- ## Depedency
438
+ retrieve the identifier, use [CloudAMQP API list intances].
817
439
 
818
- This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
440
+ From Terraform v1.5.0, the `import` block can be used to import this resource:
819
441
 
820
- Since `region` also is required, suggest to reuse the argument from CloudAMQP instance,
821
- `cloudamqp_instance.instance.region`.
442
+ hcl
822
443
 
823
- ## Create VPC Connect with additional firewall rules
444
+ import {
824
445
 
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`.
446
+ to = cloudamqp_vpc_connect.this
828
447
 
829
- Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
830
- the VPC Connect also needs to be added.
448
+ id = cloudamqp_instance.instance.id
831
449
 
832
- ## Import
450
+ }
833
451
 
834
- `cloudamqp_vpc_connect` can be imported using CloudAMQP internal identifier.
452
+ Or use Terraform CLI:
835
453
 
836
454
  ```sh
837
455
  $ pulumi import cloudamqp:index/vpcConnect:VpcConnect vpc_connect <id>`
838
456
  ```
839
457
 
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
458
  :param str resource_name: The name of the resource.
843
459
  :param VpcConnectArgs args: The arguments to use to populate this resource's properties.
844
460
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -854,13 +470,13 @@ class VpcConnect(pulumi.CustomResource):
854
470
  def _internal_init(__self__,
855
471
  resource_name: str,
856
472
  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,
473
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
474
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
475
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
476
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
477
+ region: Optional[pulumi.Input[builtins.str]] = None,
478
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
479
+ timeout: Optional[pulumi.Input[builtins.int]] = None,
864
480
  __props__=None):
865
481
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
866
482
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -894,16 +510,16 @@ class VpcConnect(pulumi.CustomResource):
894
510
  def get(resource_name: str,
895
511
  id: pulumi.Input[str],
896
512
  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':
513
+ active_zones: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
514
+ allowed_principals: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
515
+ allowed_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
516
+ approved_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
517
+ instance_id: Optional[pulumi.Input[builtins.int]] = None,
518
+ region: Optional[pulumi.Input[builtins.str]] = None,
519
+ service_name: Optional[pulumi.Input[builtins.str]] = None,
520
+ sleep: Optional[pulumi.Input[builtins.int]] = None,
521
+ status: Optional[pulumi.Input[builtins.str]] = None,
522
+ timeout: Optional[pulumi.Input[builtins.int]] = None) -> 'VpcConnect':
907
523
  """
908
524
  Get an existing VpcConnect resource's state with the given name, id, and optional extra
909
525
  properties used to qualify the lookup.
@@ -911,30 +527,30 @@ class VpcConnect(pulumi.CustomResource):
911
527
  :param str resource_name: The unique name of the resulting resource.
912
528
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
913
529
  :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.
530
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] active_zones: Covering availability zones used when creating an endpoint from other VPC. (AWS)
531
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_principals: List of allowed prinicpals used by AWS, see below table.
532
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_projects: List of allowed projects used by GCP, see below table.
533
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] approved_subscriptions: List of approved subscriptions used by Azure, see below
534
+ table.
535
+ :param pulumi.Input[builtins.int] instance_id: The CloudAMQP instance identifier.
536
+ :param pulumi.Input[builtins.str] region: The region where the CloudAMQP instance is hosted.
537
+ :param pulumi.Input[builtins.str] service_name: Service name (alias for Azure, see example above) of the PrivateLink.
538
+ :param pulumi.Input[builtins.int] sleep: Configurable sleep time (seconds) when enable Private
539
+ Service Connect. Default set to 10 seconds.
540
+ :param pulumi.Input[builtins.str] status: Private Service Connect status [enable, pending, disable]
541
+ :param pulumi.Input[builtins.int] timeout: Configurable timeout time (seconds) when enable Private
542
+ Service Connect. Default set to 1800 seconds.
926
543
 
927
544
  ___
928
545
 
929
- The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the provider platform:
546
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
547
+ provider platform:
930
548
 
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 |
936
-
937
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
549
+ | Platform | Description | Format |
550
+ |---|---|---|
551
+ | 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 |
552
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
553
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
938
554
  """
939
555
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
940
556
 
@@ -954,7 +570,7 @@ class VpcConnect(pulumi.CustomResource):
954
570
 
955
571
  @property
956
572
  @pulumi.getter(name="activeZones")
957
- def active_zones(self) -> pulumi.Output[Sequence[str]]:
573
+ def active_zones(self) -> pulumi.Output[Sequence[builtins.str]]:
958
574
  """
959
575
  Covering availability zones used when creating an endpoint from other VPC. (AWS)
960
576
  """
@@ -962,7 +578,7 @@ class VpcConnect(pulumi.CustomResource):
962
578
 
963
579
  @property
964
580
  @pulumi.getter(name="allowedPrincipals")
965
- def allowed_principals(self) -> pulumi.Output[Optional[Sequence[str]]]:
581
+ def allowed_principals(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
966
582
  """
967
583
  List of allowed prinicpals used by AWS, see below table.
968
584
  """
@@ -970,7 +586,7 @@ class VpcConnect(pulumi.CustomResource):
970
586
 
971
587
  @property
972
588
  @pulumi.getter(name="allowedProjects")
973
- def allowed_projects(self) -> pulumi.Output[Optional[Sequence[str]]]:
589
+ def allowed_projects(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
974
590
  """
975
591
  List of allowed projects used by GCP, see below table.
976
592
  """
@@ -978,15 +594,16 @@ class VpcConnect(pulumi.CustomResource):
978
594
 
979
595
  @property
980
596
  @pulumi.getter(name="approvedSubscriptions")
981
- def approved_subscriptions(self) -> pulumi.Output[Optional[Sequence[str]]]:
597
+ def approved_subscriptions(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
982
598
  """
983
- List of approved subscriptions used by Azure, see below table.
599
+ List of approved subscriptions used by Azure, see below
600
+ table.
984
601
  """
985
602
  return pulumi.get(self, "approved_subscriptions")
986
603
 
987
604
  @property
988
605
  @pulumi.getter(name="instanceId")
989
- def instance_id(self) -> pulumi.Output[int]:
606
+ def instance_id(self) -> pulumi.Output[builtins.int]:
990
607
  """
991
608
  The CloudAMQP instance identifier.
992
609
  """
@@ -994,7 +611,7 @@ class VpcConnect(pulumi.CustomResource):
994
611
 
995
612
  @property
996
613
  @pulumi.getter
997
- def region(self) -> pulumi.Output[str]:
614
+ def region(self) -> pulumi.Output[builtins.str]:
998
615
  """
999
616
  The region where the CloudAMQP instance is hosted.
1000
617
  """
@@ -1002,7 +619,7 @@ class VpcConnect(pulumi.CustomResource):
1002
619
 
1003
620
  @property
1004
621
  @pulumi.getter(name="serviceName")
1005
- def service_name(self) -> pulumi.Output[str]:
622
+ def service_name(self) -> pulumi.Output[builtins.str]:
1006
623
  """
1007
624
  Service name (alias for Azure, see example above) of the PrivateLink.
1008
625
  """
@@ -1010,16 +627,16 @@ class VpcConnect(pulumi.CustomResource):
1010
627
 
1011
628
  @property
1012
629
  @pulumi.getter
1013
- def sleep(self) -> pulumi.Output[Optional[int]]:
630
+ def sleep(self) -> pulumi.Output[Optional[builtins.int]]:
1014
631
  """
1015
- Configurable sleep time (seconds) when enable Private Service Connect.
1016
- Default set to 10 seconds.
632
+ Configurable sleep time (seconds) when enable Private
633
+ Service Connect. Default set to 10 seconds.
1017
634
  """
1018
635
  return pulumi.get(self, "sleep")
1019
636
 
1020
637
  @property
1021
638
  @pulumi.getter
1022
- def status(self) -> pulumi.Output[str]:
639
+ def status(self) -> pulumi.Output[builtins.str]:
1023
640
  """
1024
641
  Private Service Connect status [enable, pending, disable]
1025
642
  """
@@ -1027,22 +644,21 @@ class VpcConnect(pulumi.CustomResource):
1027
644
 
1028
645
  @property
1029
646
  @pulumi.getter
1030
- def timeout(self) -> pulumi.Output[Optional[int]]:
647
+ def timeout(self) -> pulumi.Output[Optional[builtins.int]]:
1031
648
  """
1032
- Configurable timeout time (seconds) when enable Private Service Connect.
1033
- Default set to 1800 seconds.
649
+ Configurable timeout time (seconds) when enable Private
650
+ Service Connect. Default set to 1800 seconds.
1034
651
 
1035
652
  ___
1036
653
 
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 |
654
+ The `allowed_principals`, `approved_subscriptions` or `allowed_projects` data depends on the
655
+ provider platform:
1044
656
 
1045
- *https://cloud.google.com/resource-manager/reference/rest/v1/projects
657
+ | Platform | Description | Format |
658
+ |---|---|---|
659
+ | 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 |
660
+ | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
661
+ | GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |
1046
662
  """
1047
663
  return pulumi.get(self, "timeout")
1048
664