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
|
|
|
12
17
|
__all__ = ['DatabaseRedisConfigArgs', 'DatabaseRedisConfig']
|
|
@@ -39,6 +44,8 @@ class DatabaseRedisConfigArgs:
|
|
|
39
44
|
:param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
|
|
40
45
|
:param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
|
|
41
46
|
:param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
|
|
47
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
48
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
42
49
|
:param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
|
|
43
50
|
"""
|
|
44
51
|
pulumi.set(__self__, "cluster_id", cluster_id)
|
|
@@ -190,6 +197,8 @@ class DatabaseRedisConfigArgs:
|
|
|
190
197
|
def ssl(self) -> Optional[pulumi.Input[bool]]:
|
|
191
198
|
"""
|
|
192
199
|
A boolean indicating whether to require SSL to access Redis.
|
|
200
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
201
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
193
202
|
"""
|
|
194
203
|
return pulumi.get(self, "ssl")
|
|
195
204
|
|
|
@@ -238,6 +247,8 @@ class _DatabaseRedisConfigState:
|
|
|
238
247
|
:param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
|
|
239
248
|
:param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
|
|
240
249
|
:param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
|
|
250
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
251
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
241
252
|
:param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
|
|
242
253
|
"""
|
|
243
254
|
if acl_channels_default is not None:
|
|
@@ -390,6 +401,8 @@ class _DatabaseRedisConfigState:
|
|
|
390
401
|
def ssl(self) -> Optional[pulumi.Input[bool]]:
|
|
391
402
|
"""
|
|
392
403
|
A boolean indicating whether to require SSL to access Redis.
|
|
404
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
405
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
393
406
|
"""
|
|
394
407
|
return pulumi.get(self, "ssl")
|
|
395
408
|
|
|
@@ -436,24 +449,23 @@ class DatabaseRedisConfig(pulumi.CustomResource):
|
|
|
436
449
|
|
|
437
450
|
## Example Usage
|
|
438
451
|
|
|
439
|
-
<!--Start PulumiCodeChooser -->
|
|
440
452
|
```python
|
|
441
453
|
import pulumi
|
|
442
454
|
import pulumi_digitalocean as digitalocean
|
|
443
455
|
|
|
444
|
-
example_database_cluster = digitalocean.DatabaseCluster("
|
|
456
|
+
example_database_cluster = digitalocean.DatabaseCluster("example",
|
|
457
|
+
name="example-redis-cluster",
|
|
445
458
|
engine="redis",
|
|
446
459
|
version="7",
|
|
447
|
-
size=
|
|
448
|
-
region=
|
|
460
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
461
|
+
region=digitalocean.Region.NYC1,
|
|
449
462
|
node_count=1)
|
|
450
|
-
|
|
463
|
+
example = digitalocean.DatabaseRedisConfig("example",
|
|
451
464
|
cluster_id=example_database_cluster.id,
|
|
452
465
|
maxmemory_policy="allkeys-lru",
|
|
453
466
|
notify_keyspace_events="KEA",
|
|
454
467
|
timeout=90)
|
|
455
468
|
```
|
|
456
|
-
<!--End PulumiCodeChooser -->
|
|
457
469
|
|
|
458
470
|
## Import
|
|
459
471
|
|
|
@@ -476,6 +488,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
|
|
|
476
488
|
:param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
|
|
477
489
|
:param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
|
|
478
490
|
:param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
|
|
491
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
492
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
479
493
|
:param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
|
|
480
494
|
"""
|
|
481
495
|
...
|
|
@@ -492,24 +506,23 @@ class DatabaseRedisConfig(pulumi.CustomResource):
|
|
|
492
506
|
|
|
493
507
|
## Example Usage
|
|
494
508
|
|
|
495
|
-
<!--Start PulumiCodeChooser -->
|
|
496
509
|
```python
|
|
497
510
|
import pulumi
|
|
498
511
|
import pulumi_digitalocean as digitalocean
|
|
499
512
|
|
|
500
|
-
example_database_cluster = digitalocean.DatabaseCluster("
|
|
513
|
+
example_database_cluster = digitalocean.DatabaseCluster("example",
|
|
514
|
+
name="example-redis-cluster",
|
|
501
515
|
engine="redis",
|
|
502
516
|
version="7",
|
|
503
|
-
size=
|
|
504
|
-
region=
|
|
517
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
518
|
+
region=digitalocean.Region.NYC1,
|
|
505
519
|
node_count=1)
|
|
506
|
-
|
|
520
|
+
example = digitalocean.DatabaseRedisConfig("example",
|
|
507
521
|
cluster_id=example_database_cluster.id,
|
|
508
522
|
maxmemory_policy="allkeys-lru",
|
|
509
523
|
notify_keyspace_events="KEA",
|
|
510
524
|
timeout=90)
|
|
511
525
|
```
|
|
512
|
-
<!--End PulumiCodeChooser -->
|
|
513
526
|
|
|
514
527
|
## Import
|
|
515
528
|
|
|
@@ -609,6 +622,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
|
|
|
609
622
|
:param pulumi.Input[str] persistence: When persistence is `rdb`, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is `off`, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
|
|
610
623
|
:param pulumi.Input[int] pubsub_client_output_buffer_limit: The output buffer limit for pub/sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
|
|
611
624
|
:param pulumi.Input[bool] ssl: A boolean indicating whether to require SSL to access Redis.
|
|
625
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
626
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
612
627
|
:param pulumi.Input[int] timeout: The Redis idle connection timeout in seconds.
|
|
613
628
|
"""
|
|
614
629
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
@@ -714,6 +729,8 @@ class DatabaseRedisConfig(pulumi.CustomResource):
|
|
|
714
729
|
def ssl(self) -> pulumi.Output[bool]:
|
|
715
730
|
"""
|
|
716
731
|
A boolean indicating whether to require SSL to access Redis.
|
|
732
|
+
- When enabled, Redis accepts only SSL connections on port `25061`.
|
|
733
|
+
- When disabled, port `25060` is opened for non-SSL connections, while port `25061` remains available for SSL connections.
|
|
717
734
|
"""
|
|
718
735
|
return pulumi.get(self, "ssl")
|
|
719
736
|
|
|
@@ -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 ._enums import *
|
|
12
17
|
|
|
@@ -406,31 +411,31 @@ class DatabaseReplica(pulumi.CustomResource):
|
|
|
406
411
|
## Example Usage
|
|
407
412
|
|
|
408
413
|
### Create a new PostgreSQL database replica
|
|
409
|
-
<!--Start PulumiCodeChooser -->
|
|
410
414
|
```python
|
|
411
415
|
import pulumi
|
|
412
416
|
import pulumi_digitalocean as digitalocean
|
|
413
417
|
|
|
414
418
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
419
|
+
name="example-postgres-cluster",
|
|
415
420
|
engine="pg",
|
|
416
|
-
version="
|
|
417
|
-
size=
|
|
418
|
-
region=
|
|
421
|
+
version="15",
|
|
422
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
423
|
+
region=digitalocean.Region.NYC1,
|
|
419
424
|
node_count=1)
|
|
420
425
|
replica_example = digitalocean.DatabaseReplica("replica-example",
|
|
421
426
|
cluster_id=postgres_example.id,
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
427
|
+
name="replica-example",
|
|
428
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
429
|
+
region=digitalocean.Region.NYC1)
|
|
430
|
+
pulumi.export("UUID", replica_example.uuid)
|
|
425
431
|
# Create firewall rule for database replica
|
|
426
432
|
example_fw = digitalocean.DatabaseFirewall("example-fw",
|
|
427
433
|
cluster_id=replica_example.uuid,
|
|
428
|
-
rules=[
|
|
429
|
-
type
|
|
430
|
-
value
|
|
431
|
-
|
|
434
|
+
rules=[{
|
|
435
|
+
"type": "ip_addr",
|
|
436
|
+
"value": "192.168.1.1",
|
|
437
|
+
}])
|
|
432
438
|
```
|
|
433
|
-
<!--End PulumiCodeChooser -->
|
|
434
439
|
|
|
435
440
|
## Import
|
|
436
441
|
|
|
@@ -463,31 +468,31 @@ class DatabaseReplica(pulumi.CustomResource):
|
|
|
463
468
|
## Example Usage
|
|
464
469
|
|
|
465
470
|
### Create a new PostgreSQL database replica
|
|
466
|
-
<!--Start PulumiCodeChooser -->
|
|
467
471
|
```python
|
|
468
472
|
import pulumi
|
|
469
473
|
import pulumi_digitalocean as digitalocean
|
|
470
474
|
|
|
471
475
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
476
|
+
name="example-postgres-cluster",
|
|
472
477
|
engine="pg",
|
|
473
|
-
version="
|
|
474
|
-
size=
|
|
475
|
-
region=
|
|
478
|
+
version="15",
|
|
479
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
480
|
+
region=digitalocean.Region.NYC1,
|
|
476
481
|
node_count=1)
|
|
477
482
|
replica_example = digitalocean.DatabaseReplica("replica-example",
|
|
478
483
|
cluster_id=postgres_example.id,
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
484
|
+
name="replica-example",
|
|
485
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
486
|
+
region=digitalocean.Region.NYC1)
|
|
487
|
+
pulumi.export("UUID", replica_example.uuid)
|
|
482
488
|
# Create firewall rule for database replica
|
|
483
489
|
example_fw = digitalocean.DatabaseFirewall("example-fw",
|
|
484
490
|
cluster_id=replica_example.uuid,
|
|
485
|
-
rules=[
|
|
486
|
-
type
|
|
487
|
-
value
|
|
488
|
-
|
|
491
|
+
rules=[{
|
|
492
|
+
"type": "ip_addr",
|
|
493
|
+
"value": "192.168.1.1",
|
|
494
|
+
}])
|
|
489
495
|
```
|
|
490
|
-
<!--End PulumiCodeChooser -->
|
|
491
496
|
|
|
492
497
|
## Import
|
|
493
498
|
|
|
@@ -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 *
|
|
@@ -232,7 +237,7 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
232
237
|
cluster_id: Optional[pulumi.Input[str]] = None,
|
|
233
238
|
mysql_auth_plugin: Optional[pulumi.Input[str]] = None,
|
|
234
239
|
name: Optional[pulumi.Input[str]] = None,
|
|
235
|
-
settings: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
240
|
+
settings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseUserSettingArgs', 'DatabaseUserSettingArgsDict']]]]] = None,
|
|
236
241
|
__props__=None):
|
|
237
242
|
"""
|
|
238
243
|
Provides a DigitalOcean database user resource. When creating a new database cluster, a default admin user with name `doadmin` will be created. Then, this resource can be used to provide additional normal users inside the cluster.
|
|
@@ -242,74 +247,79 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
242
247
|
## Example Usage
|
|
243
248
|
|
|
244
249
|
### Create a new PostgreSQL database user
|
|
245
|
-
<!--Start PulumiCodeChooser -->
|
|
246
250
|
```python
|
|
247
251
|
import pulumi
|
|
248
252
|
import pulumi_digitalocean as digitalocean
|
|
249
253
|
|
|
250
254
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
255
|
+
name="example-postgres-cluster",
|
|
251
256
|
engine="pg",
|
|
252
|
-
version="
|
|
253
|
-
size=
|
|
254
|
-
region=
|
|
257
|
+
version="15",
|
|
258
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
259
|
+
region=digitalocean.Region.NYC1,
|
|
255
260
|
node_count=1)
|
|
256
|
-
user_example = digitalocean.DatabaseUser("user-example",
|
|
261
|
+
user_example = digitalocean.DatabaseUser("user-example",
|
|
262
|
+
cluster_id=postgres_example.id,
|
|
263
|
+
name="foobar")
|
|
257
264
|
```
|
|
258
|
-
<!--End PulumiCodeChooser -->
|
|
259
265
|
|
|
260
266
|
### Create a new user for a PostgreSQL database replica
|
|
261
|
-
<!--Start PulumiCodeChooser -->
|
|
262
267
|
```python
|
|
263
268
|
import pulumi
|
|
264
269
|
import pulumi_digitalocean as digitalocean
|
|
265
270
|
|
|
266
271
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
272
|
+
name="example-postgres-cluster",
|
|
267
273
|
engine="pg",
|
|
268
|
-
version="
|
|
269
|
-
size=
|
|
270
|
-
region=
|
|
274
|
+
version="15",
|
|
275
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
276
|
+
region=digitalocean.Region.NYC1,
|
|
271
277
|
node_count=1)
|
|
272
278
|
replica_example = digitalocean.DatabaseReplica("replica-example",
|
|
273
279
|
cluster_id=postgres_example.id,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
280
|
+
name="replica-example",
|
|
281
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
282
|
+
region=digitalocean.Region.NYC1)
|
|
283
|
+
user_example = digitalocean.DatabaseUser("user-example",
|
|
284
|
+
cluster_id=replica_example.uuid,
|
|
285
|
+
name="foobar")
|
|
277
286
|
```
|
|
278
|
-
<!--End PulumiCodeChooser -->
|
|
279
287
|
|
|
280
288
|
### Create a new user for a Kafka database cluster
|
|
281
|
-
<!--Start PulumiCodeChooser -->
|
|
282
289
|
```python
|
|
283
290
|
import pulumi
|
|
284
291
|
import pulumi_digitalocean as digitalocean
|
|
285
292
|
|
|
286
293
|
kafka_example = digitalocean.DatabaseCluster("kafka-example",
|
|
294
|
+
name="example-kafka-cluster",
|
|
287
295
|
engine="kafka",
|
|
288
296
|
version="3.5",
|
|
289
297
|
size="db-s-2vcpu-2gb",
|
|
290
|
-
region=
|
|
298
|
+
region=digitalocean.Region.NYC1,
|
|
291
299
|
node_count=3)
|
|
292
|
-
foobar_topic = digitalocean.DatabaseKafkaTopic("
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
300
|
+
foobar_topic = digitalocean.DatabaseKafkaTopic("foobar_topic",
|
|
301
|
+
cluster_id=foobar["id"],
|
|
302
|
+
name="topic-1")
|
|
303
|
+
foobar_user = digitalocean.DatabaseUser("foobar_user",
|
|
304
|
+
cluster_id=foobar["id"],
|
|
305
|
+
name="example-user",
|
|
306
|
+
settings=[{
|
|
307
|
+
"acls": [
|
|
308
|
+
{
|
|
309
|
+
"topic": "topic-1",
|
|
310
|
+
"permission": "produce",
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"topic": "topic-2",
|
|
314
|
+
"permission": "produceconsume",
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"topic": "topic-*",
|
|
318
|
+
"permission": "consume",
|
|
319
|
+
},
|
|
309
320
|
],
|
|
310
|
-
|
|
321
|
+
}])
|
|
311
322
|
```
|
|
312
|
-
<!--End PulumiCodeChooser -->
|
|
313
323
|
|
|
314
324
|
## Import
|
|
315
325
|
|
|
@@ -326,7 +336,7 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
326
336
|
:param pulumi.Input[str] cluster_id: The ID of the original source database cluster.
|
|
327
337
|
:param pulumi.Input[str] mysql_auth_plugin: The authentication method to use for connections to the MySQL user account. The valid values are `mysql_native_password` or `caching_sha2_password` (this is the default).
|
|
328
338
|
:param pulumi.Input[str] name: The name for the database user.
|
|
329
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
339
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseUserSettingArgs', 'DatabaseUserSettingArgsDict']]]] settings: Contains optional settings for the user.
|
|
330
340
|
The `settings` block is documented below.
|
|
331
341
|
"""
|
|
332
342
|
...
|
|
@@ -343,74 +353,79 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
343
353
|
## Example Usage
|
|
344
354
|
|
|
345
355
|
### Create a new PostgreSQL database user
|
|
346
|
-
<!--Start PulumiCodeChooser -->
|
|
347
356
|
```python
|
|
348
357
|
import pulumi
|
|
349
358
|
import pulumi_digitalocean as digitalocean
|
|
350
359
|
|
|
351
360
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
361
|
+
name="example-postgres-cluster",
|
|
352
362
|
engine="pg",
|
|
353
|
-
version="
|
|
354
|
-
size=
|
|
355
|
-
region=
|
|
363
|
+
version="15",
|
|
364
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
365
|
+
region=digitalocean.Region.NYC1,
|
|
356
366
|
node_count=1)
|
|
357
|
-
user_example = digitalocean.DatabaseUser("user-example",
|
|
367
|
+
user_example = digitalocean.DatabaseUser("user-example",
|
|
368
|
+
cluster_id=postgres_example.id,
|
|
369
|
+
name="foobar")
|
|
358
370
|
```
|
|
359
|
-
<!--End PulumiCodeChooser -->
|
|
360
371
|
|
|
361
372
|
### Create a new user for a PostgreSQL database replica
|
|
362
|
-
<!--Start PulumiCodeChooser -->
|
|
363
373
|
```python
|
|
364
374
|
import pulumi
|
|
365
375
|
import pulumi_digitalocean as digitalocean
|
|
366
376
|
|
|
367
377
|
postgres_example = digitalocean.DatabaseCluster("postgres-example",
|
|
378
|
+
name="example-postgres-cluster",
|
|
368
379
|
engine="pg",
|
|
369
|
-
version="
|
|
370
|
-
size=
|
|
371
|
-
region=
|
|
380
|
+
version="15",
|
|
381
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
382
|
+
region=digitalocean.Region.NYC1,
|
|
372
383
|
node_count=1)
|
|
373
384
|
replica_example = digitalocean.DatabaseReplica("replica-example",
|
|
374
385
|
cluster_id=postgres_example.id,
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
386
|
+
name="replica-example",
|
|
387
|
+
size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,
|
|
388
|
+
region=digitalocean.Region.NYC1)
|
|
389
|
+
user_example = digitalocean.DatabaseUser("user-example",
|
|
390
|
+
cluster_id=replica_example.uuid,
|
|
391
|
+
name="foobar")
|
|
378
392
|
```
|
|
379
|
-
<!--End PulumiCodeChooser -->
|
|
380
393
|
|
|
381
394
|
### Create a new user for a Kafka database cluster
|
|
382
|
-
<!--Start PulumiCodeChooser -->
|
|
383
395
|
```python
|
|
384
396
|
import pulumi
|
|
385
397
|
import pulumi_digitalocean as digitalocean
|
|
386
398
|
|
|
387
399
|
kafka_example = digitalocean.DatabaseCluster("kafka-example",
|
|
400
|
+
name="example-kafka-cluster",
|
|
388
401
|
engine="kafka",
|
|
389
402
|
version="3.5",
|
|
390
403
|
size="db-s-2vcpu-2gb",
|
|
391
|
-
region=
|
|
404
|
+
region=digitalocean.Region.NYC1,
|
|
392
405
|
node_count=3)
|
|
393
|
-
foobar_topic = digitalocean.DatabaseKafkaTopic("
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
406
|
+
foobar_topic = digitalocean.DatabaseKafkaTopic("foobar_topic",
|
|
407
|
+
cluster_id=foobar["id"],
|
|
408
|
+
name="topic-1")
|
|
409
|
+
foobar_user = digitalocean.DatabaseUser("foobar_user",
|
|
410
|
+
cluster_id=foobar["id"],
|
|
411
|
+
name="example-user",
|
|
412
|
+
settings=[{
|
|
413
|
+
"acls": [
|
|
414
|
+
{
|
|
415
|
+
"topic": "topic-1",
|
|
416
|
+
"permission": "produce",
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"topic": "topic-2",
|
|
420
|
+
"permission": "produceconsume",
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"topic": "topic-*",
|
|
424
|
+
"permission": "consume",
|
|
425
|
+
},
|
|
410
426
|
],
|
|
411
|
-
|
|
427
|
+
}])
|
|
412
428
|
```
|
|
413
|
-
<!--End PulumiCodeChooser -->
|
|
414
429
|
|
|
415
430
|
## Import
|
|
416
431
|
|
|
@@ -440,7 +455,7 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
440
455
|
cluster_id: Optional[pulumi.Input[str]] = None,
|
|
441
456
|
mysql_auth_plugin: Optional[pulumi.Input[str]] = None,
|
|
442
457
|
name: Optional[pulumi.Input[str]] = None,
|
|
443
|
-
settings: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
458
|
+
settings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseUserSettingArgs', 'DatabaseUserSettingArgsDict']]]]] = None,
|
|
444
459
|
__props__=None):
|
|
445
460
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
446
461
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -479,7 +494,7 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
479
494
|
name: Optional[pulumi.Input[str]] = None,
|
|
480
495
|
password: Optional[pulumi.Input[str]] = None,
|
|
481
496
|
role: Optional[pulumi.Input[str]] = None,
|
|
482
|
-
settings: Optional[pulumi.Input[Sequence[pulumi.Input[
|
|
497
|
+
settings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseUserSettingArgs', 'DatabaseUserSettingArgsDict']]]]] = None) -> 'DatabaseUser':
|
|
483
498
|
"""
|
|
484
499
|
Get an existing DatabaseUser resource's state with the given name, id, and optional extra
|
|
485
500
|
properties used to qualify the lookup.
|
|
@@ -494,7 +509,7 @@ class DatabaseUser(pulumi.CustomResource):
|
|
|
494
509
|
:param pulumi.Input[str] name: The name for the database user.
|
|
495
510
|
:param pulumi.Input[str] password: Password for the database user.
|
|
496
511
|
:param pulumi.Input[str] role: Role for the database user. The value will be either "primary" or "normal".
|
|
497
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
|
512
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseUserSettingArgs', 'DatabaseUserSettingArgsDict']]]] settings: Contains optional settings for the user.
|
|
498
513
|
The `settings` block is documented below.
|
|
499
514
|
"""
|
|
500
515
|
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
|
from ._enums import *
|
|
12
17
|
|
|
@@ -382,7 +387,6 @@ class DnsRecord(pulumi.CustomResource):
|
|
|
382
387
|
|
|
383
388
|
## Example Usage
|
|
384
389
|
|
|
385
|
-
<!--Start PulumiCodeChooser -->
|
|
386
390
|
```python
|
|
387
391
|
import pulumi
|
|
388
392
|
import pulumi_digitalocean as digitalocean
|
|
@@ -391,18 +395,19 @@ class DnsRecord(pulumi.CustomResource):
|
|
|
391
395
|
# Add an A record to the domain for www.example.com.
|
|
392
396
|
www = digitalocean.DnsRecord("www",
|
|
393
397
|
domain=default.id,
|
|
394
|
-
type=
|
|
398
|
+
type=digitalocean.RecordType.A,
|
|
399
|
+
name="www",
|
|
395
400
|
value="192.168.0.11")
|
|
396
401
|
# Add a MX record for the example.com domain itself.
|
|
397
402
|
mx = digitalocean.DnsRecord("mx",
|
|
398
403
|
domain=default.id,
|
|
399
|
-
type=
|
|
404
|
+
type=digitalocean.RecordType.MX,
|
|
405
|
+
name="@",
|
|
400
406
|
priority=10,
|
|
401
407
|
value="mail.example.com.")
|
|
402
408
|
pulumi.export("wwwFqdn", www.fqdn)
|
|
403
409
|
pulumi.export("mxFqdn", mx.fqdn)
|
|
404
410
|
```
|
|
405
|
-
<!--End PulumiCodeChooser -->
|
|
406
411
|
|
|
407
412
|
## Import
|
|
408
413
|
|
|
@@ -438,7 +443,6 @@ class DnsRecord(pulumi.CustomResource):
|
|
|
438
443
|
|
|
439
444
|
## Example Usage
|
|
440
445
|
|
|
441
|
-
<!--Start PulumiCodeChooser -->
|
|
442
446
|
```python
|
|
443
447
|
import pulumi
|
|
444
448
|
import pulumi_digitalocean as digitalocean
|
|
@@ -447,18 +451,19 @@ class DnsRecord(pulumi.CustomResource):
|
|
|
447
451
|
# Add an A record to the domain for www.example.com.
|
|
448
452
|
www = digitalocean.DnsRecord("www",
|
|
449
453
|
domain=default.id,
|
|
450
|
-
type=
|
|
454
|
+
type=digitalocean.RecordType.A,
|
|
455
|
+
name="www",
|
|
451
456
|
value="192.168.0.11")
|
|
452
457
|
# Add a MX record for the example.com domain itself.
|
|
453
458
|
mx = digitalocean.DnsRecord("mx",
|
|
454
459
|
domain=default.id,
|
|
455
|
-
type=
|
|
460
|
+
type=digitalocean.RecordType.MX,
|
|
461
|
+
name="@",
|
|
456
462
|
priority=10,
|
|
457
463
|
value="mail.example.com.")
|
|
458
464
|
pulumi.export("wwwFqdn", www.fqdn)
|
|
459
465
|
pulumi.export("mxFqdn", mx.fqdn)
|
|
460
466
|
```
|
|
461
|
-
<!--End PulumiCodeChooser -->
|
|
462
467
|
|
|
463
468
|
## Import
|
|
464
469
|
|
pulumi_digitalocean/domain.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__ = ['DomainArgs', 'Domain']
|
|
@@ -139,7 +144,6 @@ class Domain(pulumi.CustomResource):
|
|
|
139
144
|
|
|
140
145
|
## Example Usage
|
|
141
146
|
|
|
142
|
-
<!--Start PulumiCodeChooser -->
|
|
143
147
|
```python
|
|
144
148
|
import pulumi
|
|
145
149
|
import pulumi_digitalocean as digitalocean
|
|
@@ -147,9 +151,8 @@ class Domain(pulumi.CustomResource):
|
|
|
147
151
|
# Create a new domain
|
|
148
152
|
default = digitalocean.Domain("default",
|
|
149
153
|
name="example.com",
|
|
150
|
-
ip_address=
|
|
154
|
+
ip_address=foo["ipv4Address"])
|
|
151
155
|
```
|
|
152
|
-
<!--End PulumiCodeChooser -->
|
|
153
156
|
|
|
154
157
|
## Import
|
|
155
158
|
|
|
@@ -176,7 +179,6 @@ class Domain(pulumi.CustomResource):
|
|
|
176
179
|
|
|
177
180
|
## Example Usage
|
|
178
181
|
|
|
179
|
-
<!--Start PulumiCodeChooser -->
|
|
180
182
|
```python
|
|
181
183
|
import pulumi
|
|
182
184
|
import pulumi_digitalocean as digitalocean
|
|
@@ -184,9 +186,8 @@ class Domain(pulumi.CustomResource):
|
|
|
184
186
|
# Create a new domain
|
|
185
187
|
default = digitalocean.Domain("default",
|
|
186
188
|
name="example.com",
|
|
187
|
-
ip_address=
|
|
189
|
+
ip_address=foo["ipv4Address"])
|
|
188
190
|
```
|
|
189
|
-
<!--End PulumiCodeChooser -->
|
|
190
191
|
|
|
191
192
|
## Import
|
|
192
193
|
|