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
  from . import outputs
12
17
  from ._inputs import *
@@ -77,8 +82,8 @@ class AwaitableGetProjectsResult(GetProjectsResult):
77
82
  sorts=self.sorts)
78
83
 
79
84
 
80
- def get_projects(filters: Optional[Sequence[pulumi.InputType['GetProjectsFilterArgs']]] = None,
81
- sorts: Optional[Sequence[pulumi.InputType['GetProjectsSortArgs']]] = None,
85
+ def get_projects(filters: Optional[Sequence[Union['GetProjectsFilterArgs', 'GetProjectsFilterArgsDict']]] = None,
86
+ sorts: Optional[Sequence[Union['GetProjectsSortArgs', 'GetProjectsSortArgsDict']]] = None,
82
87
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectsResult:
83
88
  """
84
89
  Retrieve information about all DigitalOcean projects associated with an account, with
@@ -95,46 +100,42 @@ def get_projects(filters: Optional[Sequence[pulumi.InputType['GetProjectsFilterA
95
100
 
96
101
  For example to find all staging environment projects:
97
102
 
98
- <!--Start PulumiCodeChooser -->
99
103
  ```python
100
104
  import pulumi
101
105
  import pulumi_digitalocean as digitalocean
102
106
 
103
- staging = digitalocean.get_projects(filters=[digitalocean.GetProjectsFilterArgs(
104
- key="environment",
105
- values=["Staging"],
106
- )])
107
+ staging = digitalocean.get_projects(filters=[{
108
+ "key": "environment",
109
+ "values": ["Staging"],
110
+ }])
107
111
  ```
108
- <!--End PulumiCodeChooser -->
109
112
 
110
113
  You can filter on multiple fields and sort the results as well:
111
114
 
112
- <!--Start PulumiCodeChooser -->
113
115
  ```python
114
116
  import pulumi
115
117
  import pulumi_digitalocean as digitalocean
116
118
 
117
119
  non_default_production = digitalocean.get_projects(filters=[
118
- digitalocean.GetProjectsFilterArgs(
119
- key="environment",
120
- values=["Production"],
121
- ),
122
- digitalocean.GetProjectsFilterArgs(
123
- key="is_default",
124
- values=["false"],
125
- ),
120
+ {
121
+ "key": "environment",
122
+ "values": ["Production"],
123
+ },
124
+ {
125
+ "key": "is_default",
126
+ "values": ["false"],
127
+ },
126
128
  ],
127
- sorts=[digitalocean.GetProjectsSortArgs(
128
- direction="asc",
129
- key="name",
130
- )])
129
+ sorts=[{
130
+ "key": "name",
131
+ "direction": "asc",
132
+ }])
131
133
  ```
132
- <!--End PulumiCodeChooser -->
133
134
 
134
135
 
135
- :param Sequence[pulumi.InputType['GetProjectsFilterArgs']] filters: Filter the results.
136
+ :param Sequence[Union['GetProjectsFilterArgs', 'GetProjectsFilterArgsDict']] filters: Filter the results.
136
137
  The `filter` block is documented below.
137
- :param Sequence[pulumi.InputType['GetProjectsSortArgs']] sorts: Sort the results.
138
+ :param Sequence[Union['GetProjectsSortArgs', 'GetProjectsSortArgsDict']] sorts: Sort the results.
138
139
  The `sort` block is documented below.
139
140
  """
140
141
  __args__ = dict()
@@ -148,12 +149,9 @@ def get_projects(filters: Optional[Sequence[pulumi.InputType['GetProjectsFilterA
148
149
  id=pulumi.get(__ret__, 'id'),
149
150
  projects=pulumi.get(__ret__, 'projects'),
150
151
  sorts=pulumi.get(__ret__, 'sorts'))
151
-
152
-
153
- @_utilities.lift_output_func(get_projects)
154
- def get_projects_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetProjectsFilterArgs']]]]] = None,
155
- sorts: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetProjectsSortArgs']]]]] = None,
156
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectsResult]:
152
+ def get_projects_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetProjectsFilterArgs', 'GetProjectsFilterArgsDict']]]]] = None,
153
+ sorts: Optional[pulumi.Input[Optional[Sequence[Union['GetProjectsSortArgs', 'GetProjectsSortArgsDict']]]]] = None,
154
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectsResult]:
157
155
  """
158
156
  Retrieve information about all DigitalOcean projects associated with an account, with
159
157
  the ability to filter and sort the results. If no filters are specified, all projects
@@ -169,46 +167,51 @@ def get_projects_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.
169
167
 
170
168
  For example to find all staging environment projects:
171
169
 
172
- <!--Start PulumiCodeChooser -->
173
170
  ```python
174
171
  import pulumi
175
172
  import pulumi_digitalocean as digitalocean
176
173
 
177
- staging = digitalocean.get_projects(filters=[digitalocean.GetProjectsFilterArgs(
178
- key="environment",
179
- values=["Staging"],
180
- )])
174
+ staging = digitalocean.get_projects(filters=[{
175
+ "key": "environment",
176
+ "values": ["Staging"],
177
+ }])
181
178
  ```
182
- <!--End PulumiCodeChooser -->
183
179
 
184
180
  You can filter on multiple fields and sort the results as well:
185
181
 
186
- <!--Start PulumiCodeChooser -->
187
182
  ```python
188
183
  import pulumi
189
184
  import pulumi_digitalocean as digitalocean
190
185
 
191
186
  non_default_production = digitalocean.get_projects(filters=[
192
- digitalocean.GetProjectsFilterArgs(
193
- key="environment",
194
- values=["Production"],
195
- ),
196
- digitalocean.GetProjectsFilterArgs(
197
- key="is_default",
198
- values=["false"],
199
- ),
187
+ {
188
+ "key": "environment",
189
+ "values": ["Production"],
190
+ },
191
+ {
192
+ "key": "is_default",
193
+ "values": ["false"],
194
+ },
200
195
  ],
201
- sorts=[digitalocean.GetProjectsSortArgs(
202
- direction="asc",
203
- key="name",
204
- )])
196
+ sorts=[{
197
+ "key": "name",
198
+ "direction": "asc",
199
+ }])
205
200
  ```
206
- <!--End PulumiCodeChooser -->
207
201
 
208
202
 
209
- :param Sequence[pulumi.InputType['GetProjectsFilterArgs']] filters: Filter the results.
203
+ :param Sequence[Union['GetProjectsFilterArgs', 'GetProjectsFilterArgsDict']] filters: Filter the results.
210
204
  The `filter` block is documented below.
211
- :param Sequence[pulumi.InputType['GetProjectsSortArgs']] sorts: Sort the results.
205
+ :param Sequence[Union['GetProjectsSortArgs', 'GetProjectsSortArgsDict']] sorts: Sort the results.
212
206
  The `sort` block is documented below.
213
207
  """
214
- ...
208
+ __args__ = dict()
209
+ __args__['filters'] = filters
210
+ __args__['sorts'] = sorts
211
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
212
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getProjects:getProjects', __args__, opts=opts, typ=GetProjectsResult)
213
+ return __ret__.apply(lambda __response__: GetProjectsResult(
214
+ filters=pulumi.get(__response__, 'filters'),
215
+ id=pulumi.get(__response__, 'id'),
216
+ projects=pulumi.get(__response__, 'projects'),
217
+ 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__ = [
@@ -173,7 +178,6 @@ def get_record(domain: Optional[str] = None,
173
178
 
174
179
  Get data from a DNS record:
175
180
 
176
- <!--Start PulumiCodeChooser -->
177
181
  ```python
178
182
  import pulumi
179
183
  import pulumi_digitalocean as digitalocean
@@ -183,7 +187,6 @@ def get_record(domain: Optional[str] = None,
183
187
  pulumi.export("recordType", example.type)
184
188
  pulumi.export("recordTtl", example.ttl)
185
189
  ```
186
- <!--End PulumiCodeChooser -->
187
190
 
188
191
 
189
192
  :param str domain: The domain name of the record.
@@ -207,12 +210,9 @@ def get_record(domain: Optional[str] = None,
207
210
  ttl=pulumi.get(__ret__, 'ttl'),
208
211
  type=pulumi.get(__ret__, 'type'),
209
212
  weight=pulumi.get(__ret__, 'weight'))
210
-
211
-
212
- @_utilities.lift_output_func(get_record)
213
213
  def get_record_output(domain: Optional[pulumi.Input[str]] = None,
214
214
  name: Optional[pulumi.Input[str]] = None,
215
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRecordResult]:
215
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRecordResult]:
216
216
  """
217
217
  Get information on a DNS record. This data source provides the name, TTL, and zone
218
218
  file as configured on your DigitalOcean account. This is useful if the record
@@ -225,7 +225,6 @@ def get_record_output(domain: Optional[pulumi.Input[str]] = None,
225
225
 
226
226
  Get data from a DNS record:
227
227
 
228
- <!--Start PulumiCodeChooser -->
229
228
  ```python
230
229
  import pulumi
231
230
  import pulumi_digitalocean as digitalocean
@@ -235,10 +234,25 @@ def get_record_output(domain: Optional[pulumi.Input[str]] = None,
235
234
  pulumi.export("recordType", example.type)
236
235
  pulumi.export("recordTtl", example.ttl)
237
236
  ```
238
- <!--End PulumiCodeChooser -->
239
237
 
240
238
 
241
239
  :param str domain: The domain name of the record.
242
240
  :param str name: The name of the record.
243
241
  """
244
- ...
242
+ __args__ = dict()
243
+ __args__['domain'] = domain
244
+ __args__['name'] = name
245
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
246
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getRecord:getRecord', __args__, opts=opts, typ=GetRecordResult)
247
+ return __ret__.apply(lambda __response__: GetRecordResult(
248
+ data=pulumi.get(__response__, 'data'),
249
+ domain=pulumi.get(__response__, 'domain'),
250
+ flags=pulumi.get(__response__, 'flags'),
251
+ id=pulumi.get(__response__, 'id'),
252
+ name=pulumi.get(__response__, 'name'),
253
+ port=pulumi.get(__response__, 'port'),
254
+ priority=pulumi.get(__response__, 'priority'),
255
+ tag=pulumi.get(__response__, 'tag'),
256
+ ttl=pulumi.get(__response__, 'ttl'),
257
+ type=pulumi.get(__response__, 'type'),
258
+ weight=pulumi.get(__response__, 'weight')))
@@ -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 *
@@ -86,18 +91,36 @@ class AwaitableGetRecordsResult(GetRecordsResult):
86
91
 
87
92
 
88
93
  def get_records(domain: Optional[str] = None,
89
- filters: Optional[Sequence[pulumi.InputType['GetRecordsFilterArgs']]] = None,
90
- sorts: Optional[Sequence[pulumi.InputType['GetRecordsSortArgs']]] = None,
94
+ filters: Optional[Sequence[Union['GetRecordsFilterArgs', 'GetRecordsFilterArgsDict']]] = None,
95
+ sorts: Optional[Sequence[Union['GetRecordsSortArgs', 'GetRecordsSortArgsDict']]] = None,
91
96
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRecordsResult:
92
97
  """
93
98
  Retrieve information about all DNS records within a domain, with the ability to filter and sort the results.
94
99
  If no filters are specified, all records will be returned.
95
100
 
101
+ ## Example Usage
102
+
103
+ Get data for all MX records in a domain:
104
+
105
+ ```python
106
+ import pulumi
107
+ import pulumi_digitalocean as digitalocean
108
+ import pulumi_std as std
109
+
110
+ example = digitalocean.get_records(domain="example.com",
111
+ filters=[{
112
+ "key": "type",
113
+ "values": ["MX"],
114
+ }])
115
+ pulumi.export("mailServers", std.join(separator=",",
116
+ input=[__item.value for __item in example.records]).result)
117
+ ```
118
+
96
119
 
97
120
  :param str domain: The domain name to search for DNS records
98
- :param Sequence[pulumi.InputType['GetRecordsFilterArgs']] filters: Filter the results.
121
+ :param Sequence[Union['GetRecordsFilterArgs', 'GetRecordsFilterArgsDict']] filters: Filter the results.
99
122
  The `filter` block is documented below.
100
- :param Sequence[pulumi.InputType['GetRecordsSortArgs']] sorts: Sort the results.
123
+ :param Sequence[Union['GetRecordsSortArgs', 'GetRecordsSortArgsDict']] sorts: Sort the results.
101
124
  The `sort` block is documented below.
102
125
  """
103
126
  __args__ = dict()
@@ -113,22 +136,48 @@ def get_records(domain: Optional[str] = None,
113
136
  id=pulumi.get(__ret__, 'id'),
114
137
  records=pulumi.get(__ret__, 'records'),
115
138
  sorts=pulumi.get(__ret__, 'sorts'))
116
-
117
-
118
- @_utilities.lift_output_func(get_records)
119
139
  def get_records_output(domain: Optional[pulumi.Input[str]] = None,
120
- filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRecordsFilterArgs']]]]] = None,
121
- sorts: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRecordsSortArgs']]]]] = None,
122
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRecordsResult]:
140
+ filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRecordsFilterArgs', 'GetRecordsFilterArgsDict']]]]] = None,
141
+ sorts: Optional[pulumi.Input[Optional[Sequence[Union['GetRecordsSortArgs', 'GetRecordsSortArgsDict']]]]] = None,
142
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRecordsResult]:
123
143
  """
124
144
  Retrieve information about all DNS records within a domain, with the ability to filter and sort the results.
125
145
  If no filters are specified, all records will be returned.
126
146
 
147
+ ## Example Usage
148
+
149
+ Get data for all MX records in a domain:
150
+
151
+ ```python
152
+ import pulumi
153
+ import pulumi_digitalocean as digitalocean
154
+ import pulumi_std as std
155
+
156
+ example = digitalocean.get_records(domain="example.com",
157
+ filters=[{
158
+ "key": "type",
159
+ "values": ["MX"],
160
+ }])
161
+ pulumi.export("mailServers", std.join(separator=",",
162
+ input=[__item.value for __item in example.records]).result)
163
+ ```
164
+
127
165
 
128
166
  :param str domain: The domain name to search for DNS records
129
- :param Sequence[pulumi.InputType['GetRecordsFilterArgs']] filters: Filter the results.
167
+ :param Sequence[Union['GetRecordsFilterArgs', 'GetRecordsFilterArgsDict']] filters: Filter the results.
130
168
  The `filter` block is documented below.
131
- :param Sequence[pulumi.InputType['GetRecordsSortArgs']] sorts: Sort the results.
169
+ :param Sequence[Union['GetRecordsSortArgs', 'GetRecordsSortArgsDict']] sorts: Sort the results.
132
170
  The `sort` block is documented below.
133
171
  """
134
- ...
172
+ __args__ = dict()
173
+ __args__['domain'] = domain
174
+ __args__['filters'] = filters
175
+ __args__['sorts'] = sorts
176
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
177
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getRecords:getRecords', __args__, opts=opts, typ=GetRecordsResult)
178
+ return __ret__.apply(lambda __response__: GetRecordsResult(
179
+ domain=pulumi.get(__response__, 'domain'),
180
+ filters=pulumi.get(__response__, 'filters'),
181
+ id=pulumi.get(__response__, 'id'),
182
+ records=pulumi.get(__response__, 'records'),
183
+ 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__ = [
@@ -112,7 +117,6 @@ def get_region(slug: Optional[str] = None,
112
117
 
113
118
  ## Example Usage
114
119
 
115
- <!--Start PulumiCodeChooser -->
116
120
  ```python
117
121
  import pulumi
118
122
  import pulumi_digitalocean as digitalocean
@@ -120,7 +124,6 @@ def get_region(slug: Optional[str] = None,
120
124
  sfo2 = digitalocean.get_region(slug="sfo2")
121
125
  pulumi.export("regionName", sfo2.name)
122
126
  ```
123
- <!--End PulumiCodeChooser -->
124
127
 
125
128
 
126
129
  :param str slug: A human-readable string that is used as a unique identifier for each region.
@@ -137,18 +140,14 @@ def get_region(slug: Optional[str] = None,
137
140
  name=pulumi.get(__ret__, 'name'),
138
141
  sizes=pulumi.get(__ret__, 'sizes'),
139
142
  slug=pulumi.get(__ret__, 'slug'))
140
-
141
-
142
- @_utilities.lift_output_func(get_region)
143
143
  def get_region_output(slug: Optional[pulumi.Input[str]] = None,
144
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionResult]:
144
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegionResult]:
145
145
  """
146
146
  Get information on a single DigitalOcean region. This is useful to find out
147
147
  what Droplet sizes and features are supported within a region.
148
148
 
149
149
  ## Example Usage
150
150
 
151
- <!--Start PulumiCodeChooser -->
152
151
  ```python
153
152
  import pulumi
154
153
  import pulumi_digitalocean as digitalocean
@@ -156,9 +155,18 @@ def get_region_output(slug: Optional[pulumi.Input[str]] = None,
156
155
  sfo2 = digitalocean.get_region(slug="sfo2")
157
156
  pulumi.export("regionName", sfo2.name)
158
157
  ```
159
- <!--End PulumiCodeChooser -->
160
158
 
161
159
 
162
160
  :param str slug: A human-readable string that is used as a unique identifier for each region.
163
161
  """
164
- ...
162
+ __args__ = dict()
163
+ __args__['slug'] = slug
164
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
165
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getRegion:getRegion', __args__, opts=opts, typ=GetRegionResult)
166
+ return __ret__.apply(lambda __response__: GetRegionResult(
167
+ available=pulumi.get(__response__, 'available'),
168
+ features=pulumi.get(__response__, 'features'),
169
+ id=pulumi.get(__response__, 'id'),
170
+ name=pulumi.get(__response__, 'name'),
171
+ sizes=pulumi.get(__response__, 'sizes'),
172
+ slug=pulumi.get(__response__, 'slug')))
@@ -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 AwaitableGetRegionsResult(GetRegionsResult):
76
81
  sorts=self.sorts)
77
82
 
78
83
 
79
- def get_regions(filters: Optional[Sequence[pulumi.InputType['GetRegionsFilterArgs']]] = None,
80
- sorts: Optional[Sequence[pulumi.InputType['GetRegionsSortArgs']]] = None,
84
+ def get_regions(filters: Optional[Sequence[Union['GetRegionsFilterArgs', 'GetRegionsFilterArgsDict']]] = None,
85
+ sorts: Optional[Sequence[Union['GetRegionsSortArgs', 'GetRegionsSortArgsDict']]] = None,
81
86
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegionsResult:
82
87
  """
83
88
  Retrieve information about all supported DigitalOcean regions, with the ability to
@@ -92,46 +97,42 @@ def get_regions(filters: Optional[Sequence[pulumi.InputType['GetRegionsFilterArg
92
97
 
93
98
  For example to find all available regions:
94
99
 
95
- <!--Start PulumiCodeChooser -->
96
100
  ```python
97
101
  import pulumi
98
102
  import pulumi_digitalocean as digitalocean
99
103
 
100
- available = digitalocean.get_regions(filters=[digitalocean.GetRegionsFilterArgs(
101
- key="available",
102
- values=["true"],
103
- )])
104
+ available = digitalocean.get_regions(filters=[{
105
+ "key": "available",
106
+ "values": ["true"],
107
+ }])
104
108
  ```
105
- <!--End PulumiCodeChooser -->
106
109
 
107
110
  You can filter on multiple fields and sort the results as well:
108
111
 
109
- <!--Start PulumiCodeChooser -->
110
112
  ```python
111
113
  import pulumi
112
114
  import pulumi_digitalocean as digitalocean
113
115
 
114
116
  available = digitalocean.get_regions(filters=[
115
- digitalocean.GetRegionsFilterArgs(
116
- key="available",
117
- values=["true"],
118
- ),
119
- digitalocean.GetRegionsFilterArgs(
120
- key="features",
121
- values=["private_networking"],
122
- ),
117
+ {
118
+ "key": "available",
119
+ "values": ["true"],
120
+ },
121
+ {
122
+ "key": "features",
123
+ "values": ["private_networking"],
124
+ },
123
125
  ],
124
- sorts=[digitalocean.GetRegionsSortArgs(
125
- direction="desc",
126
- key="name",
127
- )])
126
+ sorts=[{
127
+ "key": "name",
128
+ "direction": "desc",
129
+ }])
128
130
  ```
129
- <!--End PulumiCodeChooser -->
130
131
 
131
132
 
132
- :param Sequence[pulumi.InputType['GetRegionsFilterArgs']] filters: Filter the results.
133
+ :param Sequence[Union['GetRegionsFilterArgs', 'GetRegionsFilterArgsDict']] filters: Filter the results.
133
134
  The `filter` block is documented below.
134
- :param Sequence[pulumi.InputType['GetRegionsSortArgs']] sorts: Sort the results.
135
+ :param Sequence[Union['GetRegionsSortArgs', 'GetRegionsSortArgsDict']] sorts: Sort the results.
135
136
  The `sort` block is documented below.
136
137
  """
137
138
  __args__ = dict()
@@ -145,12 +146,9 @@ def get_regions(filters: Optional[Sequence[pulumi.InputType['GetRegionsFilterArg
145
146
  id=pulumi.get(__ret__, 'id'),
146
147
  regions=pulumi.get(__ret__, 'regions'),
147
148
  sorts=pulumi.get(__ret__, 'sorts'))
148
-
149
-
150
- @_utilities.lift_output_func(get_regions)
151
- def get_regions_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRegionsFilterArgs']]]]] = None,
152
- sorts: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRegionsSortArgs']]]]] = None,
153
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionsResult]:
149
+ def get_regions_output(filters: Optional[pulumi.Input[Optional[Sequence[Union['GetRegionsFilterArgs', 'GetRegionsFilterArgsDict']]]]] = None,
150
+ sorts: Optional[pulumi.Input[Optional[Sequence[Union['GetRegionsSortArgs', 'GetRegionsSortArgsDict']]]]] = None,
151
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegionsResult]:
154
152
  """
155
153
  Retrieve information about all supported DigitalOcean regions, with the ability to
156
154
  filter and sort the results. If no filters are specified, all regions will be returned.
@@ -164,46 +162,51 @@ def get_regions_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.I
164
162
 
165
163
  For example to find all available regions:
166
164
 
167
- <!--Start PulumiCodeChooser -->
168
165
  ```python
169
166
  import pulumi
170
167
  import pulumi_digitalocean as digitalocean
171
168
 
172
- available = digitalocean.get_regions(filters=[digitalocean.GetRegionsFilterArgs(
173
- key="available",
174
- values=["true"],
175
- )])
169
+ available = digitalocean.get_regions(filters=[{
170
+ "key": "available",
171
+ "values": ["true"],
172
+ }])
176
173
  ```
177
- <!--End PulumiCodeChooser -->
178
174
 
179
175
  You can filter on multiple fields and sort the results as well:
180
176
 
181
- <!--Start PulumiCodeChooser -->
182
177
  ```python
183
178
  import pulumi
184
179
  import pulumi_digitalocean as digitalocean
185
180
 
186
181
  available = digitalocean.get_regions(filters=[
187
- digitalocean.GetRegionsFilterArgs(
188
- key="available",
189
- values=["true"],
190
- ),
191
- digitalocean.GetRegionsFilterArgs(
192
- key="features",
193
- values=["private_networking"],
194
- ),
182
+ {
183
+ "key": "available",
184
+ "values": ["true"],
185
+ },
186
+ {
187
+ "key": "features",
188
+ "values": ["private_networking"],
189
+ },
195
190
  ],
196
- sorts=[digitalocean.GetRegionsSortArgs(
197
- direction="desc",
198
- key="name",
199
- )])
191
+ sorts=[{
192
+ "key": "name",
193
+ "direction": "desc",
194
+ }])
200
195
  ```
201
- <!--End PulumiCodeChooser -->
202
196
 
203
197
 
204
- :param Sequence[pulumi.InputType['GetRegionsFilterArgs']] filters: Filter the results.
198
+ :param Sequence[Union['GetRegionsFilterArgs', 'GetRegionsFilterArgsDict']] filters: Filter the results.
205
199
  The `filter` block is documented below.
206
- :param Sequence[pulumi.InputType['GetRegionsSortArgs']] sorts: Sort the results.
200
+ :param Sequence[Union['GetRegionsSortArgs', 'GetRegionsSortArgsDict']] sorts: Sort the results.
207
201
  The `sort` block is documented below.
208
202
  """
209
- ...
203
+ __args__ = dict()
204
+ __args__['filters'] = filters
205
+ __args__['sorts'] = sorts
206
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
207
+ __ret__ = pulumi.runtime.invoke_output('digitalocean:index/getRegions:getRegions', __args__, opts=opts, typ=GetRegionsResult)
208
+ return __ret__.apply(lambda __response__: GetRegionsResult(
209
+ filters=pulumi.get(__response__, 'filters'),
210
+ id=pulumi.get(__response__, 'id'),
211
+ regions=pulumi.get(__response__, 'regions'),
212
+ sorts=pulumi.get(__response__, 'sorts')))