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 *
@@ -128,7 +133,7 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
128
133
  resource_name: str,
129
134
  opts: Optional[pulumi.ResourceOptions] = None,
130
135
  bucket: Optional[pulumi.Input[str]] = None,
131
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsConfigurationCorsRuleArgs']]]]] = None,
136
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
132
137
  region: Optional[pulumi.Input[str]] = None,
133
138
  __props__=None):
134
139
  """
@@ -136,27 +141,27 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
136
141
 
137
142
  ### Create a Key in a Spaces Bucket
138
143
 
139
- <!--Start PulumiCodeChooser -->
140
144
  ```python
141
145
  import pulumi
142
146
  import pulumi_digitalocean as digitalocean
143
147
 
144
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
148
+ foobar = digitalocean.SpacesBucket("foobar",
149
+ name="foobar",
150
+ region=digitalocean.Region.NYC3)
145
151
  test = digitalocean.SpacesBucketCorsConfiguration("test",
146
152
  bucket=foobar.id,
147
153
  region="nyc3",
148
- cors_rules=[digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs(
149
- allowed_headers=["*"],
150
- allowed_methods=[
154
+ cors_rules=[{
155
+ "allowed_headers": ["*"],
156
+ "allowed_methods": [
151
157
  "PUT",
152
158
  "POST",
153
159
  ],
154
- allowed_origins=["https://s3-website-test.hashicorp.com"],
155
- expose_headers=["ETag"],
156
- max_age_seconds=3000,
157
- )])
160
+ "allowed_origins": ["https://s3-website-test.hashicorp.com"],
161
+ "expose_headers": ["ETag"],
162
+ "max_age_seconds": 3000,
163
+ }])
158
164
  ```
159
- <!--End PulumiCodeChooser -->
160
165
 
161
166
  ## Import
162
167
 
@@ -169,7 +174,7 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
169
174
  :param str resource_name: The name of the resource.
170
175
  :param pulumi.ResourceOptions opts: Options for the resource.
171
176
  :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
172
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsConfigurationCorsRuleArgs']]]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
177
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
173
178
  :param pulumi.Input[str] region: The region where the bucket resides.
174
179
  """
175
180
  ...
@@ -183,27 +188,27 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
183
188
 
184
189
  ### Create a Key in a Spaces Bucket
185
190
 
186
- <!--Start PulumiCodeChooser -->
187
191
  ```python
188
192
  import pulumi
189
193
  import pulumi_digitalocean as digitalocean
190
194
 
191
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
195
+ foobar = digitalocean.SpacesBucket("foobar",
196
+ name="foobar",
197
+ region=digitalocean.Region.NYC3)
192
198
  test = digitalocean.SpacesBucketCorsConfiguration("test",
193
199
  bucket=foobar.id,
194
200
  region="nyc3",
195
- cors_rules=[digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs(
196
- allowed_headers=["*"],
197
- allowed_methods=[
201
+ cors_rules=[{
202
+ "allowed_headers": ["*"],
203
+ "allowed_methods": [
198
204
  "PUT",
199
205
  "POST",
200
206
  ],
201
- allowed_origins=["https://s3-website-test.hashicorp.com"],
202
- expose_headers=["ETag"],
203
- max_age_seconds=3000,
204
- )])
207
+ "allowed_origins": ["https://s3-website-test.hashicorp.com"],
208
+ "expose_headers": ["ETag"],
209
+ "max_age_seconds": 3000,
210
+ }])
205
211
  ```
206
- <!--End PulumiCodeChooser -->
207
212
 
208
213
  ## Import
209
214
 
@@ -229,7 +234,7 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
229
234
  resource_name: str,
230
235
  opts: Optional[pulumi.ResourceOptions] = None,
231
236
  bucket: Optional[pulumi.Input[str]] = None,
232
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsConfigurationCorsRuleArgs']]]]] = None,
237
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
233
238
  region: Optional[pulumi.Input[str]] = None,
234
239
  __props__=None):
235
240
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -260,7 +265,7 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
260
265
  id: pulumi.Input[str],
261
266
  opts: Optional[pulumi.ResourceOptions] = None,
262
267
  bucket: Optional[pulumi.Input[str]] = None,
263
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsConfigurationCorsRuleArgs']]]]] = None,
268
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
264
269
  region: Optional[pulumi.Input[str]] = None) -> 'SpacesBucketCorsConfiguration':
265
270
  """
266
271
  Get an existing SpacesBucketCorsConfiguration resource's state with the given name, id, and optional extra
@@ -270,7 +275,7 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
270
275
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
271
276
  :param pulumi.ResourceOptions opts: Options for the resource.
272
277
  :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
273
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsConfigurationCorsRuleArgs']]]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
278
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
274
279
  :param pulumi.Input[str] region: The region where the bucket resides.
275
280
  """
276
281
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -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__ = ['SpacesBucketObjectArgs', 'SpacesBucketObject']
@@ -611,15 +616,12 @@ class SpacesBucketObject(pulumi.CustomResource):
611
616
  access ID and secret you generate via the DigitalOcean control panel. For
612
617
  example:
613
618
 
614
- <!--Start PulumiCodeChooser -->
615
619
  ```python
616
620
  import pulumi
617
621
  import pulumi_digitalocean as digitalocean
618
622
 
619
623
  static_assets = digitalocean.SpacesBucket("static-assets")
620
- # ...
621
624
  ```
622
- <!--End PulumiCodeChooser -->
623
625
 
624
626
  For more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)
625
627
 
@@ -627,12 +629,13 @@ class SpacesBucketObject(pulumi.CustomResource):
627
629
 
628
630
  ### Create a Key in a Spaces Bucket
629
631
 
630
- <!--Start PulumiCodeChooser -->
631
632
  ```python
632
633
  import pulumi
633
634
  import pulumi_digitalocean as digitalocean
634
635
 
635
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
636
+ foobar = digitalocean.SpacesBucket("foobar",
637
+ name="foobar",
638
+ region=digitalocean.Region.NYC3)
636
639
  index = digitalocean.SpacesBucketObject("index",
637
640
  region=foobar.region,
638
641
  bucket=foobar.name,
@@ -640,7 +643,6 @@ class SpacesBucketObject(pulumi.CustomResource):
640
643
  content="<html><body><p>This page is empty.</p></body></html>",
641
644
  content_type="text/html")
642
645
  ```
643
- <!--End PulumiCodeChooser -->
644
646
 
645
647
  ## Import
646
648
 
@@ -693,15 +695,12 @@ class SpacesBucketObject(pulumi.CustomResource):
693
695
  access ID and secret you generate via the DigitalOcean control panel. For
694
696
  example:
695
697
 
696
- <!--Start PulumiCodeChooser -->
697
698
  ```python
698
699
  import pulumi
699
700
  import pulumi_digitalocean as digitalocean
700
701
 
701
702
  static_assets = digitalocean.SpacesBucket("static-assets")
702
- # ...
703
703
  ```
704
- <!--End PulumiCodeChooser -->
705
704
 
706
705
  For more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)
707
706
 
@@ -709,12 +708,13 @@ class SpacesBucketObject(pulumi.CustomResource):
709
708
 
710
709
  ### Create a Key in a Spaces Bucket
711
710
 
712
- <!--Start PulumiCodeChooser -->
713
711
  ```python
714
712
  import pulumi
715
713
  import pulumi_digitalocean as digitalocean
716
714
 
717
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
715
+ foobar = digitalocean.SpacesBucket("foobar",
716
+ name="foobar",
717
+ region=digitalocean.Region.NYC3)
718
718
  index = digitalocean.SpacesBucketObject("index",
719
719
  region=foobar.region,
720
720
  bucket=foobar.name,
@@ -722,7 +722,6 @@ class SpacesBucketObject(pulumi.CustomResource):
722
722
  content="<html><body><p>This page is empty.</p></body></html>",
723
723
  content_type="text/html")
724
724
  ```
725
- <!--End PulumiCodeChooser -->
726
725
 
727
726
  ## Import
728
727
 
@@ -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__ = ['SpacesBucketPolicyArgs', 'SpacesBucketPolicy']
@@ -134,16 +139,17 @@ class SpacesBucketPolicy(pulumi.CustomResource):
134
139
 
135
140
  ### Limiting access to specific IP addresses
136
141
 
137
- <!--Start PulumiCodeChooser -->
138
142
  ```python
139
143
  import pulumi
140
144
  import json
141
145
  import pulumi_digitalocean as digitalocean
142
146
 
143
- foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3")
144
- foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy",
145
- region=foobar_spaces_bucket.region,
146
- bucket=foobar_spaces_bucket.name,
147
+ foobar = digitalocean.SpacesBucket("foobar",
148
+ name="foobar",
149
+ region=digitalocean.Region.NYC3)
150
+ foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobar",
151
+ region=foobar.region,
152
+ bucket=foobar.name,
147
153
  policy=pulumi.Output.json_dumps({
148
154
  "Version": "2012-10-17",
149
155
  "Statement": [{
@@ -152,8 +158,8 @@ class SpacesBucketPolicy(pulumi.CustomResource):
152
158
  "Principal": "*",
153
159
  "Action": "s3:*",
154
160
  "Resource": [
155
- foobar_spaces_bucket.name.apply(lambda name: f"arn:aws:s3:::{name}"),
156
- foobar_spaces_bucket.name.apply(lambda name: f"arn:aws:s3:::{name}/*"),
161
+ foobar.name.apply(lambda name: f"arn:aws:s3:::{name}"),
162
+ foobar.name.apply(lambda name: f"arn:aws:s3:::{name}/*"),
157
163
  ],
158
164
  "Condition": {
159
165
  "NotIpAddress": {
@@ -163,7 +169,6 @@ class SpacesBucketPolicy(pulumi.CustomResource):
163
169
  }],
164
170
  }))
165
171
  ```
166
- <!--End PulumiCodeChooser -->
167
172
 
168
173
  !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket.
169
174
 
@@ -192,16 +197,17 @@ class SpacesBucketPolicy(pulumi.CustomResource):
192
197
 
193
198
  ### Limiting access to specific IP addresses
194
199
 
195
- <!--Start PulumiCodeChooser -->
196
200
  ```python
197
201
  import pulumi
198
202
  import json
199
203
  import pulumi_digitalocean as digitalocean
200
204
 
201
- foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3")
202
- foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy",
203
- region=foobar_spaces_bucket.region,
204
- bucket=foobar_spaces_bucket.name,
205
+ foobar = digitalocean.SpacesBucket("foobar",
206
+ name="foobar",
207
+ region=digitalocean.Region.NYC3)
208
+ foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobar",
209
+ region=foobar.region,
210
+ bucket=foobar.name,
205
211
  policy=pulumi.Output.json_dumps({
206
212
  "Version": "2012-10-17",
207
213
  "Statement": [{
@@ -210,8 +216,8 @@ class SpacesBucketPolicy(pulumi.CustomResource):
210
216
  "Principal": "*",
211
217
  "Action": "s3:*",
212
218
  "Resource": [
213
- foobar_spaces_bucket.name.apply(lambda name: f"arn:aws:s3:::{name}"),
214
- foobar_spaces_bucket.name.apply(lambda name: f"arn:aws:s3:::{name}/*"),
219
+ foobar.name.apply(lambda name: f"arn:aws:s3:::{name}"),
220
+ foobar.name.apply(lambda name: f"arn:aws:s3:::{name}/*"),
215
221
  ],
216
222
  "Condition": {
217
223
  "NotIpAddress": {
@@ -221,7 +227,6 @@ class SpacesBucketPolicy(pulumi.CustomResource):
221
227
  }],
222
228
  }))
223
229
  ```
224
- <!--End PulumiCodeChooser -->
225
230
 
226
231
  !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket.
227
232
 
@@ -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__ = ['SshKeyArgs', 'SshKey']
@@ -126,21 +131,23 @@ class SshKey(pulumi.CustomResource):
126
131
 
127
132
  ## Example Usage
128
133
 
129
- <!--Start PulumiCodeChooser -->
130
134
  ```python
131
135
  import pulumi
132
136
  import pulumi_digitalocean as digitalocean
137
+ import pulumi_std as std
133
138
 
134
139
  # Create a new SSH key
135
- default = digitalocean.SshKey("default", public_key=(lambda path: open(path).read())("/Users/myuser/.ssh/id_rsa.pub"))
140
+ default = digitalocean.SshKey("default",
141
+ name="Example",
142
+ public_key=std.file(input="/Users/myuser/.ssh/id_rsa.pub").result)
136
143
  # Create a new Droplet using the SSH key
137
144
  web = digitalocean.Droplet("web",
138
145
  image="ubuntu-18-04-x64",
139
- region="nyc3",
140
- size="s-1vcpu-1gb",
146
+ name="web-1",
147
+ region=digitalocean.Region.NYC3,
148
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
141
149
  ssh_keys=[default.fingerprint])
142
150
  ```
143
- <!--End PulumiCodeChooser -->
144
151
 
145
152
  ## Import
146
153
 
@@ -170,21 +177,23 @@ class SshKey(pulumi.CustomResource):
170
177
 
171
178
  ## Example Usage
172
179
 
173
- <!--Start PulumiCodeChooser -->
174
180
  ```python
175
181
  import pulumi
176
182
  import pulumi_digitalocean as digitalocean
183
+ import pulumi_std as std
177
184
 
178
185
  # Create a new SSH key
179
- default = digitalocean.SshKey("default", public_key=(lambda path: open(path).read())("/Users/myuser/.ssh/id_rsa.pub"))
186
+ default = digitalocean.SshKey("default",
187
+ name="Example",
188
+ public_key=std.file(input="/Users/myuser/.ssh/id_rsa.pub").result)
180
189
  # Create a new Droplet using the SSH key
181
190
  web = digitalocean.Droplet("web",
182
191
  image="ubuntu-18-04-x64",
183
- region="nyc3",
184
- size="s-1vcpu-1gb",
192
+ name="web-1",
193
+ region=digitalocean.Region.NYC3,
194
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
185
195
  ssh_keys=[default.fingerprint])
186
196
  ```
187
- <!--End PulumiCodeChooser -->
188
197
 
189
198
  ## Import
190
199
 
@@ -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__ = ['TagArgs', 'Tag']
@@ -170,21 +175,20 @@ class Tag(pulumi.CustomResource):
170
175
 
171
176
  ## Example Usage
172
177
 
173
- <!--Start PulumiCodeChooser -->
174
178
  ```python
175
179
  import pulumi
176
180
  import pulumi_digitalocean as digitalocean
177
181
 
178
182
  # Create a new tag
179
- foobar = digitalocean.Tag("foobar")
183
+ foobar = digitalocean.Tag("foobar", name="foobar")
180
184
  # Create a new Droplet in nyc3 with the foobar tag
181
185
  web = digitalocean.Droplet("web",
182
186
  image="ubuntu-18-04-x64",
183
- region="nyc3",
184
- size="s-1vcpu-1gb",
187
+ name="web-1",
188
+ region=digitalocean.Region.NYC3,
189
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
185
190
  tags=[foobar.id])
186
191
  ```
187
- <!--End PulumiCodeChooser -->
188
192
 
189
193
  ## Import
190
194
 
@@ -212,21 +216,20 @@ class Tag(pulumi.CustomResource):
212
216
 
213
217
  ## Example Usage
214
218
 
215
- <!--Start PulumiCodeChooser -->
216
219
  ```python
217
220
  import pulumi
218
221
  import pulumi_digitalocean as digitalocean
219
222
 
220
223
  # Create a new tag
221
- foobar = digitalocean.Tag("foobar")
224
+ foobar = digitalocean.Tag("foobar", name="foobar")
222
225
  # Create a new Droplet in nyc3 with the foobar tag
223
226
  web = digitalocean.Droplet("web",
224
227
  image="ubuntu-18-04-x64",
225
- region="nyc3",
226
- size="s-1vcpu-1gb",
228
+ name="web-1",
229
+ region=digitalocean.Region.NYC3,
230
+ size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,
227
231
  tags=[foobar.id])
228
232
  ```
229
- <!--End PulumiCodeChooser -->
230
233
 
231
234
  ## Import
232
235
 
@@ -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 *
@@ -258,7 +263,7 @@ class UptimeAlert(pulumi.CustomResource):
258
263
  check_id: Optional[pulumi.Input[str]] = None,
259
264
  comparison: Optional[pulumi.Input[str]] = None,
260
265
  name: Optional[pulumi.Input[str]] = None,
261
- notifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UptimeAlertNotificationArgs']]]]] = None,
266
+ notifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UptimeAlertNotificationArgs', 'UptimeAlertNotificationArgsDict']]]]] = None,
262
267
  period: Optional[pulumi.Input[str]] = None,
263
268
  threshold: Optional[pulumi.Input[int]] = None,
264
269
  type: Optional[pulumi.Input[str]] = None,
@@ -282,7 +287,7 @@ class UptimeAlert(pulumi.CustomResource):
282
287
  :param pulumi.Input[str] check_id: A unique identifier for a check
283
288
  :param pulumi.Input[str] comparison: The comparison operator used against the alert's threshold. Must be one of `greater_than` or `less_than`.
284
289
  :param pulumi.Input[str] name: A human-friendly display name.
285
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UptimeAlertNotificationArgs']]]] notifications: The notification settings for a trigger alert.
290
+ :param pulumi.Input[Sequence[pulumi.Input[Union['UptimeAlertNotificationArgs', 'UptimeAlertNotificationArgsDict']]]] notifications: The notification settings for a trigger alert.
286
291
  :param pulumi.Input[str] period: Period of time the threshold must be exceeded to trigger the alert. Must be one of `2m`, `3m`, `5m`, `10m`, `15m`, `30m` or `1h`.
287
292
  :param pulumi.Input[int] threshold: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.
288
293
  :param pulumi.Input[str] type: The type of health check to perform. Must be one of `latency`, `down`, `down_global` or `ssl_expiry`.
@@ -325,7 +330,7 @@ class UptimeAlert(pulumi.CustomResource):
325
330
  check_id: Optional[pulumi.Input[str]] = None,
326
331
  comparison: Optional[pulumi.Input[str]] = None,
327
332
  name: Optional[pulumi.Input[str]] = None,
328
- notifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UptimeAlertNotificationArgs']]]]] = None,
333
+ notifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UptimeAlertNotificationArgs', 'UptimeAlertNotificationArgsDict']]]]] = None,
329
334
  period: Optional[pulumi.Input[str]] = None,
330
335
  threshold: Optional[pulumi.Input[int]] = None,
331
336
  type: Optional[pulumi.Input[str]] = None,
@@ -364,7 +369,7 @@ class UptimeAlert(pulumi.CustomResource):
364
369
  check_id: Optional[pulumi.Input[str]] = None,
365
370
  comparison: Optional[pulumi.Input[str]] = None,
366
371
  name: Optional[pulumi.Input[str]] = None,
367
- notifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UptimeAlertNotificationArgs']]]]] = None,
372
+ notifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UptimeAlertNotificationArgs', 'UptimeAlertNotificationArgsDict']]]]] = None,
368
373
  period: Optional[pulumi.Input[str]] = None,
369
374
  threshold: Optional[pulumi.Input[int]] = None,
370
375
  type: Optional[pulumi.Input[str]] = None) -> 'UptimeAlert':
@@ -378,7 +383,7 @@ class UptimeAlert(pulumi.CustomResource):
378
383
  :param pulumi.Input[str] check_id: A unique identifier for a check
379
384
  :param pulumi.Input[str] comparison: The comparison operator used against the alert's threshold. Must be one of `greater_than` or `less_than`.
380
385
  :param pulumi.Input[str] name: A human-friendly display name.
381
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UptimeAlertNotificationArgs']]]] notifications: The notification settings for a trigger alert.
386
+ :param pulumi.Input[Sequence[pulumi.Input[Union['UptimeAlertNotificationArgs', 'UptimeAlertNotificationArgsDict']]]] notifications: The notification settings for a trigger alert.
382
387
  :param pulumi.Input[str] period: Period of time the threshold must be exceeded to trigger the alert. Must be one of `2m`, `3m`, `5m`, `10m`, `15m`, `30m` or `1h`.
383
388
  :param pulumi.Input[int] threshold: The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type.
384
389
  :param pulumi.Input[str] type: The type of health check to perform. Must be one of `latency`, `down`, `down_global` or `ssl_expiry`.
@@ -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__ = ['UptimeCheckArgs', 'UptimeCheck']