pulumi-digitalocean 4.27.0__py3-none-any.whl → 4.39.0a1736833057__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-digitalocean might be problematic. Click here for more details.

Files changed (107) hide show
  1. pulumi_digitalocean/__init__.py +75 -0
  2. pulumi_digitalocean/_enums.py +131 -52
  3. pulumi_digitalocean/_inputs.py +5767 -399
  4. pulumi_digitalocean/_utilities.py +41 -5
  5. pulumi_digitalocean/app.py +199 -67
  6. pulumi_digitalocean/cdn.py +20 -23
  7. pulumi_digitalocean/certificate.py +45 -42
  8. pulumi_digitalocean/config/__init__.pyi +5 -0
  9. pulumi_digitalocean/config/vars.py +5 -0
  10. pulumi_digitalocean/container_registry.py +11 -6
  11. pulumi_digitalocean/container_registry_docker_credentials.py +53 -12
  12. pulumi_digitalocean/custom_image.py +13 -8
  13. pulumi_digitalocean/database_cluster.py +298 -120
  14. pulumi_digitalocean/database_connection_pool.py +15 -10
  15. pulumi_digitalocean/database_db.py +19 -12
  16. pulumi_digitalocean/database_firewall.py +78 -75
  17. pulumi_digitalocean/database_kafka_config.py +1040 -0
  18. pulumi_digitalocean/database_kafka_topic.py +66 -61
  19. pulumi_digitalocean/database_mongodb_config.py +452 -0
  20. pulumi_digitalocean/database_mysql_config.py +15 -12
  21. pulumi_digitalocean/database_opensearch_config.py +2069 -0
  22. pulumi_digitalocean/database_postgresql_config.py +2614 -0
  23. pulumi_digitalocean/database_redis_config.py +29 -12
  24. pulumi_digitalocean/database_replica.py +29 -24
  25. pulumi_digitalocean/database_user.py +90 -75
  26. pulumi_digitalocean/dns_record.py +13 -8
  27. pulumi_digitalocean/domain.py +7 -6
  28. pulumi_digitalocean/droplet.py +89 -31
  29. pulumi_digitalocean/droplet_autoscale.py +474 -0
  30. pulumi_digitalocean/droplet_snapshot.py +23 -14
  31. pulumi_digitalocean/firewall.py +118 -106
  32. pulumi_digitalocean/floating_ip.py +19 -16
  33. pulumi_digitalocean/floating_ip_assignment.py +19 -16
  34. pulumi_digitalocean/get_account.py +18 -9
  35. pulumi_digitalocean/get_app.py +57 -10
  36. pulumi_digitalocean/get_certificate.py +19 -9
  37. pulumi_digitalocean/get_container_registry.py +19 -9
  38. pulumi_digitalocean/get_database_ca.py +14 -9
  39. pulumi_digitalocean/get_database_cluster.py +119 -11
  40. pulumi_digitalocean/get_database_connection_pool.py +25 -9
  41. pulumi_digitalocean/get_database_replica.py +29 -9
  42. pulumi_digitalocean/get_database_user.py +21 -9
  43. pulumi_digitalocean/get_domain.py +16 -9
  44. pulumi_digitalocean/get_domains.py +34 -27
  45. pulumi_digitalocean/get_droplet.py +66 -23
  46. pulumi_digitalocean/get_droplet_autoscale.py +197 -0
  47. pulumi_digitalocean/get_droplet_snapshot.py +36 -23
  48. pulumi_digitalocean/get_droplets.py +80 -54
  49. pulumi_digitalocean/get_firewall.py +29 -13
  50. pulumi_digitalocean/get_floating_ip.py +16 -9
  51. pulumi_digitalocean/get_image.py +42 -27
  52. pulumi_digitalocean/get_images.py +56 -53
  53. pulumi_digitalocean/get_kubernetes_cluster.py +53 -6
  54. pulumi_digitalocean/get_kubernetes_versions.py +43 -41
  55. pulumi_digitalocean/get_load_balancer.py +81 -17
  56. pulumi_digitalocean/get_project.py +23 -9
  57. pulumi_digitalocean/get_projects.py +56 -53
  58. pulumi_digitalocean/get_record.py +23 -9
  59. pulumi_digitalocean/get_records.py +62 -13
  60. pulumi_digitalocean/get_region.py +17 -9
  61. pulumi_digitalocean/get_regions.py +56 -53
  62. pulumi_digitalocean/get_reserved_ip.py +16 -9
  63. pulumi_digitalocean/get_reserved_ipv6.py +118 -0
  64. pulumi_digitalocean/get_sizes.py +24 -13
  65. pulumi_digitalocean/get_spaces_bucket.py +18 -9
  66. pulumi_digitalocean/get_spaces_bucket_object.py +41 -14
  67. pulumi_digitalocean/get_spaces_bucket_objects.py +26 -5
  68. pulumi_digitalocean/get_spaces_buckets.py +48 -45
  69. pulumi_digitalocean/get_ssh_key.py +27 -19
  70. pulumi_digitalocean/get_ssh_keys.py +40 -37
  71. pulumi_digitalocean/get_tag.py +31 -19
  72. pulumi_digitalocean/get_tags.py +32 -25
  73. pulumi_digitalocean/get_volume.py +35 -23
  74. pulumi_digitalocean/get_volume_snapshot.py +35 -21
  75. pulumi_digitalocean/get_vpc.py +33 -23
  76. pulumi_digitalocean/get_vpc_peering.py +244 -0
  77. pulumi_digitalocean/kubernetes_cluster.py +86 -35
  78. pulumi_digitalocean/kubernetes_node_pool.py +46 -43
  79. pulumi_digitalocean/load_balancer.py +320 -157
  80. pulumi_digitalocean/monitor_alert.py +17 -12
  81. pulumi_digitalocean/outputs.py +3419 -344
  82. pulumi_digitalocean/project.py +19 -16
  83. pulumi_digitalocean/project_resources.py +11 -8
  84. pulumi_digitalocean/provider.py +5 -0
  85. pulumi_digitalocean/pulumi-plugin.json +2 -1
  86. pulumi_digitalocean/reserved_ip.py +19 -16
  87. pulumi_digitalocean/reserved_ip_assignment.py +19 -16
  88. pulumi_digitalocean/reserved_ipv6.py +232 -0
  89. pulumi_digitalocean/reserved_ipv6_assignment.py +171 -0
  90. pulumi_digitalocean/spaces_bucket.py +70 -79
  91. pulumi_digitalocean/spaces_bucket_cors_configuration.py +30 -25
  92. pulumi_digitalocean/spaces_bucket_object.py +11 -12
  93. pulumi_digitalocean/spaces_bucket_policy.py +21 -16
  94. pulumi_digitalocean/ssh_key.py +19 -10
  95. pulumi_digitalocean/tag.py +13 -10
  96. pulumi_digitalocean/uptime_alert.py +10 -5
  97. pulumi_digitalocean/uptime_check.py +5 -0
  98. pulumi_digitalocean/volume.py +47 -50
  99. pulumi_digitalocean/volume_attachment.py +25 -20
  100. pulumi_digitalocean/volume_snapshot.py +17 -10
  101. pulumi_digitalocean/vpc.py +27 -22
  102. pulumi_digitalocean/vpc_peering.py +378 -0
  103. {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/METADATA +7 -6
  104. pulumi_digitalocean-4.39.0a1736833057.dist-info/RECORD +108 -0
  105. {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/WHEEL +1 -1
  106. pulumi_digitalocean-4.27.0.dist-info/RECORD +0 -97
  107. {pulumi_digitalocean-4.27.0.dist-info → pulumi_digitalocean-4.39.0a1736833057.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,474 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['DropletAutoscaleArgs', 'DropletAutoscale']
20
+
21
+ @pulumi.input_type
22
+ class DropletAutoscaleArgs:
23
+ def __init__(__self__, *,
24
+ config: pulumi.Input['DropletAutoscaleConfigArgs'],
25
+ droplet_template: pulumi.Input['DropletAutoscaleDropletTemplateArgs'],
26
+ name: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a DropletAutoscale resource.
29
+ :param pulumi.Input['DropletAutoscaleConfigArgs'] config: The configuration parameters for Droplet Autoscale pool, the supported arguments are
30
+ documented below.
31
+ :param pulumi.Input['DropletAutoscaleDropletTemplateArgs'] droplet_template: The droplet template parameters for Droplet Autoscale pool, the supported arguments
32
+ are documented below.
33
+ :param pulumi.Input[str] name: The name of the Droplet Autoscale pool.
34
+ """
35
+ pulumi.set(__self__, "config", config)
36
+ pulumi.set(__self__, "droplet_template", droplet_template)
37
+ if name is not None:
38
+ pulumi.set(__self__, "name", name)
39
+
40
+ @property
41
+ @pulumi.getter
42
+ def config(self) -> pulumi.Input['DropletAutoscaleConfigArgs']:
43
+ """
44
+ The configuration parameters for Droplet Autoscale pool, the supported arguments are
45
+ documented below.
46
+ """
47
+ return pulumi.get(self, "config")
48
+
49
+ @config.setter
50
+ def config(self, value: pulumi.Input['DropletAutoscaleConfigArgs']):
51
+ pulumi.set(self, "config", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="dropletTemplate")
55
+ def droplet_template(self) -> pulumi.Input['DropletAutoscaleDropletTemplateArgs']:
56
+ """
57
+ The droplet template parameters for Droplet Autoscale pool, the supported arguments
58
+ are documented below.
59
+ """
60
+ return pulumi.get(self, "droplet_template")
61
+
62
+ @droplet_template.setter
63
+ def droplet_template(self, value: pulumi.Input['DropletAutoscaleDropletTemplateArgs']):
64
+ pulumi.set(self, "droplet_template", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def name(self) -> Optional[pulumi.Input[str]]:
69
+ """
70
+ The name of the Droplet Autoscale pool.
71
+ """
72
+ return pulumi.get(self, "name")
73
+
74
+ @name.setter
75
+ def name(self, value: Optional[pulumi.Input[str]]):
76
+ pulumi.set(self, "name", value)
77
+
78
+
79
+ @pulumi.input_type
80
+ class _DropletAutoscaleState:
81
+ def __init__(__self__, *,
82
+ config: Optional[pulumi.Input['DropletAutoscaleConfigArgs']] = None,
83
+ created_at: Optional[pulumi.Input[str]] = None,
84
+ current_utilizations: Optional[pulumi.Input[Sequence[pulumi.Input['DropletAutoscaleCurrentUtilizationArgs']]]] = None,
85
+ droplet_template: Optional[pulumi.Input['DropletAutoscaleDropletTemplateArgs']] = None,
86
+ name: Optional[pulumi.Input[str]] = None,
87
+ status: Optional[pulumi.Input[str]] = None,
88
+ updated_at: Optional[pulumi.Input[str]] = None):
89
+ """
90
+ Input properties used for looking up and filtering DropletAutoscale resources.
91
+ :param pulumi.Input['DropletAutoscaleConfigArgs'] config: The configuration parameters for Droplet Autoscale pool, the supported arguments are
92
+ documented below.
93
+ :param pulumi.Input[str] created_at: Created at timestamp for the Droplet Autoscale pool.
94
+ :param pulumi.Input[Sequence[pulumi.Input['DropletAutoscaleCurrentUtilizationArgs']]] current_utilizations: The current average resource utilization of the Droplet Autoscale pool, this attribute further
95
+ embeds `memory` and `cpu` attributes to respectively report utilization data.
96
+ :param pulumi.Input['DropletAutoscaleDropletTemplateArgs'] droplet_template: The droplet template parameters for Droplet Autoscale pool, the supported arguments
97
+ are documented below.
98
+ :param pulumi.Input[str] name: The name of the Droplet Autoscale pool.
99
+ :param pulumi.Input[str] status: Droplet Autoscale pool health status; this reflects if the pool is currently healthy and ready to accept
100
+ traffic, or in an error state and needs user intervention.
101
+ :param pulumi.Input[str] updated_at: Updated at timestamp for the Droplet Autoscale pool.
102
+ """
103
+ if config is not None:
104
+ pulumi.set(__self__, "config", config)
105
+ if created_at is not None:
106
+ pulumi.set(__self__, "created_at", created_at)
107
+ if current_utilizations is not None:
108
+ pulumi.set(__self__, "current_utilizations", current_utilizations)
109
+ if droplet_template is not None:
110
+ pulumi.set(__self__, "droplet_template", droplet_template)
111
+ if name is not None:
112
+ pulumi.set(__self__, "name", name)
113
+ if status is not None:
114
+ pulumi.set(__self__, "status", status)
115
+ if updated_at is not None:
116
+ pulumi.set(__self__, "updated_at", updated_at)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def config(self) -> Optional[pulumi.Input['DropletAutoscaleConfigArgs']]:
121
+ """
122
+ The configuration parameters for Droplet Autoscale pool, the supported arguments are
123
+ documented below.
124
+ """
125
+ return pulumi.get(self, "config")
126
+
127
+ @config.setter
128
+ def config(self, value: Optional[pulumi.Input['DropletAutoscaleConfigArgs']]):
129
+ pulumi.set(self, "config", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="createdAt")
133
+ def created_at(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ Created at timestamp for the Droplet Autoscale pool.
136
+ """
137
+ return pulumi.get(self, "created_at")
138
+
139
+ @created_at.setter
140
+ def created_at(self, value: Optional[pulumi.Input[str]]):
141
+ pulumi.set(self, "created_at", value)
142
+
143
+ @property
144
+ @pulumi.getter(name="currentUtilizations")
145
+ def current_utilizations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DropletAutoscaleCurrentUtilizationArgs']]]]:
146
+ """
147
+ The current average resource utilization of the Droplet Autoscale pool, this attribute further
148
+ embeds `memory` and `cpu` attributes to respectively report utilization data.
149
+ """
150
+ return pulumi.get(self, "current_utilizations")
151
+
152
+ @current_utilizations.setter
153
+ def current_utilizations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DropletAutoscaleCurrentUtilizationArgs']]]]):
154
+ pulumi.set(self, "current_utilizations", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="dropletTemplate")
158
+ def droplet_template(self) -> Optional[pulumi.Input['DropletAutoscaleDropletTemplateArgs']]:
159
+ """
160
+ The droplet template parameters for Droplet Autoscale pool, the supported arguments
161
+ are documented below.
162
+ """
163
+ return pulumi.get(self, "droplet_template")
164
+
165
+ @droplet_template.setter
166
+ def droplet_template(self, value: Optional[pulumi.Input['DropletAutoscaleDropletTemplateArgs']]):
167
+ pulumi.set(self, "droplet_template", value)
168
+
169
+ @property
170
+ @pulumi.getter
171
+ def name(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ The name of the Droplet Autoscale pool.
174
+ """
175
+ return pulumi.get(self, "name")
176
+
177
+ @name.setter
178
+ def name(self, value: Optional[pulumi.Input[str]]):
179
+ pulumi.set(self, "name", value)
180
+
181
+ @property
182
+ @pulumi.getter
183
+ def status(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ Droplet Autoscale pool health status; this reflects if the pool is currently healthy and ready to accept
186
+ traffic, or in an error state and needs user intervention.
187
+ """
188
+ return pulumi.get(self, "status")
189
+
190
+ @status.setter
191
+ def status(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "status", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="updatedAt")
196
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ Updated at timestamp for the Droplet Autoscale pool.
199
+ """
200
+ return pulumi.get(self, "updated_at")
201
+
202
+ @updated_at.setter
203
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "updated_at", value)
205
+
206
+
207
+ class DropletAutoscale(pulumi.CustomResource):
208
+ @overload
209
+ def __init__(__self__,
210
+ resource_name: str,
211
+ opts: Optional[pulumi.ResourceOptions] = None,
212
+ config: Optional[pulumi.Input[Union['DropletAutoscaleConfigArgs', 'DropletAutoscaleConfigArgsDict']]] = None,
213
+ droplet_template: Optional[pulumi.Input[Union['DropletAutoscaleDropletTemplateArgs', 'DropletAutoscaleDropletTemplateArgsDict']]] = None,
214
+ name: Optional[pulumi.Input[str]] = None,
215
+ __props__=None):
216
+ """
217
+ Provides a DigitalOcean Droplet Autoscale resource. This can be used to create, modify,
218
+ read and delete Droplet Autoscale pools.
219
+
220
+ ## Example Usage
221
+
222
+ ```python
223
+ import pulumi
224
+ import pulumi_digitalocean as digitalocean
225
+ import pulumi_std as std
226
+
227
+ my_ssh_key = digitalocean.SshKey("my-ssh-key",
228
+ name="terraform-example",
229
+ public_key=std.file(input="/Users/terraform/.ssh/id_rsa.pub").result)
230
+ my_tag = digitalocean.Tag("my-tag", name="terraform-example")
231
+ my_autoscale_pool = digitalocean.DropletAutoscale("my-autoscale-pool",
232
+ name="terraform-example",
233
+ config={
234
+ "min_instances": 10,
235
+ "max_instances": 50,
236
+ "target_cpu_utilization": 0.5,
237
+ "target_memory_utilization": 0.5,
238
+ "cooldown_minutes": 5,
239
+ },
240
+ droplet_template={
241
+ "size": "c-2",
242
+ "region": "nyc3",
243
+ "image": "ubuntu-24-04-x64",
244
+ "tags": [my_tag.id],
245
+ "ssh_keys": [my_ssh_key.id],
246
+ "with_droplet_agent": True,
247
+ "ipv6": True,
248
+ "user_data": \"\"\"
249
+ #cloud-config
250
+ runcmd:
251
+ - apt-get update
252
+ - apt-get install -y stress-ng
253
+ \"\"\",
254
+ })
255
+ ```
256
+
257
+ ## Import
258
+
259
+ Droplet Autoscale pools can be imported using their `id`, e.g.
260
+
261
+ ```sh
262
+ $ pulumi import digitalocean:index/dropletAutoscale:DropletAutoscale my-autoscale-pool 38e66834-d741-47ec-88e7-c70cbdcz0445
263
+ ```
264
+
265
+ :param str resource_name: The name of the resource.
266
+ :param pulumi.ResourceOptions opts: Options for the resource.
267
+ :param pulumi.Input[Union['DropletAutoscaleConfigArgs', 'DropletAutoscaleConfigArgsDict']] config: The configuration parameters for Droplet Autoscale pool, the supported arguments are
268
+ documented below.
269
+ :param pulumi.Input[Union['DropletAutoscaleDropletTemplateArgs', 'DropletAutoscaleDropletTemplateArgsDict']] droplet_template: The droplet template parameters for Droplet Autoscale pool, the supported arguments
270
+ are documented below.
271
+ :param pulumi.Input[str] name: The name of the Droplet Autoscale pool.
272
+ """
273
+ ...
274
+ @overload
275
+ def __init__(__self__,
276
+ resource_name: str,
277
+ args: DropletAutoscaleArgs,
278
+ opts: Optional[pulumi.ResourceOptions] = None):
279
+ """
280
+ Provides a DigitalOcean Droplet Autoscale resource. This can be used to create, modify,
281
+ read and delete Droplet Autoscale pools.
282
+
283
+ ## Example Usage
284
+
285
+ ```python
286
+ import pulumi
287
+ import pulumi_digitalocean as digitalocean
288
+ import pulumi_std as std
289
+
290
+ my_ssh_key = digitalocean.SshKey("my-ssh-key",
291
+ name="terraform-example",
292
+ public_key=std.file(input="/Users/terraform/.ssh/id_rsa.pub").result)
293
+ my_tag = digitalocean.Tag("my-tag", name="terraform-example")
294
+ my_autoscale_pool = digitalocean.DropletAutoscale("my-autoscale-pool",
295
+ name="terraform-example",
296
+ config={
297
+ "min_instances": 10,
298
+ "max_instances": 50,
299
+ "target_cpu_utilization": 0.5,
300
+ "target_memory_utilization": 0.5,
301
+ "cooldown_minutes": 5,
302
+ },
303
+ droplet_template={
304
+ "size": "c-2",
305
+ "region": "nyc3",
306
+ "image": "ubuntu-24-04-x64",
307
+ "tags": [my_tag.id],
308
+ "ssh_keys": [my_ssh_key.id],
309
+ "with_droplet_agent": True,
310
+ "ipv6": True,
311
+ "user_data": \"\"\"
312
+ #cloud-config
313
+ runcmd:
314
+ - apt-get update
315
+ - apt-get install -y stress-ng
316
+ \"\"\",
317
+ })
318
+ ```
319
+
320
+ ## Import
321
+
322
+ Droplet Autoscale pools can be imported using their `id`, e.g.
323
+
324
+ ```sh
325
+ $ pulumi import digitalocean:index/dropletAutoscale:DropletAutoscale my-autoscale-pool 38e66834-d741-47ec-88e7-c70cbdcz0445
326
+ ```
327
+
328
+ :param str resource_name: The name of the resource.
329
+ :param DropletAutoscaleArgs args: The arguments to use to populate this resource's properties.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ """
332
+ ...
333
+ def __init__(__self__, resource_name: str, *args, **kwargs):
334
+ resource_args, opts = _utilities.get_resource_args_opts(DropletAutoscaleArgs, pulumi.ResourceOptions, *args, **kwargs)
335
+ if resource_args is not None:
336
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
337
+ else:
338
+ __self__._internal_init(resource_name, *args, **kwargs)
339
+
340
+ def _internal_init(__self__,
341
+ resource_name: str,
342
+ opts: Optional[pulumi.ResourceOptions] = None,
343
+ config: Optional[pulumi.Input[Union['DropletAutoscaleConfigArgs', 'DropletAutoscaleConfigArgsDict']]] = None,
344
+ droplet_template: Optional[pulumi.Input[Union['DropletAutoscaleDropletTemplateArgs', 'DropletAutoscaleDropletTemplateArgsDict']]] = None,
345
+ name: Optional[pulumi.Input[str]] = None,
346
+ __props__=None):
347
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
348
+ if not isinstance(opts, pulumi.ResourceOptions):
349
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
350
+ if opts.id is None:
351
+ if __props__ is not None:
352
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
353
+ __props__ = DropletAutoscaleArgs.__new__(DropletAutoscaleArgs)
354
+
355
+ if config is None and not opts.urn:
356
+ raise TypeError("Missing required property 'config'")
357
+ __props__.__dict__["config"] = config
358
+ if droplet_template is None and not opts.urn:
359
+ raise TypeError("Missing required property 'droplet_template'")
360
+ __props__.__dict__["droplet_template"] = droplet_template
361
+ __props__.__dict__["name"] = name
362
+ __props__.__dict__["created_at"] = None
363
+ __props__.__dict__["current_utilizations"] = None
364
+ __props__.__dict__["status"] = None
365
+ __props__.__dict__["updated_at"] = None
366
+ super(DropletAutoscale, __self__).__init__(
367
+ 'digitalocean:index/dropletAutoscale:DropletAutoscale',
368
+ resource_name,
369
+ __props__,
370
+ opts)
371
+
372
+ @staticmethod
373
+ def get(resource_name: str,
374
+ id: pulumi.Input[str],
375
+ opts: Optional[pulumi.ResourceOptions] = None,
376
+ config: Optional[pulumi.Input[Union['DropletAutoscaleConfigArgs', 'DropletAutoscaleConfigArgsDict']]] = None,
377
+ created_at: Optional[pulumi.Input[str]] = None,
378
+ current_utilizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DropletAutoscaleCurrentUtilizationArgs', 'DropletAutoscaleCurrentUtilizationArgsDict']]]]] = None,
379
+ droplet_template: Optional[pulumi.Input[Union['DropletAutoscaleDropletTemplateArgs', 'DropletAutoscaleDropletTemplateArgsDict']]] = None,
380
+ name: Optional[pulumi.Input[str]] = None,
381
+ status: Optional[pulumi.Input[str]] = None,
382
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'DropletAutoscale':
383
+ """
384
+ Get an existing DropletAutoscale resource's state with the given name, id, and optional extra
385
+ properties used to qualify the lookup.
386
+
387
+ :param str resource_name: The unique name of the resulting resource.
388
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
389
+ :param pulumi.ResourceOptions opts: Options for the resource.
390
+ :param pulumi.Input[Union['DropletAutoscaleConfigArgs', 'DropletAutoscaleConfigArgsDict']] config: The configuration parameters for Droplet Autoscale pool, the supported arguments are
391
+ documented below.
392
+ :param pulumi.Input[str] created_at: Created at timestamp for the Droplet Autoscale pool.
393
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DropletAutoscaleCurrentUtilizationArgs', 'DropletAutoscaleCurrentUtilizationArgsDict']]]] current_utilizations: The current average resource utilization of the Droplet Autoscale pool, this attribute further
394
+ embeds `memory` and `cpu` attributes to respectively report utilization data.
395
+ :param pulumi.Input[Union['DropletAutoscaleDropletTemplateArgs', 'DropletAutoscaleDropletTemplateArgsDict']] droplet_template: The droplet template parameters for Droplet Autoscale pool, the supported arguments
396
+ are documented below.
397
+ :param pulumi.Input[str] name: The name of the Droplet Autoscale pool.
398
+ :param pulumi.Input[str] status: Droplet Autoscale pool health status; this reflects if the pool is currently healthy and ready to accept
399
+ traffic, or in an error state and needs user intervention.
400
+ :param pulumi.Input[str] updated_at: Updated at timestamp for the Droplet Autoscale pool.
401
+ """
402
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
403
+
404
+ __props__ = _DropletAutoscaleState.__new__(_DropletAutoscaleState)
405
+
406
+ __props__.__dict__["config"] = config
407
+ __props__.__dict__["created_at"] = created_at
408
+ __props__.__dict__["current_utilizations"] = current_utilizations
409
+ __props__.__dict__["droplet_template"] = droplet_template
410
+ __props__.__dict__["name"] = name
411
+ __props__.__dict__["status"] = status
412
+ __props__.__dict__["updated_at"] = updated_at
413
+ return DropletAutoscale(resource_name, opts=opts, __props__=__props__)
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def config(self) -> pulumi.Output['outputs.DropletAutoscaleConfig']:
418
+ """
419
+ The configuration parameters for Droplet Autoscale pool, the supported arguments are
420
+ documented below.
421
+ """
422
+ return pulumi.get(self, "config")
423
+
424
+ @property
425
+ @pulumi.getter(name="createdAt")
426
+ def created_at(self) -> pulumi.Output[str]:
427
+ """
428
+ Created at timestamp for the Droplet Autoscale pool.
429
+ """
430
+ return pulumi.get(self, "created_at")
431
+
432
+ @property
433
+ @pulumi.getter(name="currentUtilizations")
434
+ def current_utilizations(self) -> pulumi.Output[Sequence['outputs.DropletAutoscaleCurrentUtilization']]:
435
+ """
436
+ The current average resource utilization of the Droplet Autoscale pool, this attribute further
437
+ embeds `memory` and `cpu` attributes to respectively report utilization data.
438
+ """
439
+ return pulumi.get(self, "current_utilizations")
440
+
441
+ @property
442
+ @pulumi.getter(name="dropletTemplate")
443
+ def droplet_template(self) -> pulumi.Output['outputs.DropletAutoscaleDropletTemplate']:
444
+ """
445
+ The droplet template parameters for Droplet Autoscale pool, the supported arguments
446
+ are documented below.
447
+ """
448
+ return pulumi.get(self, "droplet_template")
449
+
450
+ @property
451
+ @pulumi.getter
452
+ def name(self) -> pulumi.Output[str]:
453
+ """
454
+ The name of the Droplet Autoscale pool.
455
+ """
456
+ return pulumi.get(self, "name")
457
+
458
+ @property
459
+ @pulumi.getter
460
+ def status(self) -> pulumi.Output[str]:
461
+ """
462
+ Droplet Autoscale pool health status; this reflects if the pool is currently healthy and ready to accept
463
+ traffic, or in an error state and needs user intervention.
464
+ """
465
+ return pulumi.get(self, "status")
466
+
467
+ @property
468
+ @pulumi.getter(name="updatedAt")
469
+ def updated_at(self) -> pulumi.Output[str]:
470
+ """
471
+ Updated at timestamp for the Droplet Autoscale pool.
472
+ """
473
+ return pulumi.get(self, "updated_at")
474
+
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['DropletSnapshotArgs', 'DropletSnapshot']
@@ -167,22 +172,24 @@ class DropletSnapshot(pulumi.CustomResource):
167
172
 
168
173
  ## Example Usage
169
174
 
170
- <!--Start PulumiCodeChooser -->
171
175
  ```python
172
176
  import pulumi
173
177
  import pulumi_digitalocean as digitalocean
174
178
 
175
179
  web = digitalocean.Droplet("web",
176
- size="s-1vcpu-1gb",
180
+ name="web-01",
181
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
177
182
  image="ubuntu-22-04-x64",
178
- region="nyc3")
179
- web_snapshot = digitalocean.DropletSnapshot("web-snapshot", droplet_id=web.id)
183
+ region=digitalocean.Region.NYC3)
184
+ web_snapshot = digitalocean.DropletSnapshot("web-snapshot",
185
+ droplet_id=web.id,
186
+ name="web-snapshot-01")
180
187
  from_snapshot = digitalocean.Droplet("from-snapshot",
181
188
  image=web_snapshot.id,
182
- region="nyc3",
183
- size="s-2vcpu-4gb")
189
+ name="web-02",
190
+ region=digitalocean.Region.NYC3,
191
+ size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB)
184
192
  ```
185
- <!--End PulumiCodeChooser -->
186
193
 
187
194
  ## Import
188
195
 
@@ -208,22 +215,24 @@ class DropletSnapshot(pulumi.CustomResource):
208
215
 
209
216
  ## Example Usage
210
217
 
211
- <!--Start PulumiCodeChooser -->
212
218
  ```python
213
219
  import pulumi
214
220
  import pulumi_digitalocean as digitalocean
215
221
 
216
222
  web = digitalocean.Droplet("web",
217
- size="s-1vcpu-1gb",
223
+ name="web-01",
224
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
218
225
  image="ubuntu-22-04-x64",
219
- region="nyc3")
220
- web_snapshot = digitalocean.DropletSnapshot("web-snapshot", droplet_id=web.id)
226
+ region=digitalocean.Region.NYC3)
227
+ web_snapshot = digitalocean.DropletSnapshot("web-snapshot",
228
+ droplet_id=web.id,
229
+ name="web-snapshot-01")
221
230
  from_snapshot = digitalocean.Droplet("from-snapshot",
222
231
  image=web_snapshot.id,
223
- region="nyc3",
224
- size="s-2vcpu-4gb")
232
+ name="web-02",
233
+ region=digitalocean.Region.NYC3,
234
+ size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB)
225
235
  ```
226
- <!--End PulumiCodeChooser -->
227
236
 
228
237
  ## Import
229
238