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.

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.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/METADATA +7 -6
  104. pulumi_digitalocean-4.39.0a1736849637.dist-info/RECORD +108 -0
  105. {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/WHEEL +1 -1
  106. pulumi_digitalocean-4.27.0a1710332933.dist-info/RECORD +0 -97
  107. {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.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__ = [
@@ -218,7 +223,6 @@ def get_database_replica(cluster_id: Optional[str] = None,
218
223
 
219
224
  ## Example Usage
220
225
 
221
- <!--Start PulumiCodeChooser -->
222
226
  ```python
223
227
  import pulumi
224
228
  import pulumi_digitalocean as digitalocean
@@ -228,7 +232,6 @@ def get_database_replica(cluster_id: Optional[str] = None,
228
232
  name="terra-test-ro")
229
233
  pulumi.export("replicaOutput", read_only.uri)
230
234
  ```
231
- <!--End PulumiCodeChooser -->
232
235
 
233
236
 
234
237
  :param str cluster_id: The ID of the original source database cluster.
@@ -259,19 +262,15 @@ def get_database_replica(cluster_id: Optional[str] = None,
259
262
  uri=pulumi.get(__ret__, 'uri'),
260
263
  user=pulumi.get(__ret__, 'user'),
261
264
  uuid=pulumi.get(__ret__, 'uuid'))
262
-
263
-
264
- @_utilities.lift_output_func(get_database_replica)
265
265
  def get_database_replica_output(cluster_id: Optional[pulumi.Input[str]] = None,
266
266
  name: Optional[pulumi.Input[str]] = None,
267
267
  tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
268
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseReplicaResult]:
268
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseReplicaResult]:
269
269
  """
270
270
  Provides information on a DigitalOcean database replica.
271
271
 
272
272
  ## Example Usage
273
273
 
274
- <!--Start PulumiCodeChooser -->
275
274
  ```python
276
275
  import pulumi
277
276
  import pulumi_digitalocean as digitalocean
@@ -281,11 +280,32 @@ def get_database_replica_output(cluster_id: Optional[pulumi.Input[str]] = None,
281
280
  name="terra-test-ro")
282
281
  pulumi.export("replicaOutput", read_only.uri)
283
282
  ```
284
- <!--End PulumiCodeChooser -->
285
283
 
286
284
 
287
285
  :param str cluster_id: The ID of the original source database cluster.
288
286
  :param str name: The name for the database replica.
289
287
  :param Sequence[str] tags: A list of tag names to be applied to the database replica.
290
288
  """
291
- ...
289
+ __args__ = dict()
290
+ __args__['clusterId'] = cluster_id
291
+ __args__['name'] = name
292
+ __args__['tags'] = tags
293
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
294
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDatabaseReplica:getDatabaseReplica', __args__, opts=opts, typ=GetDatabaseReplicaResult)
295
+ return __ret__.apply(lambda __response__: GetDatabaseReplicaResult(
296
+ cluster_id=pulumi.get(__response__, 'cluster_id'),
297
+ database=pulumi.get(__response__, 'database'),
298
+ host=pulumi.get(__response__, 'host'),
299
+ id=pulumi.get(__response__, 'id'),
300
+ name=pulumi.get(__response__, 'name'),
301
+ password=pulumi.get(__response__, 'password'),
302
+ port=pulumi.get(__response__, 'port'),
303
+ private_host=pulumi.get(__response__, 'private_host'),
304
+ private_network_uuid=pulumi.get(__response__, 'private_network_uuid'),
305
+ private_uri=pulumi.get(__response__, 'private_uri'),
306
+ region=pulumi.get(__response__, 'region'),
307
+ storage_size_mib=pulumi.get(__response__, 'storage_size_mib'),
308
+ tags=pulumi.get(__response__, 'tags'),
309
+ uri=pulumi.get(__response__, 'uri'),
310
+ user=pulumi.get(__response__, 'user'),
311
+ uuid=pulumi.get(__response__, 'uuid')))
@@ -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
  from . import outputs
12
17
 
@@ -140,7 +145,6 @@ def get_database_user(cluster_id: Optional[str] = None,
140
145
 
141
146
  ## Example Usage
142
147
 
143
- <!--Start PulumiCodeChooser -->
144
148
  ```python
145
149
  import pulumi
146
150
  import pulumi_digitalocean as digitalocean
@@ -150,7 +154,6 @@ def get_database_user(cluster_id: Optional[str] = None,
150
154
  name="example-user")
151
155
  pulumi.export("databaseUserPassword", example.password)
152
156
  ```
153
- <!--End PulumiCodeChooser -->
154
157
 
155
158
 
156
159
  :param str cluster_id: The ID of the database cluster.
@@ -172,18 +175,14 @@ def get_database_user(cluster_id: Optional[str] = None,
172
175
  password=pulumi.get(__ret__, 'password'),
173
176
  role=pulumi.get(__ret__, 'role'),
174
177
  settings=pulumi.get(__ret__, 'settings'))
175
-
176
-
177
- @_utilities.lift_output_func(get_database_user)
178
178
  def get_database_user_output(cluster_id: Optional[pulumi.Input[str]] = None,
179
179
  name: Optional[pulumi.Input[str]] = None,
180
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseUserResult]:
180
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseUserResult]:
181
181
  """
182
182
  Provides information on a DigitalOcean database user resource.
183
183
 
184
184
  ## Example Usage
185
185
 
186
- <!--Start PulumiCodeChooser -->
187
186
  ```python
188
187
  import pulumi
189
188
  import pulumi_digitalocean as digitalocean
@@ -193,10 +192,23 @@ def get_database_user_output(cluster_id: Optional[pulumi.Input[str]] = None,
193
192
  name="example-user")
194
193
  pulumi.export("databaseUserPassword", example.password)
195
194
  ```
196
- <!--End PulumiCodeChooser -->
197
195
 
198
196
 
199
197
  :param str cluster_id: The ID of the database cluster.
200
198
  :param str name: The name of the database user.
201
199
  """
202
- ...
200
+ __args__ = dict()
201
+ __args__['clusterId'] = cluster_id
202
+ __args__['name'] = name
203
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
204
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDatabaseUser:getDatabaseUser', __args__, opts=opts, typ=GetDatabaseUserResult)
205
+ return __ret__.apply(lambda __response__: GetDatabaseUserResult(
206
+ access_cert=pulumi.get(__response__, 'access_cert'),
207
+ access_key=pulumi.get(__response__, 'access_key'),
208
+ cluster_id=pulumi.get(__response__, 'cluster_id'),
209
+ id=pulumi.get(__response__, 'id'),
210
+ mysql_auth_plugin=pulumi.get(__response__, 'mysql_auth_plugin'),
211
+ name=pulumi.get(__response__, 'name'),
212
+ password=pulumi.get(__response__, 'password'),
213
+ role=pulumi.get(__response__, 'role'),
214
+ settings=pulumi.get(__response__, 'settings')))
@@ -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__ = [
@@ -104,7 +109,6 @@ def get_domain(name: Optional[str] = None,
104
109
 
105
110
  Get the zone file for a domain:
106
111
 
107
- <!--Start PulumiCodeChooser -->
108
112
  ```python
109
113
  import pulumi
110
114
  import pulumi_digitalocean as digitalocean
@@ -112,7 +116,6 @@ def get_domain(name: Optional[str] = None,
112
116
  example = digitalocean.get_domain(name="example.com")
113
117
  pulumi.export("domainOutput", example.zone_file)
114
118
  ```
115
- <!--End PulumiCodeChooser -->
116
119
 
117
120
 
118
121
  :param str name: The name of the domain.
@@ -128,11 +131,8 @@ def get_domain(name: Optional[str] = None,
128
131
  name=pulumi.get(__ret__, 'name'),
129
132
  ttl=pulumi.get(__ret__, 'ttl'),
130
133
  zone_file=pulumi.get(__ret__, 'zone_file'))
131
-
132
-
133
- @_utilities.lift_output_func(get_domain)
134
134
  def get_domain_output(name: Optional[pulumi.Input[str]] = None,
135
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainResult]:
135
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainResult]:
136
136
  """
137
137
  Get information on a domain. This data source provides the name, TTL, and zone
138
138
  file as configured on your DigitalOcean account. This is useful if the domain
@@ -146,7 +146,6 @@ def get_domain_output(name: Optional[pulumi.Input[str]] = None,
146
146
 
147
147
  Get the zone file for a domain:
148
148
 
149
- <!--Start PulumiCodeChooser -->
150
149
  ```python
151
150
  import pulumi
152
151
  import pulumi_digitalocean as digitalocean
@@ -154,9 +153,17 @@ def get_domain_output(name: Optional[pulumi.Input[str]] = None,
154
153
  example = digitalocean.get_domain(name="example.com")
155
154
  pulumi.export("domainOutput", example.zone_file)
156
155
  ```
157
- <!--End PulumiCodeChooser -->
158
156
 
159
157
 
160
158
  :param str name: The name of the domain.
161
159
  """
162
- ...
160
+ __args__ = dict()
161
+ __args__['name'] = name
162
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
163
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult)
164
+ return __ret__.apply(lambda __response__: GetDomainResult(
165
+ domain_urn=pulumi.get(__response__, 'domain_urn'),
166
+ id=pulumi.get(__response__, 'id'),
167
+ name=pulumi.get(__response__, 'name'),
168
+ ttl=pulumi.get(__response__, 'ttl'),
169
+ zone_file=pulumi.get(__response__, 'zone_file')))
@@ -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
  from . import outputs
12
17
  from ._inputs import *
@@ -76,8 +81,8 @@ class AwaitableGetDomainsResult(GetDomainsResult):
76
81
  sorts=self.sorts)
77
82
 
78
83
 
79
- def get_domains(filters: Optional[Sequence[pulumi.InputType['GetDomainsFilterArgs']]] = None,
80
- sorts: Optional[Sequence[pulumi.InputType['GetDomainsSortArgs']]] = None,
84
+ def get_domains(filters: Optional[Sequence[Union['GetDomainsFilterArgs', 'GetDomainsFilterArgsDict']]] = None,
85
+ sorts: Optional[Sequence[Union['GetDomainsSortArgs', 'GetDomainsSortArgsDict']]] = None,
81
86
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainsResult:
82
87
  """
83
88
  Get information on domains for use in other resources, with the ability to filter and sort the results.
@@ -94,23 +99,21 @@ def get_domains(filters: Optional[Sequence[pulumi.InputType['GetDomainsFilterArg
94
99
  Use the `filter` block with a `key` string and `values` list to filter domains. (This example
95
100
  also uses the regular expression `match_by` mode in order to match domains by suffix.)
96
101
 
97
- <!--Start PulumiCodeChooser -->
98
102
  ```python
99
103
  import pulumi
100
104
  import pulumi_digitalocean as digitalocean
101
105
 
102
- examples = digitalocean.get_domains(filters=[digitalocean.GetDomainsFilterArgs(
103
- key="name",
104
- match_by="re",
105
- values=["example\\\\.com$"],
106
- )])
106
+ examples = digitalocean.get_domains(filters=[{
107
+ "key": "name",
108
+ "values": ["example\\\\.com$"],
109
+ "match_by": "re",
110
+ }])
107
111
  ```
108
- <!--End PulumiCodeChooser -->
109
112
 
110
113
 
111
- :param Sequence[pulumi.InputType['GetDomainsFilterArgs']] filters: Filter the results.
114
+ :param Sequence[Union['GetDomainsFilterArgs', 'GetDomainsFilterArgsDict']] filters: Filter the results.
112
115
  The `filter` block is documented below.
113
- :param Sequence[pulumi.InputType['GetDomainsSortArgs']] sorts: Sort the results.
116
+ :param Sequence[Union['GetDomainsSortArgs', 'GetDomainsSortArgsDict']] sorts: Sort the results.
114
117
  The `sort` block is documented below.
115
118
  """
116
119
  __args__ = dict()
@@ -124,12 +127,9 @@ def get_domains(filters: Optional[Sequence[pulumi.InputType['GetDomainsFilterArg
124
127
  filters=pulumi.get(__ret__, 'filters'),
125
128
  id=pulumi.get(__ret__, 'id'),
126
129
  sorts=pulumi.get(__ret__, 'sorts'))
127
-
128
-
129
- @_utilities.lift_output_func(get_domains)
130
- def get_domains_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetDomainsFilterArgs']]]]] = None,
131
- sorts: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetDomainsSortArgs']]]]] = None,
132
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainsResult]:
130
+ def get_domains_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetDomainsFilterArgs', 'GetDomainsFilterArgsDict']]]]] = None,
131
+ sorts: Optional[pulumi.Input[Optional[Sequence[Union['GetDomainsSortArgs', 'GetDomainsSortArgsDict']]]]] = None,
132
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainsResult]:
133
133
  """
134
134
  Get information on domains for use in other resources, with the ability to filter and sort the results.
135
135
  If no filters are specified, all domains will be returned.
@@ -145,23 +145,30 @@ def get_domains_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.I
145
145
  Use the `filter` block with a `key` string and `values` list to filter domains. (This example
146
146
  also uses the regular expression `match_by` mode in order to match domains by suffix.)
147
147
 
148
- <!--Start PulumiCodeChooser -->
149
148
  ```python
150
149
  import pulumi
151
150
  import pulumi_digitalocean as digitalocean
152
151
 
153
- examples = digitalocean.get_domains(filters=[digitalocean.GetDomainsFilterArgs(
154
- key="name",
155
- match_by="re",
156
- values=["example\\\\.com$"],
157
- )])
152
+ examples = digitalocean.get_domains(filters=[{
153
+ "key": "name",
154
+ "values": ["example\\\\.com$"],
155
+ "match_by": "re",
156
+ }])
158
157
  ```
159
- <!--End PulumiCodeChooser -->
160
158
 
161
159
 
162
- :param Sequence[pulumi.InputType['GetDomainsFilterArgs']] filters: Filter the results.
160
+ :param Sequence[Union['GetDomainsFilterArgs', 'GetDomainsFilterArgsDict']] filters: Filter the results.
163
161
  The `filter` block is documented below.
164
- :param Sequence[pulumi.InputType['GetDomainsSortArgs']] sorts: Sort the results.
162
+ :param Sequence[Union['GetDomainsSortArgs', 'GetDomainsSortArgsDict']] sorts: Sort the results.
165
163
  The `sort` block is documented below.
166
164
  """
167
- ...
165
+ __args__ = dict()
166
+ __args__['filters'] = filters
167
+ __args__['sorts'] = sorts
168
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
169
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDomains:getDomains', __args__, opts=opts, typ=GetDomainsResult)
170
+ return __ret__.apply(lambda __response__: GetDomainsResult(
171
+ domains=pulumi.get(__response__, 'domains'),
172
+ filters=pulumi.get(__response__, 'filters'),
173
+ id=pulumi.get(__response__, 'id'),
174
+ sorts=pulumi.get(__response__, 'sorts')))
@@ -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__ = [
@@ -21,7 +26,7 @@ class GetDropletResult:
21
26
  """
22
27
  A collection of values returned by getDroplet.
23
28
  """
24
- def __init__(__self__, backups=None, created_at=None, disk=None, id=None, image=None, ipv4_address=None, ipv4_address_private=None, ipv6=None, ipv6_address=None, ipv6_address_private=None, locked=None, memory=None, monitoring=None, name=None, price_hourly=None, price_monthly=None, private_networking=None, region=None, size=None, status=None, tag=None, tags=None, urn=None, vcpus=None, volume_ids=None, vpc_uuid=None):
29
+ def __init__(__self__, backups=None, created_at=None, disk=None, gpu=None, id=None, image=None, ipv4_address=None, ipv4_address_private=None, ipv6=None, ipv6_address=None, ipv6_address_private=None, locked=None, memory=None, monitoring=None, name=None, price_hourly=None, price_monthly=None, private_networking=None, region=None, size=None, status=None, tag=None, tags=None, urn=None, vcpus=None, volume_ids=None, vpc_uuid=None):
25
30
  if backups and not isinstance(backups, bool):
26
31
  raise TypeError("Expected argument 'backups' to be a bool")
27
32
  pulumi.set(__self__, "backups", backups)
@@ -31,6 +36,9 @@ class GetDropletResult:
31
36
  if disk and not isinstance(disk, int):
32
37
  raise TypeError("Expected argument 'disk' to be a int")
33
38
  pulumi.set(__self__, "disk", disk)
39
+ if gpu and not isinstance(gpu, bool):
40
+ raise TypeError("Expected argument 'gpu' to be a bool")
41
+ pulumi.set(__self__, "gpu", gpu)
34
42
  if id and not isinstance(id, int):
35
43
  raise TypeError("Expected argument 'id' to be a int")
36
44
  pulumi.set(__self__, "id", id)
@@ -122,6 +130,11 @@ class GetDropletResult:
122
130
  """
123
131
  return pulumi.get(self, "disk")
124
132
 
133
+ @property
134
+ @pulumi.getter
135
+ def gpu(self) -> Optional[bool]:
136
+ return pulumi.get(self, "gpu")
137
+
125
138
  @property
126
139
  @pulumi.getter
127
140
  def id(self) -> int:
@@ -243,7 +256,7 @@ class GetDropletResult:
243
256
  @pulumi.getter
244
257
  def size(self) -> str:
245
258
  """
246
- The unique slug that indentifies the type of Droplet.
259
+ The unique slug that identifies the type of Droplet.
247
260
  """
248
261
  return pulumi.get(self, "size")
249
262
 
@@ -310,6 +323,7 @@ class AwaitableGetDropletResult(GetDropletResult):
310
323
  backups=self.backups,
311
324
  created_at=self.created_at,
312
325
  disk=self.disk,
326
+ gpu=self.gpu,
313
327
  id=self.id,
314
328
  image=self.image,
315
329
  ipv4_address=self.ipv4_address,
@@ -335,7 +349,8 @@ class AwaitableGetDropletResult(GetDropletResult):
335
349
  vpc_uuid=self.vpc_uuid)
336
350
 
337
351
 
338
- def get_droplet(id: Optional[int] = None,
352
+ def get_droplet(gpu: Optional[bool] = None,
353
+ id: Optional[int] = None,
339
354
  name: Optional[str] = None,
340
355
  tag: Optional[str] = None,
341
356
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDropletResult:
@@ -352,7 +367,6 @@ def get_droplet(id: Optional[int] = None,
352
367
 
353
368
  Get the Droplet by name:
354
369
 
355
- <!--Start PulumiCodeChooser -->
356
370
  ```python
357
371
  import pulumi
358
372
  import pulumi_digitalocean as digitalocean
@@ -360,36 +374,35 @@ def get_droplet(id: Optional[int] = None,
360
374
  example = digitalocean.get_droplet(name="web")
361
375
  pulumi.export("dropletOutput", example.ipv4_address)
362
376
  ```
363
- <!--End PulumiCodeChooser -->
364
377
 
365
378
  Get the Droplet by tag:
366
379
 
367
- <!--Start PulumiCodeChooser -->
368
380
  ```python
369
381
  import pulumi
370
382
  import pulumi_digitalocean as digitalocean
371
383
 
372
384
  example = digitalocean.get_droplet(tag="web")
373
385
  ```
374
- <!--End PulumiCodeChooser -->
375
386
 
376
387
  Get the Droplet by ID:
377
388
 
378
- <!--Start PulumiCodeChooser -->
379
389
  ```python
380
390
  import pulumi
381
391
  import pulumi_digitalocean as digitalocean
382
392
 
383
- example = digitalocean.get_droplet(id=digitalocean_kubernetes_cluster["example"]["node_pool"][0]["nodes"][0]["droplet_id"])
393
+ example = digitalocean.get_droplet(id=example_digitalocean_kubernetes_cluster["nodePool"][0]["nodes"][0]["dropletId"])
384
394
  ```
385
- <!--End PulumiCodeChooser -->
386
395
 
387
396
 
397
+ :param bool gpu: A boolean value specifying whether or not to search GPU Droplets
388
398
  :param int id: The ID of the Droplet
389
399
  :param str name: The name of the Droplet.
390
400
  :param str tag: A tag applied to the Droplet.
401
+
402
+ To include GPU Droplets when searching by name, use:
391
403
  """
392
404
  __args__ = dict()
405
+ __args__['gpu'] = gpu
393
406
  __args__['id'] = id
394
407
  __args__['name'] = name
395
408
  __args__['tag'] = tag
@@ -400,6 +413,7 @@ def get_droplet(id: Optional[int] = None,
400
413
  backups=pulumi.get(__ret__, 'backups'),
401
414
  created_at=pulumi.get(__ret__, 'created_at'),
402
415
  disk=pulumi.get(__ret__, 'disk'),
416
+ gpu=pulumi.get(__ret__, 'gpu'),
403
417
  id=pulumi.get(__ret__, 'id'),
404
418
  image=pulumi.get(__ret__, 'image'),
405
419
  ipv4_address=pulumi.get(__ret__, 'ipv4_address'),
@@ -423,13 +437,11 @@ def get_droplet(id: Optional[int] = None,
423
437
  vcpus=pulumi.get(__ret__, 'vcpus'),
424
438
  volume_ids=pulumi.get(__ret__, 'volume_ids'),
425
439
  vpc_uuid=pulumi.get(__ret__, 'vpc_uuid'))
426
-
427
-
428
- @_utilities.lift_output_func(get_droplet)
429
- def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
440
+ def get_droplet_output(gpu: Optional[pulumi.Input[Optional[bool]]] = None,
441
+ id: Optional[pulumi.Input[Optional[int]]] = None,
430
442
  name: Optional[pulumi.Input[Optional[str]]] = None,
431
443
  tag: Optional[pulumi.Input[Optional[str]]] = None,
432
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDropletResult]:
444
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDropletResult]:
433
445
  """
434
446
  Get information on a Droplet for use in other resources. This data source provides
435
447
  all of the Droplet's properties as configured on your DigitalOcean account. This
@@ -443,7 +455,6 @@ def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
443
455
 
444
456
  Get the Droplet by name:
445
457
 
446
- <!--Start PulumiCodeChooser -->
447
458
  ```python
448
459
  import pulumi
449
460
  import pulumi_digitalocean as digitalocean
@@ -451,33 +462,65 @@ def get_droplet_output(id: Optional[pulumi.Input[Optional[int]]] = None,
451
462
  example = digitalocean.get_droplet(name="web")
452
463
  pulumi.export("dropletOutput", example.ipv4_address)
453
464
  ```
454
- <!--End PulumiCodeChooser -->
455
465
 
456
466
  Get the Droplet by tag:
457
467
 
458
- <!--Start PulumiCodeChooser -->
459
468
  ```python
460
469
  import pulumi
461
470
  import pulumi_digitalocean as digitalocean
462
471
 
463
472
  example = digitalocean.get_droplet(tag="web")
464
473
  ```
465
- <!--End PulumiCodeChooser -->
466
474
 
467
475
  Get the Droplet by ID:
468
476
 
469
- <!--Start PulumiCodeChooser -->
470
477
  ```python
471
478
  import pulumi
472
479
  import pulumi_digitalocean as digitalocean
473
480
 
474
- example = digitalocean.get_droplet(id=digitalocean_kubernetes_cluster["example"]["node_pool"][0]["nodes"][0]["droplet_id"])
481
+ example = digitalocean.get_droplet(id=example_digitalocean_kubernetes_cluster["nodePool"][0]["nodes"][0]["dropletId"])
475
482
  ```
476
- <!--End PulumiCodeChooser -->
477
483
 
478
484
 
485
+ :param bool gpu: A boolean value specifying whether or not to search GPU Droplets
479
486
  :param int id: The ID of the Droplet
480
487
  :param str name: The name of the Droplet.
481
488
  :param str tag: A tag applied to the Droplet.
489
+
490
+ To include GPU Droplets when searching by name, use:
482
491
  """
483
- ...
492
+ __args__ = dict()
493
+ __args__['gpu'] = gpu
494
+ __args__['id'] = id
495
+ __args__['name'] = name
496
+ __args__['tag'] = tag
497
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
498
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getDroplet:getDroplet', __args__, opts=opts, typ=GetDropletResult)
499
+ return __ret__.apply(lambda __response__: GetDropletResult(
500
+ backups=pulumi.get(__response__, 'backups'),
501
+ created_at=pulumi.get(__response__, 'created_at'),
502
+ disk=pulumi.get(__response__, 'disk'),
503
+ gpu=pulumi.get(__response__, 'gpu'),
504
+ id=pulumi.get(__response__, 'id'),
505
+ image=pulumi.get(__response__, 'image'),
506
+ ipv4_address=pulumi.get(__response__, 'ipv4_address'),
507
+ ipv4_address_private=pulumi.get(__response__, 'ipv4_address_private'),
508
+ ipv6=pulumi.get(__response__, 'ipv6'),
509
+ ipv6_address=pulumi.get(__response__, 'ipv6_address'),
510
+ ipv6_address_private=pulumi.get(__response__, 'ipv6_address_private'),
511
+ locked=pulumi.get(__response__, 'locked'),
512
+ memory=pulumi.get(__response__, 'memory'),
513
+ monitoring=pulumi.get(__response__, 'monitoring'),
514
+ name=pulumi.get(__response__, 'name'),
515
+ price_hourly=pulumi.get(__response__, 'price_hourly'),
516
+ price_monthly=pulumi.get(__response__, 'price_monthly'),
517
+ private_networking=pulumi.get(__response__, 'private_networking'),
518
+ region=pulumi.get(__response__, 'region'),
519
+ size=pulumi.get(__response__, 'size'),
520
+ status=pulumi.get(__response__, 'status'),
521
+ tag=pulumi.get(__response__, 'tag'),
522
+ tags=pulumi.get(__response__, 'tags'),
523
+ urn=pulumi.get(__response__, 'urn'),
524
+ vcpus=pulumi.get(__response__, 'vcpus'),
525
+ volume_ids=pulumi.get(__response__, 'volume_ids'),
526
+ vpc_uuid=pulumi.get(__response__, 'vpc_uuid')))