pulumi-cloudamqp 3.12.1__tar.gz → 3.13.0__tar.gz

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 (52) hide show
  1. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/PKG-INFO +1 -1
  2. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/_inputs.py +42 -0
  3. pulumi_cloudamqp-3.13.0/pulumi_cloudamqp/extra_disk_size.py +645 -0
  4. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_nodes.py +22 -14
  5. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/outputs.py +49 -0
  6. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/PKG-INFO +1 -1
  7. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/setup.py +2 -2
  8. pulumi_cloudamqp-3.12.1/pulumi_cloudamqp/extra_disk_size.py +0 -250
  9. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/README.md +0 -0
  10. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/__init__.py +0 -0
  11. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/_utilities.py +0 -0
  12. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/alarm.py +0 -0
  13. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/config/__init__.py +0 -0
  14. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/config/vars.py +0 -0
  15. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/custom_domain.py +0 -0
  16. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_account.py +0 -0
  17. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_account_vpcs.py +0 -0
  18. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_alarm.py +0 -0
  19. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_credentials.py +0 -0
  20. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_instance.py +0 -0
  21. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_notification.py +0 -0
  22. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_plugins.py +0 -0
  23. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_plugins_community.py +0 -0
  24. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_upgradable_versions.py +0 -0
  25. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_vpc_gcp_info.py +0 -0
  26. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/get_vpc_info.py +0 -0
  27. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/instance.py +0 -0
  28. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/integration_aws_eventbridge.py +0 -0
  29. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/integration_log.py +0 -0
  30. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/integration_metric.py +0 -0
  31. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/node_actions.py +0 -0
  32. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/notification.py +0 -0
  33. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/plugin.py +0 -0
  34. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/plugin_community.py +0 -0
  35. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/privatelink_aws.py +0 -0
  36. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/privatelink_azure.py +0 -0
  37. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/provider.py +0 -0
  38. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/pulumi-plugin.json +0 -0
  39. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/py.typed +0 -0
  40. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/rabbit_configuration.py +0 -0
  41. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/security_firewall.py +0 -0
  42. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/upgrade_rabbitmq.py +0 -0
  43. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/vpc.py +0 -0
  44. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/vpc_gcp_peering.py +0 -0
  45. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/vpc_peering.py +0 -0
  46. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp/webhook.py +0 -0
  47. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/SOURCES.txt +0 -0
  48. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/dependency_links.txt +0 -0
  49. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/not-zip-safe +0 -0
  50. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/requires.txt +0 -0
  51. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/pulumi_cloudamqp.egg-info/top_level.txt +0 -0
  52. {pulumi_cloudamqp-3.12.1 → pulumi_cloudamqp-3.13.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_cloudamqp
3
- Version: 3.12.1
3
+ Version: 3.13.0
4
4
  Summary: A Pulumi package for creating and managing CloudAMQP resources.
5
5
  Home-page: https://pulumi.io
6
6
  License: Apache-2.0
@@ -10,9 +10,51 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'ExtraDiskSizeNodeArgs',
13
14
  'SecurityFirewallRuleArgs',
14
15
  ]
15
16
 
17
+ @pulumi.input_type
18
+ class ExtraDiskSizeNodeArgs:
19
+ def __init__(__self__, *,
20
+ additional_disk_size: Optional[pulumi.Input[int]] = None,
21
+ disk_size: Optional[pulumi.Input[int]] = None,
22
+ name: Optional[pulumi.Input[str]] = None):
23
+ if additional_disk_size is not None:
24
+ pulumi.set(__self__, "additional_disk_size", additional_disk_size)
25
+ if disk_size is not None:
26
+ pulumi.set(__self__, "disk_size", disk_size)
27
+ if name is not None:
28
+ pulumi.set(__self__, "name", name)
29
+
30
+ @property
31
+ @pulumi.getter(name="additionalDiskSize")
32
+ def additional_disk_size(self) -> Optional[pulumi.Input[int]]:
33
+ return pulumi.get(self, "additional_disk_size")
34
+
35
+ @additional_disk_size.setter
36
+ def additional_disk_size(self, value: Optional[pulumi.Input[int]]):
37
+ pulumi.set(self, "additional_disk_size", value)
38
+
39
+ @property
40
+ @pulumi.getter(name="diskSize")
41
+ def disk_size(self) -> Optional[pulumi.Input[int]]:
42
+ return pulumi.get(self, "disk_size")
43
+
44
+ @disk_size.setter
45
+ def disk_size(self, value: Optional[pulumi.Input[int]]):
46
+ pulumi.set(self, "disk_size", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def name(self) -> Optional[pulumi.Input[str]]:
51
+ return pulumi.get(self, "name")
52
+
53
+ @name.setter
54
+ def name(self, value: Optional[pulumi.Input[str]]):
55
+ pulumi.set(self, "name", value)
56
+
57
+
16
58
  @pulumi.input_type
17
59
  class SecurityFirewallRuleArgs:
18
60
  def __init__(__self__, *,
@@ -0,0 +1,645 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['ExtraDiskSizeArgs', 'ExtraDiskSize']
15
+
16
+ @pulumi.input_type
17
+ class ExtraDiskSizeArgs:
18
+ def __init__(__self__, *,
19
+ extra_disk_size: pulumi.Input[int],
20
+ instance_id: pulumi.Input[int],
21
+ allow_downtime: Optional[pulumi.Input[bool]] = None,
22
+ sleep: Optional[pulumi.Input[int]] = None,
23
+ timeout: Optional[pulumi.Input[int]] = None):
24
+ """
25
+ The set of arguments for constructing a ExtraDiskSize resource.
26
+ :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
27
+ :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
28
+ :param pulumi.Input[bool] allow_downtime: When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
29
+ :param pulumi.Input[int] sleep: Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
30
+ :param pulumi.Input[int] timeout: Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
31
+ """
32
+ pulumi.set(__self__, "extra_disk_size", extra_disk_size)
33
+ pulumi.set(__self__, "instance_id", instance_id)
34
+ if allow_downtime is not None:
35
+ pulumi.set(__self__, "allow_downtime", allow_downtime)
36
+ if sleep is not None:
37
+ pulumi.set(__self__, "sleep", sleep)
38
+ if timeout is not None:
39
+ pulumi.set(__self__, "timeout", timeout)
40
+
41
+ @property
42
+ @pulumi.getter(name="extraDiskSize")
43
+ def extra_disk_size(self) -> pulumi.Input[int]:
44
+ """
45
+ Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
46
+ """
47
+ return pulumi.get(self, "extra_disk_size")
48
+
49
+ @extra_disk_size.setter
50
+ def extra_disk_size(self, value: pulumi.Input[int]):
51
+ pulumi.set(self, "extra_disk_size", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="instanceId")
55
+ def instance_id(self) -> pulumi.Input[int]:
56
+ """
57
+ The CloudAMQP instance ID.
58
+ """
59
+ return pulumi.get(self, "instance_id")
60
+
61
+ @instance_id.setter
62
+ def instance_id(self, value: pulumi.Input[int]):
63
+ pulumi.set(self, "instance_id", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="allowDowntime")
67
+ def allow_downtime(self) -> Optional[pulumi.Input[bool]]:
68
+ """
69
+ When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
70
+ """
71
+ return pulumi.get(self, "allow_downtime")
72
+
73
+ @allow_downtime.setter
74
+ def allow_downtime(self, value: Optional[pulumi.Input[bool]]):
75
+ pulumi.set(self, "allow_downtime", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def sleep(self) -> Optional[pulumi.Input[int]]:
80
+ """
81
+ Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
82
+ """
83
+ return pulumi.get(self, "sleep")
84
+
85
+ @sleep.setter
86
+ def sleep(self, value: Optional[pulumi.Input[int]]):
87
+ pulumi.set(self, "sleep", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def timeout(self) -> Optional[pulumi.Input[int]]:
92
+ """
93
+ Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
94
+ """
95
+ return pulumi.get(self, "timeout")
96
+
97
+ @timeout.setter
98
+ def timeout(self, value: Optional[pulumi.Input[int]]):
99
+ pulumi.set(self, "timeout", value)
100
+
101
+
102
+ @pulumi.input_type
103
+ class _ExtraDiskSizeState:
104
+ def __init__(__self__, *,
105
+ allow_downtime: Optional[pulumi.Input[bool]] = None,
106
+ extra_disk_size: Optional[pulumi.Input[int]] = None,
107
+ instance_id: Optional[pulumi.Input[int]] = None,
108
+ nodes: Optional[pulumi.Input[Sequence[pulumi.Input['ExtraDiskSizeNodeArgs']]]] = None,
109
+ sleep: Optional[pulumi.Input[int]] = None,
110
+ timeout: Optional[pulumi.Input[int]] = None):
111
+ """
112
+ Input properties used for looking up and filtering ExtraDiskSize resources.
113
+ :param pulumi.Input[bool] allow_downtime: When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
114
+ :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
115
+ :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
116
+ :param pulumi.Input[int] sleep: Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
117
+ :param pulumi.Input[int] timeout: Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
118
+ """
119
+ if allow_downtime is not None:
120
+ pulumi.set(__self__, "allow_downtime", allow_downtime)
121
+ if extra_disk_size is not None:
122
+ pulumi.set(__self__, "extra_disk_size", extra_disk_size)
123
+ if instance_id is not None:
124
+ pulumi.set(__self__, "instance_id", instance_id)
125
+ if nodes is not None:
126
+ pulumi.set(__self__, "nodes", nodes)
127
+ if sleep is not None:
128
+ pulumi.set(__self__, "sleep", sleep)
129
+ if timeout is not None:
130
+ pulumi.set(__self__, "timeout", timeout)
131
+
132
+ @property
133
+ @pulumi.getter(name="allowDowntime")
134
+ def allow_downtime(self) -> Optional[pulumi.Input[bool]]:
135
+ """
136
+ When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
137
+ """
138
+ return pulumi.get(self, "allow_downtime")
139
+
140
+ @allow_downtime.setter
141
+ def allow_downtime(self, value: Optional[pulumi.Input[bool]]):
142
+ pulumi.set(self, "allow_downtime", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="extraDiskSize")
146
+ def extra_disk_size(self) -> Optional[pulumi.Input[int]]:
147
+ """
148
+ Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
149
+ """
150
+ return pulumi.get(self, "extra_disk_size")
151
+
152
+ @extra_disk_size.setter
153
+ def extra_disk_size(self, value: Optional[pulumi.Input[int]]):
154
+ pulumi.set(self, "extra_disk_size", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="instanceId")
158
+ def instance_id(self) -> Optional[pulumi.Input[int]]:
159
+ """
160
+ The CloudAMQP instance ID.
161
+ """
162
+ return pulumi.get(self, "instance_id")
163
+
164
+ @instance_id.setter
165
+ def instance_id(self, value: Optional[pulumi.Input[int]]):
166
+ pulumi.set(self, "instance_id", value)
167
+
168
+ @property
169
+ @pulumi.getter
170
+ def nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExtraDiskSizeNodeArgs']]]]:
171
+ return pulumi.get(self, "nodes")
172
+
173
+ @nodes.setter
174
+ def nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExtraDiskSizeNodeArgs']]]]):
175
+ pulumi.set(self, "nodes", value)
176
+
177
+ @property
178
+ @pulumi.getter
179
+ def sleep(self) -> Optional[pulumi.Input[int]]:
180
+ """
181
+ Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
182
+ """
183
+ return pulumi.get(self, "sleep")
184
+
185
+ @sleep.setter
186
+ def sleep(self, value: Optional[pulumi.Input[int]]):
187
+ pulumi.set(self, "sleep", value)
188
+
189
+ @property
190
+ @pulumi.getter
191
+ def timeout(self) -> Optional[pulumi.Input[int]]:
192
+ """
193
+ Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
194
+ """
195
+ return pulumi.get(self, "timeout")
196
+
197
+ @timeout.setter
198
+ def timeout(self, value: Optional[pulumi.Input[int]]):
199
+ pulumi.set(self, "timeout", value)
200
+
201
+
202
+ class ExtraDiskSize(pulumi.CustomResource):
203
+ @overload
204
+ def __init__(__self__,
205
+ resource_name: str,
206
+ opts: Optional[pulumi.ResourceOptions] = None,
207
+ allow_downtime: Optional[pulumi.Input[bool]] = None,
208
+ extra_disk_size: Optional[pulumi.Input[int]] = None,
209
+ instance_id: Optional[pulumi.Input[int]] = None,
210
+ sleep: Optional[pulumi.Input[int]] = None,
211
+ timeout: Optional[pulumi.Input[int]] = None,
212
+ __props__=None):
213
+ """
214
+ This resource allows you to resize the disk with additional storage capacity.
215
+
216
+ ***Pre v1.25.0***: Only available for Amazon Web Services (AWS) and it done without downtime
217
+
218
+ ***Post v1.25.0***: Now also available for Google Compute Engine (GCE) and Azure.
219
+
220
+ Introducing a new optional argument called `allow_downtime`. Leaving it out or set it to false will proceed to try and resize the disk without downtime, available for *AWS* and *GCE*.
221
+ While *Azure* only support swapping the disk, and this argument needs to be set to *true*.
222
+
223
+ `allow_downtime` also makes it possible to circumvent the time rate limit or shrinking the disk.
224
+
225
+ | Cloud Platform | allow_downtime=false | allow_downtime=true |
226
+ |-----------------------|----------------------|-------------------------------|
227
+ | amazon-web-services | Expand current disk* | Try to expand, otherwise swap |
228
+ | google-compute-engine | Expand current disk* | Try to expand, otherwise swap |
229
+ | azure-arm | Not supported | Swap disk to new size |
230
+
231
+ *Preferable method to use.
232
+
233
+ > **WARNING:** Due to restrictions from cloud providers, it's only possible to resize the disk every 8 hours. Unless the `allow_downtime=true` is set, then the disk will be swapped for a new.
234
+
235
+ Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/) and only available for dedicated subscription plans.
236
+
237
+ ## Example Usage
238
+
239
+ <details>
240
+ <summary>
241
+ <b>
242
+ <i>AWS extra disk size (pre v1.25.0)</i>
243
+ </b>
244
+ </summary>
245
+
246
+ ```python
247
+ import pulumi
248
+ import pulumi_cloudamqp as cloudamqp
249
+
250
+ # Instance
251
+ instance = cloudamqp.Instance("instance",
252
+ plan="bunny-1",
253
+ region="amazon-web-services::us-west-2")
254
+ # Resize disk with 25 extra GB
255
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
256
+ instance_id=instance.id,
257
+ extra_disk_size=25)
258
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
259
+ ```
260
+
261
+ </details>
262
+
263
+ <details>
264
+ <summary>
265
+ <b>
266
+ <i>AWS extra disk size without downtime</i>
267
+ </b>
268
+ </summary>
269
+
270
+ ```python
271
+ import pulumi
272
+ import pulumi_cloudamqp as cloudamqp
273
+
274
+ # Instance
275
+ instance = cloudamqp.Instance("instance",
276
+ plan="bunny-1",
277
+ region="amazon-web-services::us-west-2")
278
+ # Resize disk with 25 extra GB, without downtime
279
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
280
+ instance_id=instance.id,
281
+ extra_disk_size=25)
282
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
283
+ ```
284
+
285
+ </details>
286
+
287
+ <details>
288
+ <summary>
289
+ <b>
290
+ <i>GCE extra disk size without downtime</i>
291
+ </b>
292
+ </summary>
293
+
294
+ ```python
295
+ import pulumi
296
+ import pulumi_cloudamqp as cloudamqp
297
+
298
+ # Instance
299
+ instance = cloudamqp.Instance("instance",
300
+ plan="bunny-1",
301
+ region="google-compute-engine::us-central1")
302
+ # Resize disk with 25 extra GB, without downtime
303
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
304
+ instance_id=instance.id,
305
+ extra_disk_size=25)
306
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
307
+ ```
308
+
309
+ </details>
310
+
311
+ <details>
312
+ <summary>
313
+ <b>
314
+ <i>Azure extra disk size with downtime</i>
315
+ </b>
316
+ </summary>
317
+
318
+ ```python
319
+ import pulumi
320
+ import pulumi_cloudamqp as cloudamqp
321
+
322
+ # Instance
323
+ instance = cloudamqp.Instance("instance",
324
+ plan="bunny-1",
325
+ region="azure-arm::centralus")
326
+ # Resize disk with 25 extra GB, with downtime
327
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
328
+ instance_id=instance.id,
329
+ extra_disk_size=25,
330
+ allow_downtime=True)
331
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
332
+ ```
333
+
334
+ </details>
335
+ ## Attributes reference
336
+
337
+ All attributes reference are computed
338
+
339
+ * `id` - The identifier for this resource.
340
+ * `nodes` - An array of node information. Each `nodes` block consists of the fields documented below.
341
+
342
+ ***
343
+
344
+ The `nodes` block consist of
345
+
346
+ * `name` - Name of the node.
347
+ * `disk_size` - Subscription plan disk size
348
+ * `additional_disk_size` - Additional added disk size
349
+
350
+ ***Note:*** *Total disk size = disk_size + additional_disk_size*
351
+
352
+ ## Dependency
353
+
354
+ This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
355
+
356
+ ## Import
357
+
358
+ Not possible to import this resource.
359
+
360
+ :param str resource_name: The name of the resource.
361
+ :param pulumi.ResourceOptions opts: Options for the resource.
362
+ :param pulumi.Input[bool] allow_downtime: When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
363
+ :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
364
+ :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
365
+ :param pulumi.Input[int] sleep: Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
366
+ :param pulumi.Input[int] timeout: Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
367
+ """
368
+ ...
369
+ @overload
370
+ def __init__(__self__,
371
+ resource_name: str,
372
+ args: ExtraDiskSizeArgs,
373
+ opts: Optional[pulumi.ResourceOptions] = None):
374
+ """
375
+ This resource allows you to resize the disk with additional storage capacity.
376
+
377
+ ***Pre v1.25.0***: Only available for Amazon Web Services (AWS) and it done without downtime
378
+
379
+ ***Post v1.25.0***: Now also available for Google Compute Engine (GCE) and Azure.
380
+
381
+ Introducing a new optional argument called `allow_downtime`. Leaving it out or set it to false will proceed to try and resize the disk without downtime, available for *AWS* and *GCE*.
382
+ While *Azure* only support swapping the disk, and this argument needs to be set to *true*.
383
+
384
+ `allow_downtime` also makes it possible to circumvent the time rate limit or shrinking the disk.
385
+
386
+ | Cloud Platform | allow_downtime=false | allow_downtime=true |
387
+ |-----------------------|----------------------|-------------------------------|
388
+ | amazon-web-services | Expand current disk* | Try to expand, otherwise swap |
389
+ | google-compute-engine | Expand current disk* | Try to expand, otherwise swap |
390
+ | azure-arm | Not supported | Swap disk to new size |
391
+
392
+ *Preferable method to use.
393
+
394
+ > **WARNING:** Due to restrictions from cloud providers, it's only possible to resize the disk every 8 hours. Unless the `allow_downtime=true` is set, then the disk will be swapped for a new.
395
+
396
+ Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/) and only available for dedicated subscription plans.
397
+
398
+ ## Example Usage
399
+
400
+ <details>
401
+ <summary>
402
+ <b>
403
+ <i>AWS extra disk size (pre v1.25.0)</i>
404
+ </b>
405
+ </summary>
406
+
407
+ ```python
408
+ import pulumi
409
+ import pulumi_cloudamqp as cloudamqp
410
+
411
+ # Instance
412
+ instance = cloudamqp.Instance("instance",
413
+ plan="bunny-1",
414
+ region="amazon-web-services::us-west-2")
415
+ # Resize disk with 25 extra GB
416
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
417
+ instance_id=instance.id,
418
+ extra_disk_size=25)
419
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
420
+ ```
421
+
422
+ </details>
423
+
424
+ <details>
425
+ <summary>
426
+ <b>
427
+ <i>AWS extra disk size without downtime</i>
428
+ </b>
429
+ </summary>
430
+
431
+ ```python
432
+ import pulumi
433
+ import pulumi_cloudamqp as cloudamqp
434
+
435
+ # Instance
436
+ instance = cloudamqp.Instance("instance",
437
+ plan="bunny-1",
438
+ region="amazon-web-services::us-west-2")
439
+ # Resize disk with 25 extra GB, without downtime
440
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
441
+ instance_id=instance.id,
442
+ extra_disk_size=25)
443
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
444
+ ```
445
+
446
+ </details>
447
+
448
+ <details>
449
+ <summary>
450
+ <b>
451
+ <i>GCE extra disk size without downtime</i>
452
+ </b>
453
+ </summary>
454
+
455
+ ```python
456
+ import pulumi
457
+ import pulumi_cloudamqp as cloudamqp
458
+
459
+ # Instance
460
+ instance = cloudamqp.Instance("instance",
461
+ plan="bunny-1",
462
+ region="google-compute-engine::us-central1")
463
+ # Resize disk with 25 extra GB, without downtime
464
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
465
+ instance_id=instance.id,
466
+ extra_disk_size=25)
467
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
468
+ ```
469
+
470
+ </details>
471
+
472
+ <details>
473
+ <summary>
474
+ <b>
475
+ <i>Azure extra disk size with downtime</i>
476
+ </b>
477
+ </summary>
478
+
479
+ ```python
480
+ import pulumi
481
+ import pulumi_cloudamqp as cloudamqp
482
+
483
+ # Instance
484
+ instance = cloudamqp.Instance("instance",
485
+ plan="bunny-1",
486
+ region="azure-arm::centralus")
487
+ # Resize disk with 25 extra GB, with downtime
488
+ resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
489
+ instance_id=instance.id,
490
+ extra_disk_size=25,
491
+ allow_downtime=True)
492
+ nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
493
+ ```
494
+
495
+ </details>
496
+ ## Attributes reference
497
+
498
+ All attributes reference are computed
499
+
500
+ * `id` - The identifier for this resource.
501
+ * `nodes` - An array of node information. Each `nodes` block consists of the fields documented below.
502
+
503
+ ***
504
+
505
+ The `nodes` block consist of
506
+
507
+ * `name` - Name of the node.
508
+ * `disk_size` - Subscription plan disk size
509
+ * `additional_disk_size` - Additional added disk size
510
+
511
+ ***Note:*** *Total disk size = disk_size + additional_disk_size*
512
+
513
+ ## Dependency
514
+
515
+ This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
516
+
517
+ ## Import
518
+
519
+ Not possible to import this resource.
520
+
521
+ :param str resource_name: The name of the resource.
522
+ :param ExtraDiskSizeArgs args: The arguments to use to populate this resource's properties.
523
+ :param pulumi.ResourceOptions opts: Options for the resource.
524
+ """
525
+ ...
526
+ def __init__(__self__, resource_name: str, *args, **kwargs):
527
+ resource_args, opts = _utilities.get_resource_args_opts(ExtraDiskSizeArgs, pulumi.ResourceOptions, *args, **kwargs)
528
+ if resource_args is not None:
529
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
530
+ else:
531
+ __self__._internal_init(resource_name, *args, **kwargs)
532
+
533
+ def _internal_init(__self__,
534
+ resource_name: str,
535
+ opts: Optional[pulumi.ResourceOptions] = None,
536
+ allow_downtime: Optional[pulumi.Input[bool]] = None,
537
+ extra_disk_size: Optional[pulumi.Input[int]] = None,
538
+ instance_id: Optional[pulumi.Input[int]] = None,
539
+ sleep: Optional[pulumi.Input[int]] = None,
540
+ timeout: Optional[pulumi.Input[int]] = None,
541
+ __props__=None):
542
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
543
+ if not isinstance(opts, pulumi.ResourceOptions):
544
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
545
+ if opts.id is None:
546
+ if __props__ is not None:
547
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
548
+ __props__ = ExtraDiskSizeArgs.__new__(ExtraDiskSizeArgs)
549
+
550
+ __props__.__dict__["allow_downtime"] = allow_downtime
551
+ if extra_disk_size is None and not opts.urn:
552
+ raise TypeError("Missing required property 'extra_disk_size'")
553
+ __props__.__dict__["extra_disk_size"] = extra_disk_size
554
+ if instance_id is None and not opts.urn:
555
+ raise TypeError("Missing required property 'instance_id'")
556
+ __props__.__dict__["instance_id"] = instance_id
557
+ __props__.__dict__["sleep"] = sleep
558
+ __props__.__dict__["timeout"] = timeout
559
+ __props__.__dict__["nodes"] = None
560
+ super(ExtraDiskSize, __self__).__init__(
561
+ 'cloudamqp:index/extraDiskSize:ExtraDiskSize',
562
+ resource_name,
563
+ __props__,
564
+ opts)
565
+
566
+ @staticmethod
567
+ def get(resource_name: str,
568
+ id: pulumi.Input[str],
569
+ opts: Optional[pulumi.ResourceOptions] = None,
570
+ allow_downtime: Optional[pulumi.Input[bool]] = None,
571
+ extra_disk_size: Optional[pulumi.Input[int]] = None,
572
+ instance_id: Optional[pulumi.Input[int]] = None,
573
+ nodes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExtraDiskSizeNodeArgs']]]]] = None,
574
+ sleep: Optional[pulumi.Input[int]] = None,
575
+ timeout: Optional[pulumi.Input[int]] = None) -> 'ExtraDiskSize':
576
+ """
577
+ Get an existing ExtraDiskSize resource's state with the given name, id, and optional extra
578
+ properties used to qualify the lookup.
579
+
580
+ :param str resource_name: The unique name of the resulting resource.
581
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
582
+ :param pulumi.ResourceOptions opts: Options for the resource.
583
+ :param pulumi.Input[bool] allow_downtime: When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
584
+ :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
585
+ :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
586
+ :param pulumi.Input[int] sleep: Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
587
+ :param pulumi.Input[int] timeout: Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
588
+ """
589
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
590
+
591
+ __props__ = _ExtraDiskSizeState.__new__(_ExtraDiskSizeState)
592
+
593
+ __props__.__dict__["allow_downtime"] = allow_downtime
594
+ __props__.__dict__["extra_disk_size"] = extra_disk_size
595
+ __props__.__dict__["instance_id"] = instance_id
596
+ __props__.__dict__["nodes"] = nodes
597
+ __props__.__dict__["sleep"] = sleep
598
+ __props__.__dict__["timeout"] = timeout
599
+ return ExtraDiskSize(resource_name, opts=opts, __props__=__props__)
600
+
601
+ @property
602
+ @pulumi.getter(name="allowDowntime")
603
+ def allow_downtime(self) -> pulumi.Output[Optional[bool]]:
604
+ """
605
+ When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
606
+ """
607
+ return pulumi.get(self, "allow_downtime")
608
+
609
+ @property
610
+ @pulumi.getter(name="extraDiskSize")
611
+ def extra_disk_size(self) -> pulumi.Output[int]:
612
+ """
613
+ Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
614
+ """
615
+ return pulumi.get(self, "extra_disk_size")
616
+
617
+ @property
618
+ @pulumi.getter(name="instanceId")
619
+ def instance_id(self) -> pulumi.Output[int]:
620
+ """
621
+ The CloudAMQP instance ID.
622
+ """
623
+ return pulumi.get(self, "instance_id")
624
+
625
+ @property
626
+ @pulumi.getter
627
+ def nodes(self) -> pulumi.Output[Sequence['outputs.ExtraDiskSizeNode']]:
628
+ return pulumi.get(self, "nodes")
629
+
630
+ @property
631
+ @pulumi.getter
632
+ def sleep(self) -> pulumi.Output[Optional[int]]:
633
+ """
634
+ Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
635
+ """
636
+ return pulumi.get(self, "sleep")
637
+
638
+ @property
639
+ @pulumi.getter
640
+ def timeout(self) -> pulumi.Output[Optional[int]]:
641
+ """
642
+ Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
643
+ """
644
+ return pulumi.get(self, "timeout")
645
+
@@ -87,13 +87,17 @@ def get_nodes(instance_id: Optional[int] = None,
87
87
 
88
88
  The `nodes` block consist of
89
89
 
90
- * `hostname` - External hostname assigned to the node.
91
- * `name` - Name of the node.
92
- * `running` - Is the node running?
93
- * `rabbitmq_version` - Currently configured Rabbit MQ version on the node.
94
- * `erlang_version` - Currently used Erlanbg version on the node.
95
- * `hipe` - Enable or disable High-performance Erlang.
96
- * `configured` - Is the node configured?
90
+ * `hostname` - External hostname assigned to the node.
91
+ * `name` - Name of the node.
92
+ * `running` - Is the node running?
93
+ * `rabbitmq_version` - Currently configured Rabbit MQ version on the node.
94
+ * `erlang_version` - Currently used Erlanbg version on the node.
95
+ * `hipe` - Enable or disable High-performance Erlang.
96
+ * `configured` - Is the node configured?
97
+ * `disk_size` - Subscription plan disk size
98
+ * `additional_disk_size` - Additional added disk size
99
+
100
+ ***Note:*** *Total disk size = disk_size + additional_disk_size*
97
101
 
98
102
  ## Dependency
99
103
 
@@ -138,13 +142,17 @@ def get_nodes_output(instance_id: Optional[pulumi.Input[int]] = None,
138
142
 
139
143
  The `nodes` block consist of
140
144
 
141
- * `hostname` - External hostname assigned to the node.
142
- * `name` - Name of the node.
143
- * `running` - Is the node running?
144
- * `rabbitmq_version` - Currently configured Rabbit MQ version on the node.
145
- * `erlang_version` - Currently used Erlanbg version on the node.
146
- * `hipe` - Enable or disable High-performance Erlang.
147
- * `configured` - Is the node configured?
145
+ * `hostname` - External hostname assigned to the node.
146
+ * `name` - Name of the node.
147
+ * `running` - Is the node running?
148
+ * `rabbitmq_version` - Currently configured Rabbit MQ version on the node.
149
+ * `erlang_version` - Currently used Erlanbg version on the node.
150
+ * `hipe` - Enable or disable High-performance Erlang.
151
+ * `configured` - Is the node configured?
152
+ * `disk_size` - Subscription plan disk size
153
+ * `additional_disk_size` - Additional added disk size
154
+
155
+ ***Note:*** *Total disk size = disk_size + additional_disk_size*
148
156
 
149
157
  ## Dependency
150
158
 
@@ -10,6 +10,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'ExtraDiskSizeNode',
13
14
  'SecurityFirewallRule',
14
15
  'GetAccountInstanceResult',
15
16
  'GetAccountVpcsVpcResult',
@@ -18,6 +19,54 @@ __all__ = [
18
19
  'GetPluginsPluginResult',
19
20
  ]
20
21
 
22
+ @pulumi.output_type
23
+ class ExtraDiskSizeNode(dict):
24
+ @staticmethod
25
+ def __key_warning(key: str):
26
+ suggest = None
27
+ if key == "additionalDiskSize":
28
+ suggest = "additional_disk_size"
29
+ elif key == "diskSize":
30
+ suggest = "disk_size"
31
+
32
+ if suggest:
33
+ pulumi.log.warn(f"Key '{key}' not found in ExtraDiskSizeNode. Access the value via the '{suggest}' property getter instead.")
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ ExtraDiskSizeNode.__key_warning(key)
37
+ return super().__getitem__(key)
38
+
39
+ def get(self, key: str, default = None) -> Any:
40
+ ExtraDiskSizeNode.__key_warning(key)
41
+ return super().get(key, default)
42
+
43
+ def __init__(__self__, *,
44
+ additional_disk_size: Optional[int] = None,
45
+ disk_size: Optional[int] = None,
46
+ name: Optional[str] = None):
47
+ if additional_disk_size is not None:
48
+ pulumi.set(__self__, "additional_disk_size", additional_disk_size)
49
+ if disk_size is not None:
50
+ pulumi.set(__self__, "disk_size", disk_size)
51
+ if name is not None:
52
+ pulumi.set(__self__, "name", name)
53
+
54
+ @property
55
+ @pulumi.getter(name="additionalDiskSize")
56
+ def additional_disk_size(self) -> Optional[int]:
57
+ return pulumi.get(self, "additional_disk_size")
58
+
59
+ @property
60
+ @pulumi.getter(name="diskSize")
61
+ def disk_size(self) -> Optional[int]:
62
+ return pulumi.get(self, "disk_size")
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def name(self) -> Optional[str]:
67
+ return pulumi.get(self, "name")
68
+
69
+
21
70
  @pulumi.output_type
22
71
  class SecurityFirewallRule(dict):
23
72
  def __init__(__self__, *,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi-cloudamqp
3
- Version: 3.12.1
3
+ Version: 3.13.0
4
4
  Summary: A Pulumi package for creating and managing CloudAMQP resources.
5
5
  Home-page: https://pulumi.io
6
6
  License: Apache-2.0
@@ -8,8 +8,8 @@ from setuptools.command.install import install
8
8
  from subprocess import check_call
9
9
 
10
10
 
11
- VERSION = "3.12.1"
12
- PLUGIN_VERSION = "3.12.1"
11
+ VERSION = "3.13.0"
12
+ PLUGIN_VERSION = "3.13.0"
13
13
 
14
14
  class InstallPluginCommand(install):
15
15
  def run(self):
@@ -1,250 +0,0 @@
1
- # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
- # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
-
5
- import copy
6
- import warnings
7
- import pulumi
8
- import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
10
- from . import _utilities
11
-
12
- __all__ = ['ExtraDiskSizeArgs', 'ExtraDiskSize']
13
-
14
- @pulumi.input_type
15
- class ExtraDiskSizeArgs:
16
- def __init__(__self__, *,
17
- extra_disk_size: pulumi.Input[int],
18
- instance_id: pulumi.Input[int]):
19
- """
20
- The set of arguments for constructing a ExtraDiskSize resource.
21
- :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
22
- :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
23
- """
24
- pulumi.set(__self__, "extra_disk_size", extra_disk_size)
25
- pulumi.set(__self__, "instance_id", instance_id)
26
-
27
- @property
28
- @pulumi.getter(name="extraDiskSize")
29
- def extra_disk_size(self) -> pulumi.Input[int]:
30
- """
31
- Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
32
- """
33
- return pulumi.get(self, "extra_disk_size")
34
-
35
- @extra_disk_size.setter
36
- def extra_disk_size(self, value: pulumi.Input[int]):
37
- pulumi.set(self, "extra_disk_size", value)
38
-
39
- @property
40
- @pulumi.getter(name="instanceId")
41
- def instance_id(self) -> pulumi.Input[int]:
42
- """
43
- The CloudAMQP instance ID.
44
- """
45
- return pulumi.get(self, "instance_id")
46
-
47
- @instance_id.setter
48
- def instance_id(self, value: pulumi.Input[int]):
49
- pulumi.set(self, "instance_id", value)
50
-
51
-
52
- @pulumi.input_type
53
- class _ExtraDiskSizeState:
54
- def __init__(__self__, *,
55
- extra_disk_size: Optional[pulumi.Input[int]] = None,
56
- instance_id: Optional[pulumi.Input[int]] = None):
57
- """
58
- Input properties used for looking up and filtering ExtraDiskSize resources.
59
- :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
60
- :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
61
- """
62
- if extra_disk_size is not None:
63
- pulumi.set(__self__, "extra_disk_size", extra_disk_size)
64
- if instance_id is not None:
65
- pulumi.set(__self__, "instance_id", instance_id)
66
-
67
- @property
68
- @pulumi.getter(name="extraDiskSize")
69
- def extra_disk_size(self) -> Optional[pulumi.Input[int]]:
70
- """
71
- Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
72
- """
73
- return pulumi.get(self, "extra_disk_size")
74
-
75
- @extra_disk_size.setter
76
- def extra_disk_size(self, value: Optional[pulumi.Input[int]]):
77
- pulumi.set(self, "extra_disk_size", value)
78
-
79
- @property
80
- @pulumi.getter(name="instanceId")
81
- def instance_id(self) -> Optional[pulumi.Input[int]]:
82
- """
83
- The CloudAMQP instance ID.
84
- """
85
- return pulumi.get(self, "instance_id")
86
-
87
- @instance_id.setter
88
- def instance_id(self, value: Optional[pulumi.Input[int]]):
89
- pulumi.set(self, "instance_id", value)
90
-
91
-
92
- class ExtraDiskSize(pulumi.CustomResource):
93
- @overload
94
- def __init__(__self__,
95
- resource_name: str,
96
- opts: Optional[pulumi.ResourceOptions] = None,
97
- extra_disk_size: Optional[pulumi.Input[int]] = None,
98
- instance_id: Optional[pulumi.Input[int]] = None,
99
- __props__=None):
100
- """
101
- This resource allows you to expand the disk with additional storage capacity. There is no downtime when expanding the disk.
102
-
103
- Only available for dedicated subscription plans hosted at Amazon Web Services (AWS) at this time.
104
-
105
- > **WARNING:** Due to restrictions from cloud providers, it's only possible to resize the disk every 8 hours.
106
-
107
- Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/).
108
-
109
- ## Example Usage
110
-
111
- ```python
112
- import pulumi
113
- import pulumi_cloudamqp as cloudamqp
114
-
115
- # Instance
116
- instance = cloudamqp.Instance("instance",
117
- plan="squirrel-1",
118
- region="amazon-web-services::us-west-2",
119
- rmq_version="3.10.1")
120
- # Resize disk with 25 extra GB
121
- resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
122
- instance_id=instance.id,
123
- extra_disk_size=25)
124
- nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
125
- ```
126
-
127
- ## Import
128
-
129
- Not possible to import this resource.
130
-
131
- :param str resource_name: The name of the resource.
132
- :param pulumi.ResourceOptions opts: Options for the resource.
133
- :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
134
- :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
135
- """
136
- ...
137
- @overload
138
- def __init__(__self__,
139
- resource_name: str,
140
- args: ExtraDiskSizeArgs,
141
- opts: Optional[pulumi.ResourceOptions] = None):
142
- """
143
- This resource allows you to expand the disk with additional storage capacity. There is no downtime when expanding the disk.
144
-
145
- Only available for dedicated subscription plans hosted at Amazon Web Services (AWS) at this time.
146
-
147
- > **WARNING:** Due to restrictions from cloud providers, it's only possible to resize the disk every 8 hours.
148
-
149
- Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/).
150
-
151
- ## Example Usage
152
-
153
- ```python
154
- import pulumi
155
- import pulumi_cloudamqp as cloudamqp
156
-
157
- # Instance
158
- instance = cloudamqp.Instance("instance",
159
- plan="squirrel-1",
160
- region="amazon-web-services::us-west-2",
161
- rmq_version="3.10.1")
162
- # Resize disk with 25 extra GB
163
- resize_disk = cloudamqp.ExtraDiskSize("resizeDisk",
164
- instance_id=instance.id,
165
- extra_disk_size=25)
166
- nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
167
- ```
168
-
169
- ## Import
170
-
171
- Not possible to import this resource.
172
-
173
- :param str resource_name: The name of the resource.
174
- :param ExtraDiskSizeArgs args: The arguments to use to populate this resource's properties.
175
- :param pulumi.ResourceOptions opts: Options for the resource.
176
- """
177
- ...
178
- def __init__(__self__, resource_name: str, *args, **kwargs):
179
- resource_args, opts = _utilities.get_resource_args_opts(ExtraDiskSizeArgs, pulumi.ResourceOptions, *args, **kwargs)
180
- if resource_args is not None:
181
- __self__._internal_init(resource_name, opts, **resource_args.__dict__)
182
- else:
183
- __self__._internal_init(resource_name, *args, **kwargs)
184
-
185
- def _internal_init(__self__,
186
- resource_name: str,
187
- opts: Optional[pulumi.ResourceOptions] = None,
188
- extra_disk_size: Optional[pulumi.Input[int]] = None,
189
- instance_id: Optional[pulumi.Input[int]] = None,
190
- __props__=None):
191
- opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
192
- if not isinstance(opts, pulumi.ResourceOptions):
193
- raise TypeError('Expected resource options to be a ResourceOptions instance')
194
- if opts.id is None:
195
- if __props__ is not None:
196
- raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
197
- __props__ = ExtraDiskSizeArgs.__new__(ExtraDiskSizeArgs)
198
-
199
- if extra_disk_size is None and not opts.urn:
200
- raise TypeError("Missing required property 'extra_disk_size'")
201
- __props__.__dict__["extra_disk_size"] = extra_disk_size
202
- if instance_id is None and not opts.urn:
203
- raise TypeError("Missing required property 'instance_id'")
204
- __props__.__dict__["instance_id"] = instance_id
205
- super(ExtraDiskSize, __self__).__init__(
206
- 'cloudamqp:index/extraDiskSize:ExtraDiskSize',
207
- resource_name,
208
- __props__,
209
- opts)
210
-
211
- @staticmethod
212
- def get(resource_name: str,
213
- id: pulumi.Input[str],
214
- opts: Optional[pulumi.ResourceOptions] = None,
215
- extra_disk_size: Optional[pulumi.Input[int]] = None,
216
- instance_id: Optional[pulumi.Input[int]] = None) -> 'ExtraDiskSize':
217
- """
218
- Get an existing ExtraDiskSize resource's state with the given name, id, and optional extra
219
- properties used to qualify the lookup.
220
-
221
- :param str resource_name: The unique name of the resulting resource.
222
- :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
223
- :param pulumi.ResourceOptions opts: Options for the resource.
224
- :param pulumi.Input[int] extra_disk_size: Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
225
- :param pulumi.Input[int] instance_id: The CloudAMQP instance ID.
226
- """
227
- opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
228
-
229
- __props__ = _ExtraDiskSizeState.__new__(_ExtraDiskSizeState)
230
-
231
- __props__.__dict__["extra_disk_size"] = extra_disk_size
232
- __props__.__dict__["instance_id"] = instance_id
233
- return ExtraDiskSize(resource_name, opts=opts, __props__=__props__)
234
-
235
- @property
236
- @pulumi.getter(name="extraDiskSize")
237
- def extra_disk_size(self) -> pulumi.Output[int]:
238
- """
239
- Extra disk size in GB. Supported values: 25, 50, 100, 250, 500, 1000, 2000
240
- """
241
- return pulumi.get(self, "extra_disk_size")
242
-
243
- @property
244
- @pulumi.getter(name="instanceId")
245
- def instance_id(self) -> pulumi.Output[int]:
246
- """
247
- The CloudAMQP instance ID.
248
- """
249
- return pulumi.get(self, "instance_id")
250
-