pulumi-digitalocean 4.27.0a1710332933__py3-none-any.whl → 4.39.0a1736849637__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-digitalocean might be problematic. Click here for more details.
- 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.0a1736849637.dist-info}/METADATA +7 -6
- pulumi_digitalocean-4.39.0a1736849637.dist-info/RECORD +108 -0
- {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.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.0a1736849637.dist-info}/top_level.txt +0 -0
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import warnings
|
|
7
|
+
import sys
|
|
7
8
|
import pulumi
|
|
8
9
|
import pulumi.runtime
|
|
9
10
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
10
15
|
from . import _utilities
|
|
11
16
|
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[
|
|
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",
|
|
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=[
|
|
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
|
|
155
|
-
expose_headers
|
|
156
|
-
max_age_seconds
|
|
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[
|
|
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",
|
|
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=[
|
|
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
|
|
202
|
-
expose_headers
|
|
203
|
-
max_age_seconds
|
|
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[
|
|
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[
|
|
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[
|
|
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",
|
|
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",
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
region=
|
|
146
|
-
|
|
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
|
-
|
|
156
|
-
|
|
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
|
-
|
|
202
|
-
|
|
203
|
-
region=
|
|
204
|
-
|
|
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
|
-
|
|
214
|
-
|
|
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
|
|
pulumi_digitalocean/ssh_key.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
|
|
|
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",
|
|
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
|
-
|
|
140
|
-
|
|
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",
|
|
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
|
-
|
|
184
|
-
|
|
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
|
|
pulumi_digitalocean/tag.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
|
|
|
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
|
-
|
|
184
|
-
|
|
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
|
-
|
|
226
|
-
|
|
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[
|
|
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[
|
|
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[
|
|
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[
|
|
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[
|
|
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']
|