pulumi-digitalocean 4.27.0a1710332933__py3-none-any.whl → 4.39.0a1736849637__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.
- pulumi_digitalocean/__init__.py +75 -0
- pulumi_digitalocean/_enums.py +131 -52
- pulumi_digitalocean/_inputs.py +5767 -399
- pulumi_digitalocean/_utilities.py +41 -5
- pulumi_digitalocean/app.py +199 -67
- pulumi_digitalocean/cdn.py +20 -23
- pulumi_digitalocean/certificate.py +45 -42
- pulumi_digitalocean/config/__init__.pyi +5 -0
- pulumi_digitalocean/config/vars.py +5 -0
- pulumi_digitalocean/container_registry.py +11 -6
- pulumi_digitalocean/container_registry_docker_credentials.py +53 -12
- pulumi_digitalocean/custom_image.py +13 -8
- pulumi_digitalocean/database_cluster.py +298 -120
- pulumi_digitalocean/database_connection_pool.py +15 -10
- pulumi_digitalocean/database_db.py +19 -12
- pulumi_digitalocean/database_firewall.py +78 -75
- pulumi_digitalocean/database_kafka_config.py +1040 -0
- pulumi_digitalocean/database_kafka_topic.py +66 -61
- pulumi_digitalocean/database_mongodb_config.py +452 -0
- pulumi_digitalocean/database_mysql_config.py +15 -12
- pulumi_digitalocean/database_opensearch_config.py +2069 -0
- pulumi_digitalocean/database_postgresql_config.py +2614 -0
- pulumi_digitalocean/database_redis_config.py +29 -12
- pulumi_digitalocean/database_replica.py +29 -24
- pulumi_digitalocean/database_user.py +90 -75
- pulumi_digitalocean/dns_record.py +13 -8
- pulumi_digitalocean/domain.py +7 -6
- pulumi_digitalocean/droplet.py +89 -31
- pulumi_digitalocean/droplet_autoscale.py +474 -0
- pulumi_digitalocean/droplet_snapshot.py +23 -14
- pulumi_digitalocean/firewall.py +118 -106
- pulumi_digitalocean/floating_ip.py +19 -16
- pulumi_digitalocean/floating_ip_assignment.py +19 -16
- pulumi_digitalocean/get_account.py +18 -9
- pulumi_digitalocean/get_app.py +57 -10
- pulumi_digitalocean/get_certificate.py +19 -9
- pulumi_digitalocean/get_container_registry.py +19 -9
- pulumi_digitalocean/get_database_ca.py +14 -9
- pulumi_digitalocean/get_database_cluster.py +119 -11
- pulumi_digitalocean/get_database_connection_pool.py +25 -9
- pulumi_digitalocean/get_database_replica.py +29 -9
- pulumi_digitalocean/get_database_user.py +21 -9
- pulumi_digitalocean/get_domain.py +16 -9
- pulumi_digitalocean/get_domains.py +34 -27
- pulumi_digitalocean/get_droplet.py +66 -23
- pulumi_digitalocean/get_droplet_autoscale.py +197 -0
- pulumi_digitalocean/get_droplet_snapshot.py +36 -23
- pulumi_digitalocean/get_droplets.py +80 -54
- pulumi_digitalocean/get_firewall.py +29 -13
- pulumi_digitalocean/get_floating_ip.py +16 -9
- pulumi_digitalocean/get_image.py +42 -27
- pulumi_digitalocean/get_images.py +56 -53
- pulumi_digitalocean/get_kubernetes_cluster.py +53 -6
- pulumi_digitalocean/get_kubernetes_versions.py +43 -41
- pulumi_digitalocean/get_load_balancer.py +81 -17
- pulumi_digitalocean/get_project.py +23 -9
- pulumi_digitalocean/get_projects.py +56 -53
- pulumi_digitalocean/get_record.py +23 -9
- pulumi_digitalocean/get_records.py +62 -13
- pulumi_digitalocean/get_region.py +17 -9
- pulumi_digitalocean/get_regions.py +56 -53
- pulumi_digitalocean/get_reserved_ip.py +16 -9
- pulumi_digitalocean/get_reserved_ipv6.py +118 -0
- pulumi_digitalocean/get_sizes.py +24 -13
- pulumi_digitalocean/get_spaces_bucket.py +18 -9
- pulumi_digitalocean/get_spaces_bucket_object.py +41 -14
- pulumi_digitalocean/get_spaces_bucket_objects.py +26 -5
- pulumi_digitalocean/get_spaces_buckets.py +48 -45
- pulumi_digitalocean/get_ssh_key.py +27 -19
- pulumi_digitalocean/get_ssh_keys.py +40 -37
- pulumi_digitalocean/get_tag.py +31 -19
- pulumi_digitalocean/get_tags.py +32 -25
- pulumi_digitalocean/get_volume.py +35 -23
- pulumi_digitalocean/get_volume_snapshot.py +35 -21
- pulumi_digitalocean/get_vpc.py +33 -23
- pulumi_digitalocean/get_vpc_peering.py +244 -0
- pulumi_digitalocean/kubernetes_cluster.py +86 -35
- pulumi_digitalocean/kubernetes_node_pool.py +46 -43
- pulumi_digitalocean/load_balancer.py +320 -157
- pulumi_digitalocean/monitor_alert.py +17 -12
- pulumi_digitalocean/outputs.py +3419 -344
- pulumi_digitalocean/project.py +19 -16
- pulumi_digitalocean/project_resources.py +11 -8
- pulumi_digitalocean/provider.py +5 -0
- pulumi_digitalocean/pulumi-plugin.json +2 -1
- pulumi_digitalocean/reserved_ip.py +19 -16
- pulumi_digitalocean/reserved_ip_assignment.py +19 -16
- pulumi_digitalocean/reserved_ipv6.py +232 -0
- pulumi_digitalocean/reserved_ipv6_assignment.py +171 -0
- pulumi_digitalocean/spaces_bucket.py +70 -79
- pulumi_digitalocean/spaces_bucket_cors_configuration.py +30 -25
- pulumi_digitalocean/spaces_bucket_object.py +11 -12
- pulumi_digitalocean/spaces_bucket_policy.py +21 -16
- pulumi_digitalocean/ssh_key.py +19 -10
- pulumi_digitalocean/tag.py +13 -10
- pulumi_digitalocean/uptime_alert.py +10 -5
- pulumi_digitalocean/uptime_check.py +5 -0
- pulumi_digitalocean/volume.py +47 -50
- pulumi_digitalocean/volume_attachment.py +25 -20
- pulumi_digitalocean/volume_snapshot.py +17 -10
- pulumi_digitalocean/vpc.py +27 -22
- pulumi_digitalocean/vpc_peering.py +378 -0
- {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/METADATA +7 -6
- pulumi_digitalocean-4.39.0a1736849637.dist-info/RECORD +108 -0
- {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/WHEEL +1 -1
- pulumi_digitalocean-4.27.0a1710332933.dist-info/RECORD +0 -97
- {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/top_level.txt +0 -0
pulumi_digitalocean/droplet.py
CHANGED
|
@@ -4,11 +4,18 @@
|
|
|
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
|
|
16
|
+
from . import outputs
|
|
11
17
|
from ._enums import *
|
|
18
|
+
from ._inputs import *
|
|
12
19
|
|
|
13
20
|
__all__ = ['DropletArgs', 'Droplet']
|
|
14
21
|
|
|
@@ -17,6 +24,7 @@ class DropletArgs:
|
|
|
17
24
|
def __init__(__self__, *,
|
|
18
25
|
image: pulumi.Input[str],
|
|
19
26
|
size: pulumi.Input[Union[str, 'DropletSlug']],
|
|
27
|
+
backup_policy: Optional[pulumi.Input['DropletBackupPolicyArgs']] = None,
|
|
20
28
|
backups: Optional[pulumi.Input[bool]] = None,
|
|
21
29
|
droplet_agent: Optional[pulumi.Input[bool]] = None,
|
|
22
30
|
graceful_shutdown: Optional[pulumi.Input[bool]] = None,
|
|
@@ -35,7 +43,8 @@ class DropletArgs:
|
|
|
35
43
|
"""
|
|
36
44
|
The set of arguments for constructing a Droplet resource.
|
|
37
45
|
:param pulumi.Input[str] image: The Droplet image ID or slug. This could be either image ID or droplet snapshot ID.
|
|
38
|
-
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that
|
|
46
|
+
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
47
|
+
:param pulumi.Input['DropletBackupPolicyArgs'] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
39
48
|
:param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
|
|
40
49
|
false.
|
|
41
50
|
:param pulumi.Input[bool] droplet_agent: A boolean indicating whether to install the
|
|
@@ -71,12 +80,14 @@ class DropletArgs:
|
|
|
71
80
|
be added or removed via this provider. Modifying this field will prompt you
|
|
72
81
|
to destroy and recreate the Droplet.
|
|
73
82
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of the tags to be applied to this Droplet.
|
|
74
|
-
:param pulumi.Input[str] user_data: A string of the desired User Data
|
|
83
|
+
:param pulumi.Input[str] user_data: A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
75
84
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] volume_ids: A list of the IDs of each block storage volume to be attached to the Droplet.
|
|
76
85
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Droplet will be located.
|
|
77
86
|
"""
|
|
78
87
|
pulumi.set(__self__, "image", image)
|
|
79
88
|
pulumi.set(__self__, "size", size)
|
|
89
|
+
if backup_policy is not None:
|
|
90
|
+
pulumi.set(__self__, "backup_policy", backup_policy)
|
|
80
91
|
if backups is not None:
|
|
81
92
|
pulumi.set(__self__, "backups", backups)
|
|
82
93
|
if droplet_agent is not None:
|
|
@@ -127,7 +138,7 @@ class DropletArgs:
|
|
|
127
138
|
@pulumi.getter
|
|
128
139
|
def size(self) -> pulumi.Input[Union[str, 'DropletSlug']]:
|
|
129
140
|
"""
|
|
130
|
-
The unique slug that
|
|
141
|
+
The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
131
142
|
"""
|
|
132
143
|
return pulumi.get(self, "size")
|
|
133
144
|
|
|
@@ -135,6 +146,18 @@ class DropletArgs:
|
|
|
135
146
|
def size(self, value: pulumi.Input[Union[str, 'DropletSlug']]):
|
|
136
147
|
pulumi.set(self, "size", value)
|
|
137
148
|
|
|
149
|
+
@property
|
|
150
|
+
@pulumi.getter(name="backupPolicy")
|
|
151
|
+
def backup_policy(self) -> Optional[pulumi.Input['DropletBackupPolicyArgs']]:
|
|
152
|
+
"""
|
|
153
|
+
An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
154
|
+
"""
|
|
155
|
+
return pulumi.get(self, "backup_policy")
|
|
156
|
+
|
|
157
|
+
@backup_policy.setter
|
|
158
|
+
def backup_policy(self, value: Optional[pulumi.Input['DropletBackupPolicyArgs']]):
|
|
159
|
+
pulumi.set(self, "backup_policy", value)
|
|
160
|
+
|
|
138
161
|
@property
|
|
139
162
|
@pulumi.getter
|
|
140
163
|
def backups(self) -> Optional[pulumi.Input[bool]]:
|
|
@@ -235,14 +258,12 @@ class DropletArgs:
|
|
|
235
258
|
|
|
236
259
|
@property
|
|
237
260
|
@pulumi.getter(name="privateNetworking")
|
|
261
|
+
@_utilities.deprecated("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
238
262
|
def private_networking(self) -> Optional[pulumi.Input[bool]]:
|
|
239
263
|
"""
|
|
240
264
|
**Deprecated** Boolean controlling if private networking
|
|
241
265
|
is enabled. This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
|
|
242
266
|
"""
|
|
243
|
-
warnings.warn("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""", DeprecationWarning)
|
|
244
|
-
pulumi.log.warn("""private_networking is deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
245
|
-
|
|
246
267
|
return pulumi.get(self, "private_networking")
|
|
247
268
|
|
|
248
269
|
@private_networking.setter
|
|
@@ -309,7 +330,7 @@ class DropletArgs:
|
|
|
309
330
|
@pulumi.getter(name="userData")
|
|
310
331
|
def user_data(self) -> Optional[pulumi.Input[str]]:
|
|
311
332
|
"""
|
|
312
|
-
A string of the desired User Data
|
|
333
|
+
A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
313
334
|
"""
|
|
314
335
|
return pulumi.get(self, "user_data")
|
|
315
336
|
|
|
@@ -345,6 +366,7 @@ class DropletArgs:
|
|
|
345
366
|
@pulumi.input_type
|
|
346
367
|
class _DropletState:
|
|
347
368
|
def __init__(__self__, *,
|
|
369
|
+
backup_policy: Optional[pulumi.Input['DropletBackupPolicyArgs']] = None,
|
|
348
370
|
backups: Optional[pulumi.Input[bool]] = None,
|
|
349
371
|
created_at: Optional[pulumi.Input[str]] = None,
|
|
350
372
|
disk: Optional[pulumi.Input[int]] = None,
|
|
@@ -375,6 +397,7 @@ class _DropletState:
|
|
|
375
397
|
vpc_uuid: Optional[pulumi.Input[str]] = None):
|
|
376
398
|
"""
|
|
377
399
|
Input properties used for looking up and filtering Droplet resources.
|
|
400
|
+
:param pulumi.Input['DropletBackupPolicyArgs'] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
378
401
|
:param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
|
|
379
402
|
false.
|
|
380
403
|
:param pulumi.Input[int] disk: The size of the instance's disk in GB
|
|
@@ -411,7 +434,7 @@ class _DropletState:
|
|
|
411
434
|
size when resizing a Droplet. It defaults to `true`. When set to `false`,
|
|
412
435
|
only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
|
|
413
436
|
size is a permanent change**. Increasing only RAM and CPU is reversible.
|
|
414
|
-
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that
|
|
437
|
+
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
415
438
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_keys: A list of SSH key IDs or fingerprints to enable in
|
|
416
439
|
the format `[12345, 123456]`. To retrieve this info, use the
|
|
417
440
|
[DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
|
|
@@ -420,11 +443,13 @@ class _DropletState:
|
|
|
420
443
|
to destroy and recreate the Droplet.
|
|
421
444
|
:param pulumi.Input[str] status: The status of the Droplet
|
|
422
445
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of the tags to be applied to this Droplet.
|
|
423
|
-
:param pulumi.Input[str] user_data: A string of the desired User Data
|
|
446
|
+
:param pulumi.Input[str] user_data: A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
424
447
|
:param pulumi.Input[int] vcpus: The number of the instance's virtual CPUs
|
|
425
448
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] volume_ids: A list of the IDs of each block storage volume to be attached to the Droplet.
|
|
426
449
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Droplet will be located.
|
|
427
450
|
"""
|
|
451
|
+
if backup_policy is not None:
|
|
452
|
+
pulumi.set(__self__, "backup_policy", backup_policy)
|
|
428
453
|
if backups is not None:
|
|
429
454
|
pulumi.set(__self__, "backups", backups)
|
|
430
455
|
if created_at is not None:
|
|
@@ -485,6 +510,18 @@ class _DropletState:
|
|
|
485
510
|
if vpc_uuid is not None:
|
|
486
511
|
pulumi.set(__self__, "vpc_uuid", vpc_uuid)
|
|
487
512
|
|
|
513
|
+
@property
|
|
514
|
+
@pulumi.getter(name="backupPolicy")
|
|
515
|
+
def backup_policy(self) -> Optional[pulumi.Input['DropletBackupPolicyArgs']]:
|
|
516
|
+
"""
|
|
517
|
+
An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
518
|
+
"""
|
|
519
|
+
return pulumi.get(self, "backup_policy")
|
|
520
|
+
|
|
521
|
+
@backup_policy.setter
|
|
522
|
+
def backup_policy(self, value: Optional[pulumi.Input['DropletBackupPolicyArgs']]):
|
|
523
|
+
pulumi.set(self, "backup_policy", value)
|
|
524
|
+
|
|
488
525
|
@property
|
|
489
526
|
@pulumi.getter
|
|
490
527
|
def backups(self) -> Optional[pulumi.Input[bool]]:
|
|
@@ -699,14 +736,12 @@ class _DropletState:
|
|
|
699
736
|
|
|
700
737
|
@property
|
|
701
738
|
@pulumi.getter(name="privateNetworking")
|
|
739
|
+
@_utilities.deprecated("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
702
740
|
def private_networking(self) -> Optional[pulumi.Input[bool]]:
|
|
703
741
|
"""
|
|
704
742
|
**Deprecated** Boolean controlling if private networking
|
|
705
743
|
is enabled. This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
|
|
706
744
|
"""
|
|
707
|
-
warnings.warn("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""", DeprecationWarning)
|
|
708
|
-
pulumi.log.warn("""private_networking is deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
709
|
-
|
|
710
745
|
return pulumi.get(self, "private_networking")
|
|
711
746
|
|
|
712
747
|
@private_networking.setter
|
|
@@ -744,7 +779,7 @@ class _DropletState:
|
|
|
744
779
|
@pulumi.getter
|
|
745
780
|
def size(self) -> Optional[pulumi.Input[Union[str, 'DropletSlug']]]:
|
|
746
781
|
"""
|
|
747
|
-
The unique slug that
|
|
782
|
+
The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
748
783
|
"""
|
|
749
784
|
return pulumi.get(self, "size")
|
|
750
785
|
|
|
@@ -797,7 +832,7 @@ class _DropletState:
|
|
|
797
832
|
@pulumi.getter(name="userData")
|
|
798
833
|
def user_data(self) -> Optional[pulumi.Input[str]]:
|
|
799
834
|
"""
|
|
800
|
-
A string of the desired User Data
|
|
835
|
+
A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
801
836
|
"""
|
|
802
837
|
return pulumi.get(self, "user_data")
|
|
803
838
|
|
|
@@ -847,6 +882,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
847
882
|
def __init__(__self__,
|
|
848
883
|
resource_name: str,
|
|
849
884
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
885
|
+
backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
|
|
850
886
|
backups: Optional[pulumi.Input[bool]] = None,
|
|
851
887
|
droplet_agent: Optional[pulumi.Input[bool]] = None,
|
|
852
888
|
graceful_shutdown: Optional[pulumi.Input[bool]] = None,
|
|
@@ -871,7 +907,6 @@ class Droplet(pulumi.CustomResource):
|
|
|
871
907
|
|
|
872
908
|
## Example Usage
|
|
873
909
|
|
|
874
|
-
<!--Start PulumiCodeChooser -->
|
|
875
910
|
```python
|
|
876
911
|
import pulumi
|
|
877
912
|
import pulumi_digitalocean as digitalocean
|
|
@@ -879,10 +914,16 @@ class Droplet(pulumi.CustomResource):
|
|
|
879
914
|
# Create a new Web Droplet in the nyc2 region
|
|
880
915
|
web = digitalocean.Droplet("web",
|
|
881
916
|
image="ubuntu-20-04-x64",
|
|
882
|
-
|
|
883
|
-
|
|
917
|
+
name="web-1",
|
|
918
|
+
region=digitalocean.Region.NYC2,
|
|
919
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
920
|
+
backups=True,
|
|
921
|
+
backup_policy={
|
|
922
|
+
"plan": "weekly",
|
|
923
|
+
"weekday": "TUE",
|
|
924
|
+
"hour": 8,
|
|
925
|
+
})
|
|
884
926
|
```
|
|
885
|
-
<!--End PulumiCodeChooser -->
|
|
886
927
|
|
|
887
928
|
## Import
|
|
888
929
|
|
|
@@ -894,6 +935,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
894
935
|
|
|
895
936
|
:param str resource_name: The name of the resource.
|
|
896
937
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
938
|
+
:param pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
897
939
|
:param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
|
|
898
940
|
false.
|
|
899
941
|
:param pulumi.Input[bool] droplet_agent: A boolean indicating whether to install the
|
|
@@ -923,7 +965,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
923
965
|
size when resizing a Droplet. It defaults to `true`. When set to `false`,
|
|
924
966
|
only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
|
|
925
967
|
size is a permanent change**. Increasing only RAM and CPU is reversible.
|
|
926
|
-
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that
|
|
968
|
+
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
927
969
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_keys: A list of SSH key IDs or fingerprints to enable in
|
|
928
970
|
the format `[12345, 123456]`. To retrieve this info, use the
|
|
929
971
|
[DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
|
|
@@ -931,7 +973,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
931
973
|
be added or removed via this provider. Modifying this field will prompt you
|
|
932
974
|
to destroy and recreate the Droplet.
|
|
933
975
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of the tags to be applied to this Droplet.
|
|
934
|
-
:param pulumi.Input[str] user_data: A string of the desired User Data
|
|
976
|
+
:param pulumi.Input[str] user_data: A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
935
977
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] volume_ids: A list of the IDs of each block storage volume to be attached to the Droplet.
|
|
936
978
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Droplet will be located.
|
|
937
979
|
"""
|
|
@@ -947,7 +989,6 @@ class Droplet(pulumi.CustomResource):
|
|
|
947
989
|
|
|
948
990
|
## Example Usage
|
|
949
991
|
|
|
950
|
-
<!--Start PulumiCodeChooser -->
|
|
951
992
|
```python
|
|
952
993
|
import pulumi
|
|
953
994
|
import pulumi_digitalocean as digitalocean
|
|
@@ -955,10 +996,16 @@ class Droplet(pulumi.CustomResource):
|
|
|
955
996
|
# Create a new Web Droplet in the nyc2 region
|
|
956
997
|
web = digitalocean.Droplet("web",
|
|
957
998
|
image="ubuntu-20-04-x64",
|
|
958
|
-
|
|
959
|
-
|
|
999
|
+
name="web-1",
|
|
1000
|
+
region=digitalocean.Region.NYC2,
|
|
1001
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
1002
|
+
backups=True,
|
|
1003
|
+
backup_policy={
|
|
1004
|
+
"plan": "weekly",
|
|
1005
|
+
"weekday": "TUE",
|
|
1006
|
+
"hour": 8,
|
|
1007
|
+
})
|
|
960
1008
|
```
|
|
961
|
-
<!--End PulumiCodeChooser -->
|
|
962
1009
|
|
|
963
1010
|
## Import
|
|
964
1011
|
|
|
@@ -983,6 +1030,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
983
1030
|
def _internal_init(__self__,
|
|
984
1031
|
resource_name: str,
|
|
985
1032
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1033
|
+
backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
|
|
986
1034
|
backups: Optional[pulumi.Input[bool]] = None,
|
|
987
1035
|
droplet_agent: Optional[pulumi.Input[bool]] = None,
|
|
988
1036
|
graceful_shutdown: Optional[pulumi.Input[bool]] = None,
|
|
@@ -1009,6 +1057,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1009
1057
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
1010
1058
|
__props__ = DropletArgs.__new__(DropletArgs)
|
|
1011
1059
|
|
|
1060
|
+
__props__.__dict__["backup_policy"] = backup_policy
|
|
1012
1061
|
__props__.__dict__["backups"] = backups
|
|
1013
1062
|
__props__.__dict__["droplet_agent"] = droplet_agent
|
|
1014
1063
|
__props__.__dict__["graceful_shutdown"] = graceful_shutdown
|
|
@@ -1051,6 +1100,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1051
1100
|
def get(resource_name: str,
|
|
1052
1101
|
id: pulumi.Input[str],
|
|
1053
1102
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1103
|
+
backup_policy: Optional[pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']]] = None,
|
|
1054
1104
|
backups: Optional[pulumi.Input[bool]] = None,
|
|
1055
1105
|
created_at: Optional[pulumi.Input[str]] = None,
|
|
1056
1106
|
disk: Optional[pulumi.Input[int]] = None,
|
|
@@ -1086,6 +1136,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1086
1136
|
:param str resource_name: The unique name of the resulting resource.
|
|
1087
1137
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
1088
1138
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1139
|
+
:param pulumi.Input[Union['DropletBackupPolicyArgs', 'DropletBackupPolicyArgsDict']] backup_policy: An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
1089
1140
|
:param pulumi.Input[bool] backups: Boolean controlling if backups are made. Defaults to
|
|
1090
1141
|
false.
|
|
1091
1142
|
:param pulumi.Input[int] disk: The size of the instance's disk in GB
|
|
@@ -1122,7 +1173,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1122
1173
|
size when resizing a Droplet. It defaults to `true`. When set to `false`,
|
|
1123
1174
|
only the Droplet's RAM and CPU will be resized. **Increasing a Droplet's disk
|
|
1124
1175
|
size is a permanent change**. Increasing only RAM and CPU is reversible.
|
|
1125
|
-
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that
|
|
1176
|
+
:param pulumi.Input[Union[str, 'DropletSlug']] size: The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
1126
1177
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_keys: A list of SSH key IDs or fingerprints to enable in
|
|
1127
1178
|
the format `[12345, 123456]`. To retrieve this info, use the
|
|
1128
1179
|
[DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#tag/SSH-Keys)
|
|
@@ -1131,7 +1182,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1131
1182
|
to destroy and recreate the Droplet.
|
|
1132
1183
|
:param pulumi.Input[str] status: The status of the Droplet
|
|
1133
1184
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of the tags to be applied to this Droplet.
|
|
1134
|
-
:param pulumi.Input[str] user_data: A string of the desired User Data
|
|
1185
|
+
:param pulumi.Input[str] user_data: A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
1135
1186
|
:param pulumi.Input[int] vcpus: The number of the instance's virtual CPUs
|
|
1136
1187
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] volume_ids: A list of the IDs of each block storage volume to be attached to the Droplet.
|
|
1137
1188
|
:param pulumi.Input[str] vpc_uuid: The ID of the VPC where the Droplet will be located.
|
|
@@ -1140,6 +1191,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1140
1191
|
|
|
1141
1192
|
__props__ = _DropletState.__new__(_DropletState)
|
|
1142
1193
|
|
|
1194
|
+
__props__.__dict__["backup_policy"] = backup_policy
|
|
1143
1195
|
__props__.__dict__["backups"] = backups
|
|
1144
1196
|
__props__.__dict__["created_at"] = created_at
|
|
1145
1197
|
__props__.__dict__["disk"] = disk
|
|
@@ -1170,6 +1222,14 @@ class Droplet(pulumi.CustomResource):
|
|
|
1170
1222
|
__props__.__dict__["vpc_uuid"] = vpc_uuid
|
|
1171
1223
|
return Droplet(resource_name, opts=opts, __props__=__props__)
|
|
1172
1224
|
|
|
1225
|
+
@property
|
|
1226
|
+
@pulumi.getter(name="backupPolicy")
|
|
1227
|
+
def backup_policy(self) -> pulumi.Output[Optional['outputs.DropletBackupPolicy']]:
|
|
1228
|
+
"""
|
|
1229
|
+
An object specifying the backup policy for the Droplet. If omitted and `backups` is `true`, the backup plan will default to daily.
|
|
1230
|
+
"""
|
|
1231
|
+
return pulumi.get(self, "backup_policy")
|
|
1232
|
+
|
|
1173
1233
|
@property
|
|
1174
1234
|
@pulumi.getter
|
|
1175
1235
|
def backups(self) -> pulumi.Output[Optional[bool]]:
|
|
@@ -1316,14 +1376,12 @@ class Droplet(pulumi.CustomResource):
|
|
|
1316
1376
|
|
|
1317
1377
|
@property
|
|
1318
1378
|
@pulumi.getter(name="privateNetworking")
|
|
1379
|
+
@_utilities.deprecated("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
1319
1380
|
def private_networking(self) -> pulumi.Output[bool]:
|
|
1320
1381
|
"""
|
|
1321
1382
|
**Deprecated** Boolean controlling if private networking
|
|
1322
1383
|
is enabled. This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.
|
|
1323
1384
|
"""
|
|
1324
|
-
warnings.warn("""This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""", DeprecationWarning)
|
|
1325
|
-
pulumi.log.warn("""private_networking is deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region.""")
|
|
1326
|
-
|
|
1327
1385
|
return pulumi.get(self, "private_networking")
|
|
1328
1386
|
|
|
1329
1387
|
@property
|
|
@@ -1349,7 +1407,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1349
1407
|
@pulumi.getter
|
|
1350
1408
|
def size(self) -> pulumi.Output[str]:
|
|
1351
1409
|
"""
|
|
1352
|
-
The unique slug that
|
|
1410
|
+
The unique slug that identifies the type of Droplet. You can find a list of available slugs on [DigitalOcean API documentation](https://docs.digitalocean.com/reference/api/api-reference/#tag/Sizes).
|
|
1353
1411
|
"""
|
|
1354
1412
|
return pulumi.get(self, "size")
|
|
1355
1413
|
|
|
@@ -1386,7 +1444,7 @@ class Droplet(pulumi.CustomResource):
|
|
|
1386
1444
|
@pulumi.getter(name="userData")
|
|
1387
1445
|
def user_data(self) -> pulumi.Output[Optional[str]]:
|
|
1388
1446
|
"""
|
|
1389
|
-
A string of the desired User Data
|
|
1447
|
+
A string of the desired User Data provided [during Droplet creation](https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/). Changing this forces a new resource to be created.
|
|
1390
1448
|
"""
|
|
1391
1449
|
return pulumi.get(self, "user_data")
|
|
1392
1450
|
|