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
@@ -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__ = ['ProjectArgs', 'Project']
@@ -320,36 +325,35 @@ class Project(pulumi.CustomResource):
320
325
 
321
326
  The following example demonstrates the creation of an empty project:
322
327
 
323
- <!--Start PulumiCodeChooser -->
324
328
  ```python
325
329
  import pulumi
326
330
  import pulumi_digitalocean as digitalocean
327
331
 
328
332
  playground = digitalocean.Project("playground",
333
+ name="playground",
329
334
  description="A project to represent development resources.",
330
- environment="Development",
331
- purpose="Web Application")
335
+ purpose="Web Application",
336
+ environment="Development")
332
337
  ```
333
- <!--End PulumiCodeChooser -->
334
338
 
335
339
  The following example demonstrates the creation of a project with a Droplet resource:
336
340
 
337
- <!--Start PulumiCodeChooser -->
338
341
  ```python
339
342
  import pulumi
340
343
  import pulumi_digitalocean as digitalocean
341
344
 
342
345
  foobar = digitalocean.Droplet("foobar",
343
- size="s-1vcpu-1gb",
346
+ name="example",
347
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
344
348
  image="ubuntu-22-04-x64",
345
- region="nyc3")
349
+ region=digitalocean.Region.NYC3)
346
350
  playground = digitalocean.Project("playground",
351
+ name="playground",
347
352
  description="A project to represent development resources.",
348
353
  purpose="Web Application",
349
354
  environment="Development",
350
355
  resources=[foobar.droplet_urn])
351
356
  ```
352
- <!--End PulumiCodeChooser -->
353
357
 
354
358
  ## Import
355
359
 
@@ -399,36 +403,35 @@ class Project(pulumi.CustomResource):
399
403
 
400
404
  The following example demonstrates the creation of an empty project:
401
405
 
402
- <!--Start PulumiCodeChooser -->
403
406
  ```python
404
407
  import pulumi
405
408
  import pulumi_digitalocean as digitalocean
406
409
 
407
410
  playground = digitalocean.Project("playground",
411
+ name="playground",
408
412
  description="A project to represent development resources.",
409
- environment="Development",
410
- purpose="Web Application")
413
+ purpose="Web Application",
414
+ environment="Development")
411
415
  ```
412
- <!--End PulumiCodeChooser -->
413
416
 
414
417
  The following example demonstrates the creation of a project with a Droplet resource:
415
418
 
416
- <!--Start PulumiCodeChooser -->
417
419
  ```python
418
420
  import pulumi
419
421
  import pulumi_digitalocean as digitalocean
420
422
 
421
423
  foobar = digitalocean.Droplet("foobar",
422
- size="s-1vcpu-1gb",
424
+ name="example",
425
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
423
426
  image="ubuntu-22-04-x64",
424
- region="nyc3")
427
+ region=digitalocean.Region.NYC3)
425
428
  playground = digitalocean.Project("playground",
429
+ name="playground",
426
430
  description="A project to represent development resources.",
427
431
  purpose="Web Application",
428
432
  environment="Development",
429
433
  resources=[foobar.droplet_urn])
430
434
  ```
431
- <!--End PulumiCodeChooser -->
432
435
 
433
436
  ## Import
434
437
 
@@ -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__ = ['ProjectResourcesArgs', 'ProjectResources']
@@ -117,21 +122,20 @@ class ProjectResources(pulumi.CustomResource):
117
122
 
118
123
  The following example assigns a droplet to a Project managed outside of the provider:
119
124
 
120
- <!--Start PulumiCodeChooser -->
121
125
  ```python
122
126
  import pulumi
123
127
  import pulumi_digitalocean as digitalocean
124
128
 
125
129
  playground = digitalocean.get_project(name="playground")
126
130
  foobar = digitalocean.Droplet("foobar",
127
- size="s-1vcpu-1gb",
131
+ name="example",
132
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
128
133
  image="ubuntu-22-04-x64",
129
- region="nyc3")
134
+ region=digitalocean.Region.NYC3)
130
135
  barfoo = digitalocean.ProjectResources("barfoo",
131
136
  project=playground.id,
132
137
  resources=[foobar.droplet_urn])
133
138
  ```
134
- <!--End PulumiCodeChooser -->
135
139
 
136
140
  ## Import
137
141
 
@@ -168,21 +172,20 @@ class ProjectResources(pulumi.CustomResource):
168
172
 
169
173
  The following example assigns a droplet to a Project managed outside of the provider:
170
174
 
171
- <!--Start PulumiCodeChooser -->
172
175
  ```python
173
176
  import pulumi
174
177
  import pulumi_digitalocean as digitalocean
175
178
 
176
179
  playground = digitalocean.get_project(name="playground")
177
180
  foobar = digitalocean.Droplet("foobar",
178
- size="s-1vcpu-1gb",
181
+ name="example",
182
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
179
183
  image="ubuntu-22-04-x64",
180
- region="nyc3")
184
+ region=digitalocean.Region.NYC3)
181
185
  barfoo = digitalocean.ProjectResources("barfoo",
182
186
  project=playground.id,
183
187
  resources=[foobar.droplet_urn])
184
188
  ```
185
- <!--End PulumiCodeChooser -->
186
189
 
187
190
  ## Import
188
191
 
@@ -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__ = ['ProviderArgs', 'Provider']
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
- "name": "digitalocean"
3
+ "name": "digitalocean",
4
+ "version": "4.39.0-alpha.1736833057"
4
5
  }
@@ -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__ = ['ReservedIpArgs', 'ReservedIp']
@@ -154,22 +159,21 @@ class ReservedIp(pulumi.CustomResource):
154
159
 
155
160
  ## Example Usage
156
161
 
157
- <!--Start PulumiCodeChooser -->
158
162
  ```python
159
163
  import pulumi
160
164
  import pulumi_digitalocean as digitalocean
161
165
 
162
- example_droplet = digitalocean.Droplet("exampleDroplet",
163
- size="s-1vcpu-1gb",
166
+ example = digitalocean.Droplet("example",
167
+ name="example",
168
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
164
169
  image="ubuntu-22-04-x64",
165
- region="nyc3",
170
+ region=digitalocean.Region.NYC3,
166
171
  ipv6=True,
167
172
  private_networking=True)
168
- example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp",
169
- droplet_id=example_droplet.id,
170
- region=example_droplet.region)
173
+ example_reserved_ip = digitalocean.ReservedIp("example",
174
+ droplet_id=example.id,
175
+ region=example.region)
171
176
  ```
172
- <!--End PulumiCodeChooser -->
173
177
 
174
178
  ## Import
175
179
 
@@ -198,22 +202,21 @@ class ReservedIp(pulumi.CustomResource):
198
202
 
199
203
  ## Example Usage
200
204
 
201
- <!--Start PulumiCodeChooser -->
202
205
  ```python
203
206
  import pulumi
204
207
  import pulumi_digitalocean as digitalocean
205
208
 
206
- example_droplet = digitalocean.Droplet("exampleDroplet",
207
- size="s-1vcpu-1gb",
209
+ example = digitalocean.Droplet("example",
210
+ name="example",
211
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
208
212
  image="ubuntu-22-04-x64",
209
- region="nyc3",
213
+ region=digitalocean.Region.NYC3,
210
214
  ipv6=True,
211
215
  private_networking=True)
212
- example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp",
213
- droplet_id=example_droplet.id,
214
- region=example_droplet.region)
216
+ example_reserved_ip = digitalocean.ReservedIp("example",
217
+ droplet_id=example.id,
218
+ region=example.region)
215
219
  ```
216
- <!--End PulumiCodeChooser -->
217
220
 
218
221
  ## Import
219
222
 
@@ -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__ = ['ReservedIpAssignmentArgs', 'ReservedIpAssignment']
@@ -104,23 +109,22 @@ class ReservedIpAssignment(pulumi.CustomResource):
104
109
 
105
110
  ## Example Usage
106
111
 
107
- <!--Start PulumiCodeChooser -->
108
112
  ```python
109
113
  import pulumi
110
114
  import pulumi_digitalocean as digitalocean
111
115
 
112
- example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", region="nyc3")
113
- example_droplet = digitalocean.Droplet("exampleDroplet",
114
- size="s-1vcpu-1gb",
116
+ example = digitalocean.ReservedIp("example", region="nyc3")
117
+ example_droplet = digitalocean.Droplet("example",
118
+ name="baz",
119
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
115
120
  image="ubuntu-22-04-x64",
116
- region="nyc3",
121
+ region=digitalocean.Region.NYC3,
117
122
  ipv6=True,
118
123
  private_networking=True)
119
- example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("exampleReservedIpAssignment",
120
- ip_address=example_reserved_ip.ip_address,
124
+ example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("example",
125
+ ip_address=example.ip_address,
121
126
  droplet_id=example_droplet.id)
122
127
  ```
123
- <!--End PulumiCodeChooser -->
124
128
 
125
129
  ## Import
126
130
 
@@ -150,23 +154,22 @@ class ReservedIpAssignment(pulumi.CustomResource):
150
154
 
151
155
  ## Example Usage
152
156
 
153
- <!--Start PulumiCodeChooser -->
154
157
  ```python
155
158
  import pulumi
156
159
  import pulumi_digitalocean as digitalocean
157
160
 
158
- example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", region="nyc3")
159
- example_droplet = digitalocean.Droplet("exampleDroplet",
160
- size="s-1vcpu-1gb",
161
+ example = digitalocean.ReservedIp("example", region="nyc3")
162
+ example_droplet = digitalocean.Droplet("example",
163
+ name="baz",
164
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
161
165
  image="ubuntu-22-04-x64",
162
- region="nyc3",
166
+ region=digitalocean.Region.NYC3,
163
167
  ipv6=True,
164
168
  private_networking=True)
165
- example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("exampleReservedIpAssignment",
166
- ip_address=example_reserved_ip.ip_address,
169
+ example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("example",
170
+ ip_address=example.ip_address,
167
171
  droplet_id=example_droplet.id)
168
172
  ```
169
- <!--End PulumiCodeChooser -->
170
173
 
171
174
  ## Import
172
175
 
@@ -0,0 +1,232 @@
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
+
17
+ __all__ = ['ReservedIpv6Args', 'ReservedIpv6']
18
+
19
+ @pulumi.input_type
20
+ class ReservedIpv6Args:
21
+ def __init__(__self__, *,
22
+ region_slug: pulumi.Input[str],
23
+ droplet_id: Optional[pulumi.Input[int]] = None,
24
+ ip: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a ReservedIpv6 resource.
27
+ """
28
+ pulumi.set(__self__, "region_slug", region_slug)
29
+ if droplet_id is not None:
30
+ pulumi.set(__self__, "droplet_id", droplet_id)
31
+ if ip is not None:
32
+ pulumi.set(__self__, "ip", ip)
33
+
34
+ @property
35
+ @pulumi.getter(name="regionSlug")
36
+ def region_slug(self) -> pulumi.Input[str]:
37
+ return pulumi.get(self, "region_slug")
38
+
39
+ @region_slug.setter
40
+ def region_slug(self, value: pulumi.Input[str]):
41
+ pulumi.set(self, "region_slug", value)
42
+
43
+ @property
44
+ @pulumi.getter(name="dropletId")
45
+ def droplet_id(self) -> Optional[pulumi.Input[int]]:
46
+ return pulumi.get(self, "droplet_id")
47
+
48
+ @droplet_id.setter
49
+ def droplet_id(self, value: Optional[pulumi.Input[int]]):
50
+ pulumi.set(self, "droplet_id", value)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def ip(self) -> Optional[pulumi.Input[str]]:
55
+ return pulumi.get(self, "ip")
56
+
57
+ @ip.setter
58
+ def ip(self, value: Optional[pulumi.Input[str]]):
59
+ pulumi.set(self, "ip", value)
60
+
61
+
62
+ @pulumi.input_type
63
+ class _ReservedIpv6State:
64
+ def __init__(__self__, *,
65
+ droplet_id: Optional[pulumi.Input[int]] = None,
66
+ ip: Optional[pulumi.Input[str]] = None,
67
+ region_slug: Optional[pulumi.Input[str]] = None,
68
+ urn: Optional[pulumi.Input[str]] = None):
69
+ """
70
+ Input properties used for looking up and filtering ReservedIpv6 resources.
71
+ :param pulumi.Input[str] urn: the uniform resource name for the reserved ipv6
72
+ """
73
+ if droplet_id is not None:
74
+ pulumi.set(__self__, "droplet_id", droplet_id)
75
+ if ip is not None:
76
+ pulumi.set(__self__, "ip", ip)
77
+ if region_slug is not None:
78
+ pulumi.set(__self__, "region_slug", region_slug)
79
+ if urn is not None:
80
+ pulumi.set(__self__, "urn", urn)
81
+
82
+ @property
83
+ @pulumi.getter(name="dropletId")
84
+ def droplet_id(self) -> Optional[pulumi.Input[int]]:
85
+ return pulumi.get(self, "droplet_id")
86
+
87
+ @droplet_id.setter
88
+ def droplet_id(self, value: Optional[pulumi.Input[int]]):
89
+ pulumi.set(self, "droplet_id", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def ip(self) -> Optional[pulumi.Input[str]]:
94
+ return pulumi.get(self, "ip")
95
+
96
+ @ip.setter
97
+ def ip(self, value: Optional[pulumi.Input[str]]):
98
+ pulumi.set(self, "ip", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="regionSlug")
102
+ def region_slug(self) -> Optional[pulumi.Input[str]]:
103
+ return pulumi.get(self, "region_slug")
104
+
105
+ @region_slug.setter
106
+ def region_slug(self, value: Optional[pulumi.Input[str]]):
107
+ pulumi.set(self, "region_slug", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def urn(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ the uniform resource name for the reserved ipv6
114
+ """
115
+ return pulumi.get(self, "urn")
116
+
117
+ @urn.setter
118
+ def urn(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "urn", value)
120
+
121
+
122
+ class ReservedIpv6(pulumi.CustomResource):
123
+ @overload
124
+ def __init__(__self__,
125
+ resource_name: str,
126
+ opts: Optional[pulumi.ResourceOptions] = None,
127
+ droplet_id: Optional[pulumi.Input[int]] = None,
128
+ ip: Optional[pulumi.Input[str]] = None,
129
+ region_slug: Optional[pulumi.Input[str]] = None,
130
+ __props__=None):
131
+ """
132
+ Create a ReservedIpv6 resource with the given unique name, props, and options.
133
+ :param str resource_name: The name of the resource.
134
+ :param pulumi.ResourceOptions opts: Options for the resource.
135
+ """
136
+ ...
137
+ @overload
138
+ def __init__(__self__,
139
+ resource_name: str,
140
+ args: ReservedIpv6Args,
141
+ opts: Optional[pulumi.ResourceOptions] = None):
142
+ """
143
+ Create a ReservedIpv6 resource with the given unique name, props, and options.
144
+ :param str resource_name: The name of the resource.
145
+ :param ReservedIpv6Args args: The arguments to use to populate this resource's properties.
146
+ :param pulumi.ResourceOptions opts: Options for the resource.
147
+ """
148
+ ...
149
+ def __init__(__self__, resource_name: str, *args, **kwargs):
150
+ resource_args, opts = _utilities.get_resource_args_opts(ReservedIpv6Args, pulumi.ResourceOptions, *args, **kwargs)
151
+ if resource_args is not None:
152
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
153
+ else:
154
+ __self__._internal_init(resource_name, *args, **kwargs)
155
+
156
+ def _internal_init(__self__,
157
+ resource_name: str,
158
+ opts: Optional[pulumi.ResourceOptions] = None,
159
+ droplet_id: Optional[pulumi.Input[int]] = None,
160
+ ip: Optional[pulumi.Input[str]] = None,
161
+ region_slug: Optional[pulumi.Input[str]] = None,
162
+ __props__=None):
163
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
164
+ if not isinstance(opts, pulumi.ResourceOptions):
165
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
166
+ if opts.id is None:
167
+ if __props__ is not None:
168
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
169
+ __props__ = ReservedIpv6Args.__new__(ReservedIpv6Args)
170
+
171
+ __props__.__dict__["droplet_id"] = droplet_id
172
+ __props__.__dict__["ip"] = ip
173
+ if region_slug is None and not opts.urn:
174
+ raise TypeError("Missing required property 'region_slug'")
175
+ __props__.__dict__["region_slug"] = region_slug
176
+ __props__.__dict__["urn"] = None
177
+ super(ReservedIpv6, __self__).__init__(
178
+ 'digitalocean:index/reservedIpv6:ReservedIpv6',
179
+ resource_name,
180
+ __props__,
181
+ opts)
182
+
183
+ @staticmethod
184
+ def get(resource_name: str,
185
+ id: pulumi.Input[str],
186
+ opts: Optional[pulumi.ResourceOptions] = None,
187
+ droplet_id: Optional[pulumi.Input[int]] = None,
188
+ ip: Optional[pulumi.Input[str]] = None,
189
+ region_slug: Optional[pulumi.Input[str]] = None,
190
+ urn: Optional[pulumi.Input[str]] = None) -> 'ReservedIpv6':
191
+ """
192
+ Get an existing ReservedIpv6 resource's state with the given name, id, and optional extra
193
+ properties used to qualify the lookup.
194
+
195
+ :param str resource_name: The unique name of the resulting resource.
196
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
197
+ :param pulumi.ResourceOptions opts: Options for the resource.
198
+ :param pulumi.Input[str] urn: the uniform resource name for the reserved ipv6
199
+ """
200
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
201
+
202
+ __props__ = _ReservedIpv6State.__new__(_ReservedIpv6State)
203
+
204
+ __props__.__dict__["droplet_id"] = droplet_id
205
+ __props__.__dict__["ip"] = ip
206
+ __props__.__dict__["region_slug"] = region_slug
207
+ __props__.__dict__["urn"] = urn
208
+ return ReservedIpv6(resource_name, opts=opts, __props__=__props__)
209
+
210
+ @property
211
+ @pulumi.getter(name="dropletId")
212
+ def droplet_id(self) -> pulumi.Output[int]:
213
+ return pulumi.get(self, "droplet_id")
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def ip(self) -> pulumi.Output[str]:
218
+ return pulumi.get(self, "ip")
219
+
220
+ @property
221
+ @pulumi.getter(name="regionSlug")
222
+ def region_slug(self) -> pulumi.Output[str]:
223
+ return pulumi.get(self, "region_slug")
224
+
225
+ @property
226
+ @pulumi.getter
227
+ def urn(self) -> pulumi.Output[str]:
228
+ """
229
+ the uniform resource name for the reserved ipv6
230
+ """
231
+ return pulumi.get(self, "urn")
232
+