pulumi-digitalocean 4.27.0a1710332933__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.
- 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.0a1736833057.dist-info}/METADATA +7 -6
- pulumi_digitalocean-4.39.0a1736833057.dist-info/RECORD +108 -0
- {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736833057.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.0a1736833057.dist-info}/top_level.txt +0 -0
pulumi_digitalocean/firewall.py
CHANGED
|
@@ -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 *
|
|
@@ -24,13 +29,14 @@ class FirewallArgs:
|
|
|
24
29
|
"""
|
|
25
30
|
The set of arguments for constructing a Firewall resource.
|
|
26
31
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: The list of the IDs of the Droplets assigned
|
|
27
|
-
to the Firewall.
|
|
32
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
33
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
28
34
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallInboundRuleArgs']]] inbound_rules: The inbound access rule block for the Firewall.
|
|
29
35
|
The `inbound_rule` block is documented below.
|
|
30
36
|
:param pulumi.Input[str] name: The Firewall name
|
|
31
37
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallOutboundRuleArgs']]] outbound_rules: The outbound access rule block for the Firewall.
|
|
32
38
|
The `outbound_rule` block is documented below.
|
|
33
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall.
|
|
39
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall (max. 5).
|
|
34
40
|
"""
|
|
35
41
|
if droplet_ids is not None:
|
|
36
42
|
pulumi.set(__self__, "droplet_ids", droplet_ids)
|
|
@@ -48,7 +54,8 @@ class FirewallArgs:
|
|
|
48
54
|
def droplet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
|
|
49
55
|
"""
|
|
50
56
|
The list of the IDs of the Droplets assigned
|
|
51
|
-
to the Firewall.
|
|
57
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
58
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
52
59
|
"""
|
|
53
60
|
return pulumi.get(self, "droplet_ids")
|
|
54
61
|
|
|
@@ -98,7 +105,7 @@ class FirewallArgs:
|
|
|
98
105
|
@pulumi.getter
|
|
99
106
|
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
100
107
|
"""
|
|
101
|
-
The names of the Tags assigned to the Firewall.
|
|
108
|
+
The names of the Tags assigned to the Firewall (max. 5).
|
|
102
109
|
"""
|
|
103
110
|
return pulumi.get(self, "tags")
|
|
104
111
|
|
|
@@ -123,7 +130,8 @@ class _FirewallState:
|
|
|
123
130
|
:param pulumi.Input[str] created_at: A time value given in ISO8601 combined date and time format
|
|
124
131
|
that represents when the Firewall was created.
|
|
125
132
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: The list of the IDs of the Droplets assigned
|
|
126
|
-
to the Firewall.
|
|
133
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
134
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
127
135
|
:param pulumi.Input[Sequence[pulumi.Input['FirewallInboundRuleArgs']]] inbound_rules: The inbound access rule block for the Firewall.
|
|
128
136
|
The `inbound_rule` block is documented below.
|
|
129
137
|
:param pulumi.Input[str] name: The Firewall name
|
|
@@ -135,7 +143,7 @@ class _FirewallState:
|
|
|
135
143
|
have been successfully applied.
|
|
136
144
|
:param pulumi.Input[str] status: A status string indicating the current state of the Firewall.
|
|
137
145
|
This can be "waiting", "succeeded", or "failed".
|
|
138
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall.
|
|
146
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall (max. 5).
|
|
139
147
|
"""
|
|
140
148
|
if created_at is not None:
|
|
141
149
|
pulumi.set(__self__, "created_at", created_at)
|
|
@@ -172,7 +180,8 @@ class _FirewallState:
|
|
|
172
180
|
def droplet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
|
|
173
181
|
"""
|
|
174
182
|
The list of the IDs of the Droplets assigned
|
|
175
|
-
to the Firewall.
|
|
183
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
184
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
176
185
|
"""
|
|
177
186
|
return pulumi.get(self, "droplet_ids")
|
|
178
187
|
|
|
@@ -250,7 +259,7 @@ class _FirewallState:
|
|
|
250
259
|
@pulumi.getter
|
|
251
260
|
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
252
261
|
"""
|
|
253
|
-
The names of the Tags assigned to the Firewall.
|
|
262
|
+
The names of the Tags assigned to the Firewall (max. 5).
|
|
254
263
|
"""
|
|
255
264
|
return pulumi.get(self, "tags")
|
|
256
265
|
|
|
@@ -265,9 +274,9 @@ class Firewall(pulumi.CustomResource):
|
|
|
265
274
|
resource_name: str,
|
|
266
275
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
267
276
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
268
|
-
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
277
|
+
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallInboundRuleArgs', 'FirewallInboundRuleArgsDict']]]]] = None,
|
|
269
278
|
name: Optional[pulumi.Input[str]] = None,
|
|
270
|
-
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
279
|
+
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallOutboundRuleArgs', 'FirewallOutboundRuleArgsDict']]]]] = None,
|
|
271
280
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
272
281
|
__props__=None):
|
|
273
282
|
"""
|
|
@@ -276,77 +285,77 @@ class Firewall(pulumi.CustomResource):
|
|
|
276
285
|
|
|
277
286
|
## Example Usage
|
|
278
287
|
|
|
279
|
-
<!--Start PulumiCodeChooser -->
|
|
280
288
|
```python
|
|
281
289
|
import pulumi
|
|
282
290
|
import pulumi_digitalocean as digitalocean
|
|
283
291
|
|
|
284
|
-
|
|
285
|
-
|
|
292
|
+
web = digitalocean.Droplet("web",
|
|
293
|
+
name="web-1",
|
|
294
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
286
295
|
image="ubuntu-18-04-x64",
|
|
287
|
-
region=
|
|
288
|
-
web_firewall = digitalocean.Firewall("
|
|
289
|
-
|
|
296
|
+
region=digitalocean.Region.NYC3)
|
|
297
|
+
web_firewall = digitalocean.Firewall("web",
|
|
298
|
+
name="only-22-80-and-443",
|
|
299
|
+
droplet_ids=[web.id],
|
|
290
300
|
inbound_rules=[
|
|
291
|
-
|
|
292
|
-
protocol
|
|
293
|
-
port_range
|
|
294
|
-
source_addresses
|
|
301
|
+
{
|
|
302
|
+
"protocol": "tcp",
|
|
303
|
+
"port_range": "22",
|
|
304
|
+
"source_addresses": [
|
|
295
305
|
"192.168.1.0/24",
|
|
296
306
|
"2002:1:2::/48",
|
|
297
307
|
],
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
protocol
|
|
301
|
-
port_range
|
|
302
|
-
source_addresses
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"protocol": "tcp",
|
|
311
|
+
"port_range": "80",
|
|
312
|
+
"source_addresses": [
|
|
303
313
|
"0.0.0.0/0",
|
|
304
314
|
"::/0",
|
|
305
315
|
],
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
protocol
|
|
309
|
-
port_range
|
|
310
|
-
source_addresses
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"protocol": "tcp",
|
|
319
|
+
"port_range": "443",
|
|
320
|
+
"source_addresses": [
|
|
311
321
|
"0.0.0.0/0",
|
|
312
322
|
"::/0",
|
|
313
323
|
],
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
protocol
|
|
317
|
-
source_addresses
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"protocol": "icmp",
|
|
327
|
+
"source_addresses": [
|
|
318
328
|
"0.0.0.0/0",
|
|
319
329
|
"::/0",
|
|
320
330
|
],
|
|
321
|
-
|
|
331
|
+
},
|
|
322
332
|
],
|
|
323
333
|
outbound_rules=[
|
|
324
|
-
|
|
325
|
-
protocol
|
|
326
|
-
port_range
|
|
327
|
-
destination_addresses
|
|
334
|
+
{
|
|
335
|
+
"protocol": "tcp",
|
|
336
|
+
"port_range": "53",
|
|
337
|
+
"destination_addresses": [
|
|
328
338
|
"0.0.0.0/0",
|
|
329
339
|
"::/0",
|
|
330
340
|
],
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
protocol
|
|
334
|
-
port_range
|
|
335
|
-
destination_addresses
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"protocol": "udp",
|
|
344
|
+
"port_range": "53",
|
|
345
|
+
"destination_addresses": [
|
|
336
346
|
"0.0.0.0/0",
|
|
337
347
|
"::/0",
|
|
338
348
|
],
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
protocol
|
|
342
|
-
destination_addresses
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"protocol": "icmp",
|
|
352
|
+
"destination_addresses": [
|
|
343
353
|
"0.0.0.0/0",
|
|
344
354
|
"::/0",
|
|
345
355
|
],
|
|
346
|
-
|
|
356
|
+
},
|
|
347
357
|
])
|
|
348
358
|
```
|
|
349
|
-
<!--End PulumiCodeChooser -->
|
|
350
359
|
|
|
351
360
|
## Import
|
|
352
361
|
|
|
@@ -359,13 +368,14 @@ class Firewall(pulumi.CustomResource):
|
|
|
359
368
|
:param str resource_name: The name of the resource.
|
|
360
369
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
361
370
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: The list of the IDs of the Droplets assigned
|
|
362
|
-
to the Firewall.
|
|
363
|
-
|
|
371
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
372
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
373
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallInboundRuleArgs', 'FirewallInboundRuleArgsDict']]]] inbound_rules: The inbound access rule block for the Firewall.
|
|
364
374
|
The `inbound_rule` block is documented below.
|
|
365
375
|
:param pulumi.Input[str] name: The Firewall name
|
|
366
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
376
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallOutboundRuleArgs', 'FirewallOutboundRuleArgsDict']]]] outbound_rules: The outbound access rule block for the Firewall.
|
|
367
377
|
The `outbound_rule` block is documented below.
|
|
368
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall.
|
|
378
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall (max. 5).
|
|
369
379
|
"""
|
|
370
380
|
...
|
|
371
381
|
@overload
|
|
@@ -379,77 +389,77 @@ class Firewall(pulumi.CustomResource):
|
|
|
379
389
|
|
|
380
390
|
## Example Usage
|
|
381
391
|
|
|
382
|
-
<!--Start PulumiCodeChooser -->
|
|
383
392
|
```python
|
|
384
393
|
import pulumi
|
|
385
394
|
import pulumi_digitalocean as digitalocean
|
|
386
395
|
|
|
387
|
-
|
|
388
|
-
|
|
396
|
+
web = digitalocean.Droplet("web",
|
|
397
|
+
name="web-1",
|
|
398
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
389
399
|
image="ubuntu-18-04-x64",
|
|
390
|
-
region=
|
|
391
|
-
web_firewall = digitalocean.Firewall("
|
|
392
|
-
|
|
400
|
+
region=digitalocean.Region.NYC3)
|
|
401
|
+
web_firewall = digitalocean.Firewall("web",
|
|
402
|
+
name="only-22-80-and-443",
|
|
403
|
+
droplet_ids=[web.id],
|
|
393
404
|
inbound_rules=[
|
|
394
|
-
|
|
395
|
-
protocol
|
|
396
|
-
port_range
|
|
397
|
-
source_addresses
|
|
405
|
+
{
|
|
406
|
+
"protocol": "tcp",
|
|
407
|
+
"port_range": "22",
|
|
408
|
+
"source_addresses": [
|
|
398
409
|
"192.168.1.0/24",
|
|
399
410
|
"2002:1:2::/48",
|
|
400
411
|
],
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
protocol
|
|
404
|
-
port_range
|
|
405
|
-
source_addresses
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"protocol": "tcp",
|
|
415
|
+
"port_range": "80",
|
|
416
|
+
"source_addresses": [
|
|
406
417
|
"0.0.0.0/0",
|
|
407
418
|
"::/0",
|
|
408
419
|
],
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
protocol
|
|
412
|
-
port_range
|
|
413
|
-
source_addresses
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"protocol": "tcp",
|
|
423
|
+
"port_range": "443",
|
|
424
|
+
"source_addresses": [
|
|
414
425
|
"0.0.0.0/0",
|
|
415
426
|
"::/0",
|
|
416
427
|
],
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
protocol
|
|
420
|
-
source_addresses
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"protocol": "icmp",
|
|
431
|
+
"source_addresses": [
|
|
421
432
|
"0.0.0.0/0",
|
|
422
433
|
"::/0",
|
|
423
434
|
],
|
|
424
|
-
|
|
435
|
+
},
|
|
425
436
|
],
|
|
426
437
|
outbound_rules=[
|
|
427
|
-
|
|
428
|
-
protocol
|
|
429
|
-
port_range
|
|
430
|
-
destination_addresses
|
|
438
|
+
{
|
|
439
|
+
"protocol": "tcp",
|
|
440
|
+
"port_range": "53",
|
|
441
|
+
"destination_addresses": [
|
|
431
442
|
"0.0.0.0/0",
|
|
432
443
|
"::/0",
|
|
433
444
|
],
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
protocol
|
|
437
|
-
port_range
|
|
438
|
-
destination_addresses
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"protocol": "udp",
|
|
448
|
+
"port_range": "53",
|
|
449
|
+
"destination_addresses": [
|
|
439
450
|
"0.0.0.0/0",
|
|
440
451
|
"::/0",
|
|
441
452
|
],
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
protocol
|
|
445
|
-
destination_addresses
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"protocol": "icmp",
|
|
456
|
+
"destination_addresses": [
|
|
446
457
|
"0.0.0.0/0",
|
|
447
458
|
"::/0",
|
|
448
459
|
],
|
|
449
|
-
|
|
460
|
+
},
|
|
450
461
|
])
|
|
451
462
|
```
|
|
452
|
-
<!--End PulumiCodeChooser -->
|
|
453
463
|
|
|
454
464
|
## Import
|
|
455
465
|
|
|
@@ -475,9 +485,9 @@ class Firewall(pulumi.CustomResource):
|
|
|
475
485
|
resource_name: str,
|
|
476
486
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
477
487
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
478
|
-
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
488
|
+
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallInboundRuleArgs', 'FirewallInboundRuleArgsDict']]]]] = None,
|
|
479
489
|
name: Optional[pulumi.Input[str]] = None,
|
|
480
|
-
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
490
|
+
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallOutboundRuleArgs', 'FirewallOutboundRuleArgsDict']]]]] = None,
|
|
481
491
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
482
492
|
__props__=None):
|
|
483
493
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
@@ -508,10 +518,10 @@ class Firewall(pulumi.CustomResource):
|
|
|
508
518
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
509
519
|
created_at: Optional[pulumi.Input[str]] = None,
|
|
510
520
|
droplet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
|
|
511
|
-
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
521
|
+
inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallInboundRuleArgs', 'FirewallInboundRuleArgsDict']]]]] = None,
|
|
512
522
|
name: Optional[pulumi.Input[str]] = None,
|
|
513
|
-
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
514
|
-
pending_changes: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
523
|
+
outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallOutboundRuleArgs', 'FirewallOutboundRuleArgsDict']]]]] = None,
|
|
524
|
+
pending_changes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FirewallPendingChangeArgs', 'FirewallPendingChangeArgsDict']]]]] = None,
|
|
515
525
|
status: Optional[pulumi.Input[str]] = None,
|
|
516
526
|
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Firewall':
|
|
517
527
|
"""
|
|
@@ -524,19 +534,20 @@ class Firewall(pulumi.CustomResource):
|
|
|
524
534
|
:param pulumi.Input[str] created_at: A time value given in ISO8601 combined date and time format
|
|
525
535
|
that represents when the Firewall was created.
|
|
526
536
|
:param pulumi.Input[Sequence[pulumi.Input[int]]] droplet_ids: The list of the IDs of the Droplets assigned
|
|
527
|
-
to the Firewall.
|
|
528
|
-
|
|
537
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
538
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
539
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallInboundRuleArgs', 'FirewallInboundRuleArgsDict']]]] inbound_rules: The inbound access rule block for the Firewall.
|
|
529
540
|
The `inbound_rule` block is documented below.
|
|
530
541
|
:param pulumi.Input[str] name: The Firewall name
|
|
531
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
542
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallOutboundRuleArgs', 'FirewallOutboundRuleArgsDict']]]] outbound_rules: The outbound access rule block for the Firewall.
|
|
532
543
|
The `outbound_rule` block is documented below.
|
|
533
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
544
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['FirewallPendingChangeArgs', 'FirewallPendingChangeArgsDict']]]] pending_changes: An list of object containing the fields, "droplet_id",
|
|
534
545
|
"removing", and "status". It is provided to detail exactly which Droplets
|
|
535
546
|
are having their security policies updated. When empty, all changes
|
|
536
547
|
have been successfully applied.
|
|
537
548
|
:param pulumi.Input[str] status: A status string indicating the current state of the Firewall.
|
|
538
549
|
This can be "waiting", "succeeded", or "failed".
|
|
539
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall.
|
|
550
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The names of the Tags assigned to the Firewall (max. 5).
|
|
540
551
|
"""
|
|
541
552
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
542
553
|
|
|
@@ -566,7 +577,8 @@ class Firewall(pulumi.CustomResource):
|
|
|
566
577
|
def droplet_ids(self) -> pulumi.Output[Optional[Sequence[int]]]:
|
|
567
578
|
"""
|
|
568
579
|
The list of the IDs of the Droplets assigned
|
|
569
|
-
to the Firewall.
|
|
580
|
+
to the Firewall (max. 10). If you want to assign more droplets to the
|
|
581
|
+
Firewall, add Tags to them and use the `tags` argument below.
|
|
570
582
|
"""
|
|
571
583
|
return pulumi.get(self, "droplet_ids")
|
|
572
584
|
|
|
@@ -620,7 +632,7 @@ class Firewall(pulumi.CustomResource):
|
|
|
620
632
|
@pulumi.getter
|
|
621
633
|
def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
622
634
|
"""
|
|
623
|
-
The names of the Tags assigned to the Firewall.
|
|
635
|
+
The names of the Tags assigned to the Firewall (max. 5).
|
|
624
636
|
"""
|
|
625
637
|
return pulumi.get(self, "tags")
|
|
626
638
|
|
|
@@ -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__ = ['FloatingIpArgs', 'FloatingIp']
|
|
@@ -156,22 +161,21 @@ class FloatingIp(pulumi.CustomResource):
|
|
|
156
161
|
|
|
157
162
|
## Example Usage
|
|
158
163
|
|
|
159
|
-
<!--Start PulumiCodeChooser -->
|
|
160
164
|
```python
|
|
161
165
|
import pulumi
|
|
162
166
|
import pulumi_digitalocean as digitalocean
|
|
163
167
|
|
|
164
|
-
|
|
165
|
-
|
|
168
|
+
foobar = digitalocean.Droplet("foobar",
|
|
169
|
+
name="baz",
|
|
170
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
166
171
|
image="ubuntu-18-04-x64",
|
|
167
|
-
region=
|
|
172
|
+
region=digitalocean.Region.SGP1,
|
|
168
173
|
ipv6=True,
|
|
169
174
|
private_networking=True)
|
|
170
|
-
foobar_floating_ip = digitalocean.FloatingIp("
|
|
171
|
-
droplet_id=
|
|
172
|
-
region=
|
|
175
|
+
foobar_floating_ip = digitalocean.FloatingIp("foobar",
|
|
176
|
+
droplet_id=foobar.id,
|
|
177
|
+
region=foobar.region)
|
|
173
178
|
```
|
|
174
|
-
<!--End PulumiCodeChooser -->
|
|
175
179
|
|
|
176
180
|
## Import
|
|
177
181
|
|
|
@@ -202,22 +206,21 @@ class FloatingIp(pulumi.CustomResource):
|
|
|
202
206
|
|
|
203
207
|
## Example Usage
|
|
204
208
|
|
|
205
|
-
<!--Start PulumiCodeChooser -->
|
|
206
209
|
```python
|
|
207
210
|
import pulumi
|
|
208
211
|
import pulumi_digitalocean as digitalocean
|
|
209
212
|
|
|
210
|
-
|
|
211
|
-
|
|
213
|
+
foobar = digitalocean.Droplet("foobar",
|
|
214
|
+
name="baz",
|
|
215
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
212
216
|
image="ubuntu-18-04-x64",
|
|
213
|
-
region=
|
|
217
|
+
region=digitalocean.Region.SGP1,
|
|
214
218
|
ipv6=True,
|
|
215
219
|
private_networking=True)
|
|
216
|
-
foobar_floating_ip = digitalocean.FloatingIp("
|
|
217
|
-
droplet_id=
|
|
218
|
-
region=
|
|
220
|
+
foobar_floating_ip = digitalocean.FloatingIp("foobar",
|
|
221
|
+
droplet_id=foobar.id,
|
|
222
|
+
region=foobar.region)
|
|
219
223
|
```
|
|
220
|
-
<!--End PulumiCodeChooser -->
|
|
221
224
|
|
|
222
225
|
## Import
|
|
223
226
|
|
|
@@ -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__ = ['FloatingIpAssignmentArgs', 'FloatingIpAssignment']
|
|
@@ -106,23 +111,22 @@ class FloatingIpAssignment(pulumi.CustomResource):
|
|
|
106
111
|
|
|
107
112
|
## Example Usage
|
|
108
113
|
|
|
109
|
-
<!--Start PulumiCodeChooser -->
|
|
110
114
|
```python
|
|
111
115
|
import pulumi
|
|
112
116
|
import pulumi_digitalocean as digitalocean
|
|
113
117
|
|
|
114
|
-
|
|
115
|
-
foobar_droplet = digitalocean.Droplet("
|
|
116
|
-
|
|
118
|
+
foobar = digitalocean.FloatingIp("foobar", region="sgp1")
|
|
119
|
+
foobar_droplet = digitalocean.Droplet("foobar",
|
|
120
|
+
name="baz",
|
|
121
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
117
122
|
image="ubuntu-18-04-x64",
|
|
118
|
-
region=
|
|
123
|
+
region=digitalocean.Region.SGP1,
|
|
119
124
|
ipv6=True,
|
|
120
125
|
private_networking=True)
|
|
121
|
-
foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("
|
|
122
|
-
ip_address=
|
|
126
|
+
foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobar",
|
|
127
|
+
ip_address=foobar.ip_address,
|
|
123
128
|
droplet_id=foobar_droplet.id)
|
|
124
129
|
```
|
|
125
|
-
<!--End PulumiCodeChooser -->
|
|
126
130
|
|
|
127
131
|
## Import
|
|
128
132
|
|
|
@@ -154,23 +158,22 @@ class FloatingIpAssignment(pulumi.CustomResource):
|
|
|
154
158
|
|
|
155
159
|
## Example Usage
|
|
156
160
|
|
|
157
|
-
<!--Start PulumiCodeChooser -->
|
|
158
161
|
```python
|
|
159
162
|
import pulumi
|
|
160
163
|
import pulumi_digitalocean as digitalocean
|
|
161
164
|
|
|
162
|
-
|
|
163
|
-
foobar_droplet = digitalocean.Droplet("
|
|
164
|
-
|
|
165
|
+
foobar = digitalocean.FloatingIp("foobar", region="sgp1")
|
|
166
|
+
foobar_droplet = digitalocean.Droplet("foobar",
|
|
167
|
+
name="baz",
|
|
168
|
+
size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
|
|
165
169
|
image="ubuntu-18-04-x64",
|
|
166
|
-
region=
|
|
170
|
+
region=digitalocean.Region.SGP1,
|
|
167
171
|
ipv6=True,
|
|
168
172
|
private_networking=True)
|
|
169
|
-
foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("
|
|
170
|
-
ip_address=
|
|
173
|
+
foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobar",
|
|
174
|
+
ip_address=foobar.ip_address,
|
|
171
175
|
droplet_id=foobar_droplet.id)
|
|
172
176
|
```
|
|
173
|
-
<!--End PulumiCodeChooser -->
|
|
174
177
|
|
|
175
178
|
## Import
|
|
176
179
|
|
|
@@ -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__ = [
|
|
@@ -136,14 +141,12 @@ def get_account(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAcco
|
|
|
136
141
|
|
|
137
142
|
Get the account:
|
|
138
143
|
|
|
139
|
-
<!--Start PulumiCodeChooser -->
|
|
140
144
|
```python
|
|
141
145
|
import pulumi
|
|
142
146
|
import pulumi_digitalocean as digitalocean
|
|
143
147
|
|
|
144
148
|
example = digitalocean.get_account()
|
|
145
149
|
```
|
|
146
|
-
<!--End PulumiCodeChooser -->
|
|
147
150
|
"""
|
|
148
151
|
__args__ = dict()
|
|
149
152
|
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
@@ -158,10 +161,7 @@ def get_account(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAcco
|
|
|
158
161
|
status=pulumi.get(__ret__, 'status'),
|
|
159
162
|
status_message=pulumi.get(__ret__, 'status_message'),
|
|
160
163
|
uuid=pulumi.get(__ret__, 'uuid'))
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
@_utilities.lift_output_func(get_account)
|
|
164
|
-
def get_account_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountResult]:
|
|
164
|
+
def get_account_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccountResult]:
|
|
165
165
|
"""
|
|
166
166
|
Get information on your DigitalOcean account.
|
|
167
167
|
|
|
@@ -169,13 +169,22 @@ def get_account_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Ou
|
|
|
169
169
|
|
|
170
170
|
Get the account:
|
|
171
171
|
|
|
172
|
-
<!--Start PulumiCodeChooser -->
|
|
173
172
|
```python
|
|
174
173
|
import pulumi
|
|
175
174
|
import pulumi_digitalocean as digitalocean
|
|
176
175
|
|
|
177
176
|
example = digitalocean.get_account()
|
|
178
177
|
```
|
|
179
|
-
<!--End PulumiCodeChooser -->
|
|
180
178
|
"""
|
|
181
|
-
|
|
179
|
+
__args__ = dict()
|
|
180
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
181
|
+
__ret__ = pulumi.runtime.invoke_output('digitalocean:index/getAccount:getAccount', __args__, opts=opts, typ=GetAccountResult)
|
|
182
|
+
return __ret__.apply(lambda __response__: GetAccountResult(
|
|
183
|
+
droplet_limit=pulumi.get(__response__, 'droplet_limit'),
|
|
184
|
+
email=pulumi.get(__response__, 'email'),
|
|
185
|
+
email_verified=pulumi.get(__response__, 'email_verified'),
|
|
186
|
+
floating_ip_limit=pulumi.get(__response__, 'floating_ip_limit'),
|
|
187
|
+
id=pulumi.get(__response__, 'id'),
|
|
188
|
+
status=pulumi.get(__response__, 'status'),
|
|
189
|
+
status_message=pulumi.get(__response__, 'status_message'),
|
|
190
|
+
uuid=pulumi.get(__response__, 'uuid')))
|