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 *
@@ -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[pulumi.InputType['FirewallInboundRuleArgs']]]]] = None,
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[pulumi.InputType['FirewallOutboundRuleArgs']]]]] = None,
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
- web_droplet = digitalocean.Droplet("webDroplet",
285
- size="s-1vcpu-1gb",
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="nyc3")
288
- web_firewall = digitalocean.Firewall("webFirewall",
289
- droplet_ids=[web_droplet.id],
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
- digitalocean.FirewallInboundRuleArgs(
292
- protocol="tcp",
293
- port_range="22",
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
- digitalocean.FirewallInboundRuleArgs(
300
- protocol="tcp",
301
- port_range="80",
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
- digitalocean.FirewallInboundRuleArgs(
308
- protocol="tcp",
309
- port_range="443",
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
- digitalocean.FirewallInboundRuleArgs(
316
- protocol="icmp",
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
- digitalocean.FirewallOutboundRuleArgs(
325
- protocol="tcp",
326
- port_range="53",
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
- digitalocean.FirewallOutboundRuleArgs(
333
- protocol="udp",
334
- port_range="53",
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
- digitalocean.FirewallOutboundRuleArgs(
341
- protocol="icmp",
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
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallInboundRuleArgs']]]] inbound_rules: The inbound access rule block for the Firewall.
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[pulumi.InputType['FirewallOutboundRuleArgs']]]] outbound_rules: The outbound access rule block for the Firewall.
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
- web_droplet = digitalocean.Droplet("webDroplet",
388
- size="s-1vcpu-1gb",
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="nyc3")
391
- web_firewall = digitalocean.Firewall("webFirewall",
392
- droplet_ids=[web_droplet.id],
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
- digitalocean.FirewallInboundRuleArgs(
395
- protocol="tcp",
396
- port_range="22",
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
- digitalocean.FirewallInboundRuleArgs(
403
- protocol="tcp",
404
- port_range="80",
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
- digitalocean.FirewallInboundRuleArgs(
411
- protocol="tcp",
412
- port_range="443",
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
- digitalocean.FirewallInboundRuleArgs(
419
- protocol="icmp",
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
- digitalocean.FirewallOutboundRuleArgs(
428
- protocol="tcp",
429
- port_range="53",
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
- digitalocean.FirewallOutboundRuleArgs(
436
- protocol="udp",
437
- port_range="53",
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
- digitalocean.FirewallOutboundRuleArgs(
444
- protocol="icmp",
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[pulumi.InputType['FirewallInboundRuleArgs']]]]] = None,
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[pulumi.InputType['FirewallOutboundRuleArgs']]]]] = None,
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[pulumi.InputType['FirewallInboundRuleArgs']]]]] = None,
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[pulumi.InputType['FirewallOutboundRuleArgs']]]]] = None,
514
- pending_changes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallPendingChangeArgs']]]]] = None,
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
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallInboundRuleArgs']]]] inbound_rules: The inbound access rule block for the Firewall.
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[pulumi.InputType['FirewallOutboundRuleArgs']]]] outbound_rules: The outbound access rule block for the Firewall.
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[pulumi.InputType['FirewallPendingChangeArgs']]]] pending_changes: An list of object containing the fields, "droplet_id",
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
- foobar_droplet = digitalocean.Droplet("foobarDroplet",
165
- size="s-1vcpu-1gb",
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="sgp1",
172
+ region=digitalocean.Region.SGP1,
168
173
  ipv6=True,
169
174
  private_networking=True)
170
- foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp",
171
- droplet_id=foobar_droplet.id,
172
- region=foobar_droplet.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
- foobar_droplet = digitalocean.Droplet("foobarDroplet",
211
- size="s-1vcpu-1gb",
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="sgp1",
217
+ region=digitalocean.Region.SGP1,
214
218
  ipv6=True,
215
219
  private_networking=True)
216
- foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp",
217
- droplet_id=foobar_droplet.id,
218
- region=foobar_droplet.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
- foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", region="sgp1")
115
- foobar_droplet = digitalocean.Droplet("foobarDroplet",
116
- size="s-1vcpu-1gb",
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="sgp1",
123
+ region=digitalocean.Region.SGP1,
119
124
  ipv6=True,
120
125
  private_networking=True)
121
- foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobarFloatingIpAssignment",
122
- ip_address=foobar_floating_ip.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
- foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", region="sgp1")
163
- foobar_droplet = digitalocean.Droplet("foobarDroplet",
164
- size="s-1vcpu-1gb",
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="sgp1",
170
+ region=digitalocean.Region.SGP1,
167
171
  ipv6=True,
168
172
  private_networking=True)
169
- foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobarFloatingIpAssignment",
170
- ip_address=foobar_floating_ip.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')))