pulumi-cloudamqp 3.19.0__py3-none-any.whl → 3.19.0a1718255852__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.
- pulumi_cloudamqp/_utilities.py +4 -40
- pulumi_cloudamqp/extra_disk_size.py +1 -1
- pulumi_cloudamqp/get_nodes.py +0 -4
- pulumi_cloudamqp/instance.py +13 -13
- pulumi_cloudamqp/integration_metric.py +18 -6
- pulumi_cloudamqp/node_actions.py +10 -10
- pulumi_cloudamqp/notification.py +23 -59
- pulumi_cloudamqp/outputs.py +0 -14
- pulumi_cloudamqp/privatelink_aws.py +26 -26
- pulumi_cloudamqp/privatelink_azure.py +26 -26
- pulumi_cloudamqp/pulumi-plugin.json +1 -1
- pulumi_cloudamqp/security_firewall.py +3 -3
- pulumi_cloudamqp/upgrade_rabbitmq.py +17 -279
- pulumi_cloudamqp/vpc_connect.py +26 -26
- pulumi_cloudamqp/vpc_gcp_peering.py +50 -50
- {pulumi_cloudamqp-3.19.0.dist-info → pulumi_cloudamqp-3.19.0a1718255852.dist-info}/METADATA +1 -1
- {pulumi_cloudamqp-3.19.0.dist-info → pulumi_cloudamqp-3.19.0a1718255852.dist-info}/RECORD +19 -19
- {pulumi_cloudamqp-3.19.0.dist-info → pulumi_cloudamqp-3.19.0a1718255852.dist-info}/WHEEL +1 -1
- {pulumi_cloudamqp-3.19.0.dist-info → pulumi_cloudamqp-3.19.0a1718255852.dist-info}/top_level.txt +0 -0
|
@@ -331,26 +331,26 @@ class PrivatelinkAzure(pulumi.CustomResource):
|
|
|
331
331
|
firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
|
|
332
332
|
instance_id=instance.id,
|
|
333
333
|
rules=[
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
334
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
335
|
+
description="Custom PrivateLink setup",
|
|
336
|
+
ip=vpc.subnet,
|
|
337
|
+
ports=[],
|
|
338
|
+
services=[
|
|
339
339
|
"AMQP",
|
|
340
340
|
"AMQPS",
|
|
341
341
|
"HTTPS",
|
|
342
342
|
"STREAM",
|
|
343
343
|
"STREAM_SSL",
|
|
344
344
|
],
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
345
|
+
),
|
|
346
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
347
|
+
description="MGMT interface",
|
|
348
|
+
ip="0.0.0.0/0",
|
|
349
|
+
ports=[],
|
|
350
|
+
services=["HTTPS"],
|
|
351
|
+
),
|
|
352
352
|
],
|
|
353
|
-
opts
|
|
353
|
+
opts=pulumi.ResourceOptions(depends_on=[privatelink]))
|
|
354
354
|
```
|
|
355
355
|
|
|
356
356
|
</details>
|
|
@@ -493,26 +493,26 @@ class PrivatelinkAzure(pulumi.CustomResource):
|
|
|
493
493
|
firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
|
|
494
494
|
instance_id=instance.id,
|
|
495
495
|
rules=[
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
496
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
497
|
+
description="Custom PrivateLink setup",
|
|
498
|
+
ip=vpc.subnet,
|
|
499
|
+
ports=[],
|
|
500
|
+
services=[
|
|
501
501
|
"AMQP",
|
|
502
502
|
"AMQPS",
|
|
503
503
|
"HTTPS",
|
|
504
504
|
"STREAM",
|
|
505
505
|
"STREAM_SSL",
|
|
506
506
|
],
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
507
|
+
),
|
|
508
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
509
|
+
description="MGMT interface",
|
|
510
|
+
ip="0.0.0.0/0",
|
|
511
|
+
ports=[],
|
|
512
|
+
services=["HTTPS"],
|
|
513
|
+
),
|
|
514
514
|
],
|
|
515
|
-
opts
|
|
515
|
+
opts=pulumi.ResourceOptions(depends_on=[privatelink]))
|
|
516
516
|
```
|
|
517
517
|
|
|
518
518
|
</details>
|
|
@@ -153,7 +153,7 @@ class SecurityFirewall(pulumi.CustomResource):
|
|
|
153
153
|
resource_name: str,
|
|
154
154
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
155
155
|
instance_id: Optional[pulumi.Input[int]] = None,
|
|
156
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
156
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecurityFirewallRuleArgs']]]]] = None,
|
|
157
157
|
sleep: Optional[pulumi.Input[int]] = None,
|
|
158
158
|
timeout: Optional[pulumi.Input[int]] = None,
|
|
159
159
|
__props__=None):
|
|
@@ -203,7 +203,7 @@ class SecurityFirewall(pulumi.CustomResource):
|
|
|
203
203
|
resource_name: str,
|
|
204
204
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
205
205
|
instance_id: Optional[pulumi.Input[int]] = None,
|
|
206
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
206
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecurityFirewallRuleArgs']]]]] = None,
|
|
207
207
|
sleep: Optional[pulumi.Input[int]] = None,
|
|
208
208
|
timeout: Optional[pulumi.Input[int]] = None,
|
|
209
209
|
__props__=None):
|
|
@@ -234,7 +234,7 @@ class SecurityFirewall(pulumi.CustomResource):
|
|
|
234
234
|
id: pulumi.Input[str],
|
|
235
235
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
236
236
|
instance_id: Optional[pulumi.Input[int]] = None,
|
|
237
|
-
rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
237
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecurityFirewallRuleArgs']]]]] = None,
|
|
238
238
|
sleep: Optional[pulumi.Input[int]] = None,
|
|
239
239
|
timeout: Optional[pulumi.Input[int]] = None) -> 'SecurityFirewall':
|
|
240
240
|
"""
|
|
@@ -14,20 +14,12 @@ __all__ = ['UpgradeRabbitmqArgs', 'UpgradeRabbitmq']
|
|
|
14
14
|
@pulumi.input_type
|
|
15
15
|
class UpgradeRabbitmqArgs:
|
|
16
16
|
def __init__(__self__, *,
|
|
17
|
-
instance_id: pulumi.Input[int]
|
|
18
|
-
current_version: Optional[pulumi.Input[str]] = None,
|
|
19
|
-
new_version: Optional[pulumi.Input[str]] = None):
|
|
17
|
+
instance_id: pulumi.Input[int]):
|
|
20
18
|
"""
|
|
21
19
|
The set of arguments for constructing a UpgradeRabbitmq resource.
|
|
22
20
|
:param pulumi.Input[int] instance_id: The CloudAMQP instance identifier
|
|
23
|
-
:param pulumi.Input[str] current_version: Helper argument to change upgrade behaviour to latest possible version
|
|
24
|
-
:param pulumi.Input[str] new_version: The new version to upgrade to
|
|
25
21
|
"""
|
|
26
22
|
pulumi.set(__self__, "instance_id", instance_id)
|
|
27
|
-
if current_version is not None:
|
|
28
|
-
pulumi.set(__self__, "current_version", current_version)
|
|
29
|
-
if new_version is not None:
|
|
30
|
-
pulumi.set(__self__, "new_version", new_version)
|
|
31
23
|
|
|
32
24
|
@property
|
|
33
25
|
@pulumi.getter(name="instanceId")
|
|
@@ -41,61 +33,17 @@ class UpgradeRabbitmqArgs:
|
|
|
41
33
|
def instance_id(self, value: pulumi.Input[int]):
|
|
42
34
|
pulumi.set(self, "instance_id", value)
|
|
43
35
|
|
|
44
|
-
@property
|
|
45
|
-
@pulumi.getter(name="currentVersion")
|
|
46
|
-
def current_version(self) -> Optional[pulumi.Input[str]]:
|
|
47
|
-
"""
|
|
48
|
-
Helper argument to change upgrade behaviour to latest possible version
|
|
49
|
-
"""
|
|
50
|
-
return pulumi.get(self, "current_version")
|
|
51
|
-
|
|
52
|
-
@current_version.setter
|
|
53
|
-
def current_version(self, value: Optional[pulumi.Input[str]]):
|
|
54
|
-
pulumi.set(self, "current_version", value)
|
|
55
|
-
|
|
56
|
-
@property
|
|
57
|
-
@pulumi.getter(name="newVersion")
|
|
58
|
-
def new_version(self) -> Optional[pulumi.Input[str]]:
|
|
59
|
-
"""
|
|
60
|
-
The new version to upgrade to
|
|
61
|
-
"""
|
|
62
|
-
return pulumi.get(self, "new_version")
|
|
63
|
-
|
|
64
|
-
@new_version.setter
|
|
65
|
-
def new_version(self, value: Optional[pulumi.Input[str]]):
|
|
66
|
-
pulumi.set(self, "new_version", value)
|
|
67
|
-
|
|
68
36
|
|
|
69
37
|
@pulumi.input_type
|
|
70
38
|
class _UpgradeRabbitmqState:
|
|
71
39
|
def __init__(__self__, *,
|
|
72
|
-
|
|
73
|
-
instance_id: Optional[pulumi.Input[int]] = None,
|
|
74
|
-
new_version: Optional[pulumi.Input[str]] = None):
|
|
40
|
+
instance_id: Optional[pulumi.Input[int]] = None):
|
|
75
41
|
"""
|
|
76
42
|
Input properties used for looking up and filtering UpgradeRabbitmq resources.
|
|
77
|
-
:param pulumi.Input[str] current_version: Helper argument to change upgrade behaviour to latest possible version
|
|
78
43
|
:param pulumi.Input[int] instance_id: The CloudAMQP instance identifier
|
|
79
|
-
:param pulumi.Input[str] new_version: The new version to upgrade to
|
|
80
44
|
"""
|
|
81
|
-
if current_version is not None:
|
|
82
|
-
pulumi.set(__self__, "current_version", current_version)
|
|
83
45
|
if instance_id is not None:
|
|
84
46
|
pulumi.set(__self__, "instance_id", instance_id)
|
|
85
|
-
if new_version is not None:
|
|
86
|
-
pulumi.set(__self__, "new_version", new_version)
|
|
87
|
-
|
|
88
|
-
@property
|
|
89
|
-
@pulumi.getter(name="currentVersion")
|
|
90
|
-
def current_version(self) -> Optional[pulumi.Input[str]]:
|
|
91
|
-
"""
|
|
92
|
-
Helper argument to change upgrade behaviour to latest possible version
|
|
93
|
-
"""
|
|
94
|
-
return pulumi.get(self, "current_version")
|
|
95
|
-
|
|
96
|
-
@current_version.setter
|
|
97
|
-
def current_version(self, value: Optional[pulumi.Input[str]]):
|
|
98
|
-
pulumi.set(self, "current_version", value)
|
|
99
47
|
|
|
100
48
|
@property
|
|
101
49
|
@pulumi.getter(name="instanceId")
|
|
@@ -109,104 +57,28 @@ class _UpgradeRabbitmqState:
|
|
|
109
57
|
def instance_id(self, value: Optional[pulumi.Input[int]]):
|
|
110
58
|
pulumi.set(self, "instance_id", value)
|
|
111
59
|
|
|
112
|
-
@property
|
|
113
|
-
@pulumi.getter(name="newVersion")
|
|
114
|
-
def new_version(self) -> Optional[pulumi.Input[str]]:
|
|
115
|
-
"""
|
|
116
|
-
The new version to upgrade to
|
|
117
|
-
"""
|
|
118
|
-
return pulumi.get(self, "new_version")
|
|
119
|
-
|
|
120
|
-
@new_version.setter
|
|
121
|
-
def new_version(self, value: Optional[pulumi.Input[str]]):
|
|
122
|
-
pulumi.set(self, "new_version", value)
|
|
123
|
-
|
|
124
60
|
|
|
125
61
|
class UpgradeRabbitmq(pulumi.CustomResource):
|
|
126
62
|
@overload
|
|
127
63
|
def __init__(__self__,
|
|
128
64
|
resource_name: str,
|
|
129
65
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
130
|
-
current_version: Optional[pulumi.Input[str]] = None,
|
|
131
66
|
instance_id: Optional[pulumi.Input[int]] = None,
|
|
132
|
-
new_version: Optional[pulumi.Input[str]] = None,
|
|
133
67
|
__props__=None):
|
|
134
68
|
"""
|
|
135
|
-
This resource allows you to upgrade RabbitMQ
|
|
69
|
+
This resource allows you to automatically upgrade to the latest possible upgradable versions for RabbitMQ and Erlang. Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest versions. After completed upgrade, check data source `get_upgradable_versions` to see if newer versions is available. Then delete `UpgradeRabbitmq` and create it again to invoke the upgrade.
|
|
136
70
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
> -
|
|
140
|
-
> -
|
|
141
|
-
> -
|
|
142
|
-
|
|
143
|
-
See, below example usage for the difference.
|
|
71
|
+
> **Important Upgrade Information**
|
|
72
|
+
> - All single node upgrades will require some downtime since RabbitMQ needs a restart.
|
|
73
|
+
> - From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime.
|
|
74
|
+
> - Auto delete queues (queues that are marked AD) will be deleted during the update.
|
|
75
|
+
> - Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed.
|
|
76
|
+
> - TLS 1.0 and 1.1 will not be supported after the update.
|
|
144
77
|
|
|
145
78
|
Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
146
79
|
|
|
147
80
|
## Example Usage
|
|
148
81
|
|
|
149
|
-
<details>
|
|
150
|
-
<summary>
|
|
151
|
-
<b>
|
|
152
|
-
<i>Specify version upgrade, from v1.40.0</i>
|
|
153
|
-
</b>
|
|
154
|
-
</summary>
|
|
155
|
-
|
|
156
|
-
Specify the version to upgrade to. List available upgradable versions, use [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html#get-available-versions).
|
|
157
|
-
After the upgrade finished, there can still be newer versions available.
|
|
158
|
-
|
|
159
|
-
```python
|
|
160
|
-
import pulumi
|
|
161
|
-
import pulumi_cloudamqp as cloudamqp
|
|
162
|
-
|
|
163
|
-
instance = cloudamqp.Instance("instance",
|
|
164
|
-
name="rabbitmq-version-upgrade-test",
|
|
165
|
-
plan="bunny-1",
|
|
166
|
-
region="amazon-web-services::us-west-1")
|
|
167
|
-
upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
|
|
168
|
-
instance_id=instance.id,
|
|
169
|
-
new_version="3.13.2")
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
</details>
|
|
173
|
-
|
|
174
|
-
<details>
|
|
175
|
-
<summary>
|
|
176
|
-
<b>
|
|
177
|
-
<i>Upgrade to latest possible version, from v1.40.0</i>
|
|
178
|
-
</b>
|
|
179
|
-
</summary>
|
|
180
|
-
|
|
181
|
-
This will upgrade RabbitMQ to the latest possible version detected by the data source `get_upgradable_versions`.
|
|
182
|
-
Multiple runs can be needed to upgrade the version even further.
|
|
183
|
-
|
|
184
|
-
```python
|
|
185
|
-
import pulumi
|
|
186
|
-
import pulumi_cloudamqp as cloudamqp
|
|
187
|
-
|
|
188
|
-
instance = cloudamqp.Instance("instance",
|
|
189
|
-
name="rabbitmq-version-upgrade-test",
|
|
190
|
-
plan="bunny-1",
|
|
191
|
-
region="amazon-web-services::us-west-1")
|
|
192
|
-
upgradable_versions = instance.id.apply(lambda id: cloudamqp.get_upgradable_versions_output(instance_id=id))
|
|
193
|
-
upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
|
|
194
|
-
instance_id=instance.id,
|
|
195
|
-
current_version=instance.rmq_version,
|
|
196
|
-
new_version=upgradable_versions.new_rabbitmq_version)
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
</details>
|
|
200
|
-
|
|
201
|
-
<details>
|
|
202
|
-
<summary>
|
|
203
|
-
<b>
|
|
204
|
-
<i>Upgrade to latest possible version, before v1.40.0</i>
|
|
205
|
-
</b>
|
|
206
|
-
</summary>
|
|
207
|
-
|
|
208
|
-
Old behaviour of the upgrading the RabbitMQ version. No longer recommended.
|
|
209
|
-
|
|
210
82
|
```python
|
|
211
83
|
import pulumi
|
|
212
84
|
import pulumi_cloudamqp as cloudamqp
|
|
@@ -237,37 +109,13 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
237
109
|
upgrade = cloudamqp.UpgradeRabbitmq("upgrade", instance_id=instance["id"])
|
|
238
110
|
```
|
|
239
111
|
|
|
240
|
-
</details>
|
|
241
|
-
|
|
242
|
-
## Important Upgrade Information
|
|
243
|
-
|
|
244
|
-
> - All single node upgrades will require some downtime since RabbitMQ needs a restart.
|
|
245
|
-
> - From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime.
|
|
246
|
-
> - Auto delete queues (queues that are marked AD) will be deleted during the update.
|
|
247
|
-
> - Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed.
|
|
248
|
-
> - TLS 1.0 and 1.1 will not be supported after the update.
|
|
249
|
-
|
|
250
|
-
## Multiple runs
|
|
251
|
-
|
|
252
|
-
Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest or wanted version.
|
|
253
|
-
|
|
254
|
-
Example steps needed when starting at RabbitMQ version 3.12.2
|
|
255
|
-
|
|
256
|
-
| Version | Supported upgrading versions | Min version to upgrade Erlang |
|
|
257
|
-
|------------------|-------------------------------------------|-------------------------------|
|
|
258
|
-
| 3.12.2 | 3.12.4, 3.12.6, 3.12.10, 3.12.12, 3.12.13 | 3.12.13 |
|
|
259
|
-
| 3.12.13 | 3.13.2 | 3.13.2 |
|
|
260
|
-
| 3.13.2 | - | - |
|
|
261
|
-
|
|
262
112
|
## Import
|
|
263
113
|
|
|
264
114
|
Not possible to import this resource.
|
|
265
115
|
|
|
266
116
|
:param str resource_name: The name of the resource.
|
|
267
117
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
268
|
-
:param pulumi.Input[str] current_version: Helper argument to change upgrade behaviour to latest possible version
|
|
269
118
|
:param pulumi.Input[int] instance_id: The CloudAMQP instance identifier
|
|
270
|
-
:param pulumi.Input[str] new_version: The new version to upgrade to
|
|
271
119
|
"""
|
|
272
120
|
...
|
|
273
121
|
@overload
|
|
@@ -276,81 +124,19 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
276
124
|
args: UpgradeRabbitmqArgs,
|
|
277
125
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
278
126
|
"""
|
|
279
|
-
This resource allows you to upgrade RabbitMQ
|
|
280
|
-
|
|
281
|
-
There is three different ways to trigger the version upgrade
|
|
127
|
+
This resource allows you to automatically upgrade to the latest possible upgradable versions for RabbitMQ and Erlang. Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest versions. After completed upgrade, check data source `get_upgradable_versions` to see if newer versions is available. Then delete `UpgradeRabbitmq` and create it again to invoke the upgrade.
|
|
282
128
|
|
|
283
|
-
>
|
|
284
|
-
> -
|
|
285
|
-
> -
|
|
286
|
-
|
|
287
|
-
|
|
129
|
+
> **Important Upgrade Information**
|
|
130
|
+
> - All single node upgrades will require some downtime since RabbitMQ needs a restart.
|
|
131
|
+
> - From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime.
|
|
132
|
+
> - Auto delete queues (queues that are marked AD) will be deleted during the update.
|
|
133
|
+
> - Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed.
|
|
134
|
+
> - TLS 1.0 and 1.1 will not be supported after the update.
|
|
288
135
|
|
|
289
136
|
Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
290
137
|
|
|
291
138
|
## Example Usage
|
|
292
139
|
|
|
293
|
-
<details>
|
|
294
|
-
<summary>
|
|
295
|
-
<b>
|
|
296
|
-
<i>Specify version upgrade, from v1.40.0</i>
|
|
297
|
-
</b>
|
|
298
|
-
</summary>
|
|
299
|
-
|
|
300
|
-
Specify the version to upgrade to. List available upgradable versions, use [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html#get-available-versions).
|
|
301
|
-
After the upgrade finished, there can still be newer versions available.
|
|
302
|
-
|
|
303
|
-
```python
|
|
304
|
-
import pulumi
|
|
305
|
-
import pulumi_cloudamqp as cloudamqp
|
|
306
|
-
|
|
307
|
-
instance = cloudamqp.Instance("instance",
|
|
308
|
-
name="rabbitmq-version-upgrade-test",
|
|
309
|
-
plan="bunny-1",
|
|
310
|
-
region="amazon-web-services::us-west-1")
|
|
311
|
-
upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
|
|
312
|
-
instance_id=instance.id,
|
|
313
|
-
new_version="3.13.2")
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
</details>
|
|
317
|
-
|
|
318
|
-
<details>
|
|
319
|
-
<summary>
|
|
320
|
-
<b>
|
|
321
|
-
<i>Upgrade to latest possible version, from v1.40.0</i>
|
|
322
|
-
</b>
|
|
323
|
-
</summary>
|
|
324
|
-
|
|
325
|
-
This will upgrade RabbitMQ to the latest possible version detected by the data source `get_upgradable_versions`.
|
|
326
|
-
Multiple runs can be needed to upgrade the version even further.
|
|
327
|
-
|
|
328
|
-
```python
|
|
329
|
-
import pulumi
|
|
330
|
-
import pulumi_cloudamqp as cloudamqp
|
|
331
|
-
|
|
332
|
-
instance = cloudamqp.Instance("instance",
|
|
333
|
-
name="rabbitmq-version-upgrade-test",
|
|
334
|
-
plan="bunny-1",
|
|
335
|
-
region="amazon-web-services::us-west-1")
|
|
336
|
-
upgradable_versions = instance.id.apply(lambda id: cloudamqp.get_upgradable_versions_output(instance_id=id))
|
|
337
|
-
upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
|
|
338
|
-
instance_id=instance.id,
|
|
339
|
-
current_version=instance.rmq_version,
|
|
340
|
-
new_version=upgradable_versions.new_rabbitmq_version)
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
</details>
|
|
344
|
-
|
|
345
|
-
<details>
|
|
346
|
-
<summary>
|
|
347
|
-
<b>
|
|
348
|
-
<i>Upgrade to latest possible version, before v1.40.0</i>
|
|
349
|
-
</b>
|
|
350
|
-
</summary>
|
|
351
|
-
|
|
352
|
-
Old behaviour of the upgrading the RabbitMQ version. No longer recommended.
|
|
353
|
-
|
|
354
140
|
```python
|
|
355
141
|
import pulumi
|
|
356
142
|
import pulumi_cloudamqp as cloudamqp
|
|
@@ -381,28 +167,6 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
381
167
|
upgrade = cloudamqp.UpgradeRabbitmq("upgrade", instance_id=instance["id"])
|
|
382
168
|
```
|
|
383
169
|
|
|
384
|
-
</details>
|
|
385
|
-
|
|
386
|
-
## Important Upgrade Information
|
|
387
|
-
|
|
388
|
-
> - All single node upgrades will require some downtime since RabbitMQ needs a restart.
|
|
389
|
-
> - From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime.
|
|
390
|
-
> - Auto delete queues (queues that are marked AD) will be deleted during the update.
|
|
391
|
-
> - Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed.
|
|
392
|
-
> - TLS 1.0 and 1.1 will not be supported after the update.
|
|
393
|
-
|
|
394
|
-
## Multiple runs
|
|
395
|
-
|
|
396
|
-
Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest or wanted version.
|
|
397
|
-
|
|
398
|
-
Example steps needed when starting at RabbitMQ version 3.12.2
|
|
399
|
-
|
|
400
|
-
| Version | Supported upgrading versions | Min version to upgrade Erlang |
|
|
401
|
-
|------------------|-------------------------------------------|-------------------------------|
|
|
402
|
-
| 3.12.2 | 3.12.4, 3.12.6, 3.12.10, 3.12.12, 3.12.13 | 3.12.13 |
|
|
403
|
-
| 3.12.13 | 3.13.2 | 3.13.2 |
|
|
404
|
-
| 3.13.2 | - | - |
|
|
405
|
-
|
|
406
170
|
## Import
|
|
407
171
|
|
|
408
172
|
Not possible to import this resource.
|
|
@@ -422,9 +186,7 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
422
186
|
def _internal_init(__self__,
|
|
423
187
|
resource_name: str,
|
|
424
188
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
425
|
-
current_version: Optional[pulumi.Input[str]] = None,
|
|
426
189
|
instance_id: Optional[pulumi.Input[int]] = None,
|
|
427
|
-
new_version: Optional[pulumi.Input[str]] = None,
|
|
428
190
|
__props__=None):
|
|
429
191
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
430
192
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -434,11 +196,9 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
434
196
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
435
197
|
__props__ = UpgradeRabbitmqArgs.__new__(UpgradeRabbitmqArgs)
|
|
436
198
|
|
|
437
|
-
__props__.__dict__["current_version"] = current_version
|
|
438
199
|
if instance_id is None and not opts.urn:
|
|
439
200
|
raise TypeError("Missing required property 'instance_id'")
|
|
440
201
|
__props__.__dict__["instance_id"] = instance_id
|
|
441
|
-
__props__.__dict__["new_version"] = new_version
|
|
442
202
|
super(UpgradeRabbitmq, __self__).__init__(
|
|
443
203
|
'cloudamqp:index/upgradeRabbitmq:UpgradeRabbitmq',
|
|
444
204
|
resource_name,
|
|
@@ -449,9 +209,7 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
449
209
|
def get(resource_name: str,
|
|
450
210
|
id: pulumi.Input[str],
|
|
451
211
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
452
|
-
|
|
453
|
-
instance_id: Optional[pulumi.Input[int]] = None,
|
|
454
|
-
new_version: Optional[pulumi.Input[str]] = None) -> 'UpgradeRabbitmq':
|
|
212
|
+
instance_id: Optional[pulumi.Input[int]] = None) -> 'UpgradeRabbitmq':
|
|
455
213
|
"""
|
|
456
214
|
Get an existing UpgradeRabbitmq resource's state with the given name, id, and optional extra
|
|
457
215
|
properties used to qualify the lookup.
|
|
@@ -459,27 +217,15 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
459
217
|
:param str resource_name: The unique name of the resulting resource.
|
|
460
218
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
461
219
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
462
|
-
:param pulumi.Input[str] current_version: Helper argument to change upgrade behaviour to latest possible version
|
|
463
220
|
:param pulumi.Input[int] instance_id: The CloudAMQP instance identifier
|
|
464
|
-
:param pulumi.Input[str] new_version: The new version to upgrade to
|
|
465
221
|
"""
|
|
466
222
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
467
223
|
|
|
468
224
|
__props__ = _UpgradeRabbitmqState.__new__(_UpgradeRabbitmqState)
|
|
469
225
|
|
|
470
|
-
__props__.__dict__["current_version"] = current_version
|
|
471
226
|
__props__.__dict__["instance_id"] = instance_id
|
|
472
|
-
__props__.__dict__["new_version"] = new_version
|
|
473
227
|
return UpgradeRabbitmq(resource_name, opts=opts, __props__=__props__)
|
|
474
228
|
|
|
475
|
-
@property
|
|
476
|
-
@pulumi.getter(name="currentVersion")
|
|
477
|
-
def current_version(self) -> pulumi.Output[Optional[str]]:
|
|
478
|
-
"""
|
|
479
|
-
Helper argument to change upgrade behaviour to latest possible version
|
|
480
|
-
"""
|
|
481
|
-
return pulumi.get(self, "current_version")
|
|
482
|
-
|
|
483
229
|
@property
|
|
484
230
|
@pulumi.getter(name="instanceId")
|
|
485
231
|
def instance_id(self) -> pulumi.Output[int]:
|
|
@@ -488,11 +234,3 @@ class UpgradeRabbitmq(pulumi.CustomResource):
|
|
|
488
234
|
"""
|
|
489
235
|
return pulumi.get(self, "instance_id")
|
|
490
236
|
|
|
491
|
-
@property
|
|
492
|
-
@pulumi.getter(name="newVersion")
|
|
493
|
-
def new_version(self) -> pulumi.Output[Optional[str]]:
|
|
494
|
-
"""
|
|
495
|
-
The new version to upgrade to
|
|
496
|
-
"""
|
|
497
|
-
return pulumi.get(self, "new_version")
|
|
498
|
-
|
pulumi_cloudamqp/vpc_connect.py
CHANGED
|
@@ -510,26 +510,26 @@ class VpcConnect(pulumi.CustomResource):
|
|
|
510
510
|
firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
|
|
511
511
|
instance_id=instance.id,
|
|
512
512
|
rules=[
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
513
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
514
|
+
description="Custom PrivateLink setup",
|
|
515
|
+
ip=vpc.subnet,
|
|
516
|
+
ports=[],
|
|
517
|
+
services=[
|
|
518
518
|
"AMQP",
|
|
519
519
|
"AMQPS",
|
|
520
520
|
"HTTPS",
|
|
521
521
|
"STREAM",
|
|
522
522
|
"STREAM_SSL",
|
|
523
523
|
],
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
524
|
+
),
|
|
525
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
526
|
+
description="MGMT interface",
|
|
527
|
+
ip="0.0.0.0/0",
|
|
528
|
+
ports=[],
|
|
529
|
+
services=["HTTPS"],
|
|
530
|
+
),
|
|
531
531
|
],
|
|
532
|
-
opts
|
|
532
|
+
opts=pulumi.ResourceOptions(depends_on=[vpc_connect]))
|
|
533
533
|
```
|
|
534
534
|
|
|
535
535
|
</details>
|
|
@@ -734,26 +734,26 @@ class VpcConnect(pulumi.CustomResource):
|
|
|
734
734
|
firewall_settings = cloudamqp.SecurityFirewall("firewall_settings",
|
|
735
735
|
instance_id=instance.id,
|
|
736
736
|
rules=[
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
737
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
738
|
+
description="Custom PrivateLink setup",
|
|
739
|
+
ip=vpc.subnet,
|
|
740
|
+
ports=[],
|
|
741
|
+
services=[
|
|
742
742
|
"AMQP",
|
|
743
743
|
"AMQPS",
|
|
744
744
|
"HTTPS",
|
|
745
745
|
"STREAM",
|
|
746
746
|
"STREAM_SSL",
|
|
747
747
|
],
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
748
|
+
),
|
|
749
|
+
cloudamqp.SecurityFirewallRuleArgs(
|
|
750
|
+
description="MGMT interface",
|
|
751
|
+
ip="0.0.0.0/0",
|
|
752
|
+
ports=[],
|
|
753
|
+
services=["HTTPS"],
|
|
754
|
+
),
|
|
755
755
|
],
|
|
756
|
-
opts
|
|
756
|
+
opts=pulumi.ResourceOptions(depends_on=[vpc_connect]))
|
|
757
757
|
```
|
|
758
758
|
|
|
759
759
|
</details>
|