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.

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.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/METADATA +7 -6
  104. pulumi_digitalocean-4.39.0a1736849637.dist-info/RECORD +108 -0
  105. {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/WHEEL +1 -1
  106. pulumi_digitalocean-4.27.0a1710332933.dist-info/RECORD +0 -97
  107. {pulumi_digitalocean-4.27.0a1710332933.dist-info → pulumi_digitalocean-4.39.0a1736849637.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,171 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+
17
+ __all__ = ['ReservedIpv6AssignmentArgs', 'ReservedIpv6Assignment']
18
+
19
+ @pulumi.input_type
20
+ class ReservedIpv6AssignmentArgs:
21
+ def __init__(__self__, *,
22
+ droplet_id: pulumi.Input[int],
23
+ ip: pulumi.Input[str]):
24
+ """
25
+ The set of arguments for constructing a ReservedIpv6Assignment resource.
26
+ """
27
+ pulumi.set(__self__, "droplet_id", droplet_id)
28
+ pulumi.set(__self__, "ip", ip)
29
+
30
+ @property
31
+ @pulumi.getter(name="dropletId")
32
+ def droplet_id(self) -> pulumi.Input[int]:
33
+ return pulumi.get(self, "droplet_id")
34
+
35
+ @droplet_id.setter
36
+ def droplet_id(self, value: pulumi.Input[int]):
37
+ pulumi.set(self, "droplet_id", value)
38
+
39
+ @property
40
+ @pulumi.getter
41
+ def ip(self) -> pulumi.Input[str]:
42
+ return pulumi.get(self, "ip")
43
+
44
+ @ip.setter
45
+ def ip(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "ip", value)
47
+
48
+
49
+ @pulumi.input_type
50
+ class _ReservedIpv6AssignmentState:
51
+ def __init__(__self__, *,
52
+ droplet_id: Optional[pulumi.Input[int]] = None,
53
+ ip: Optional[pulumi.Input[str]] = None):
54
+ """
55
+ Input properties used for looking up and filtering ReservedIpv6Assignment resources.
56
+ """
57
+ if droplet_id is not None:
58
+ pulumi.set(__self__, "droplet_id", droplet_id)
59
+ if ip is not None:
60
+ pulumi.set(__self__, "ip", ip)
61
+
62
+ @property
63
+ @pulumi.getter(name="dropletId")
64
+ def droplet_id(self) -> Optional[pulumi.Input[int]]:
65
+ return pulumi.get(self, "droplet_id")
66
+
67
+ @droplet_id.setter
68
+ def droplet_id(self, value: Optional[pulumi.Input[int]]):
69
+ pulumi.set(self, "droplet_id", value)
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def ip(self) -> Optional[pulumi.Input[str]]:
74
+ return pulumi.get(self, "ip")
75
+
76
+ @ip.setter
77
+ def ip(self, value: Optional[pulumi.Input[str]]):
78
+ pulumi.set(self, "ip", value)
79
+
80
+
81
+ class ReservedIpv6Assignment(pulumi.CustomResource):
82
+ @overload
83
+ def __init__(__self__,
84
+ resource_name: str,
85
+ opts: Optional[pulumi.ResourceOptions] = None,
86
+ droplet_id: Optional[pulumi.Input[int]] = None,
87
+ ip: Optional[pulumi.Input[str]] = None,
88
+ __props__=None):
89
+ """
90
+ Create a ReservedIpv6Assignment resource with the given unique name, props, and options.
91
+ :param str resource_name: The name of the resource.
92
+ :param pulumi.ResourceOptions opts: Options for the resource.
93
+ """
94
+ ...
95
+ @overload
96
+ def __init__(__self__,
97
+ resource_name: str,
98
+ args: ReservedIpv6AssignmentArgs,
99
+ opts: Optional[pulumi.ResourceOptions] = None):
100
+ """
101
+ Create a ReservedIpv6Assignment resource with the given unique name, props, and options.
102
+ :param str resource_name: The name of the resource.
103
+ :param ReservedIpv6AssignmentArgs args: The arguments to use to populate this resource's properties.
104
+ :param pulumi.ResourceOptions opts: Options for the resource.
105
+ """
106
+ ...
107
+ def __init__(__self__, resource_name: str, *args, **kwargs):
108
+ resource_args, opts = _utilities.get_resource_args_opts(ReservedIpv6AssignmentArgs, pulumi.ResourceOptions, *args, **kwargs)
109
+ if resource_args is not None:
110
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
111
+ else:
112
+ __self__._internal_init(resource_name, *args, **kwargs)
113
+
114
+ def _internal_init(__self__,
115
+ resource_name: str,
116
+ opts: Optional[pulumi.ResourceOptions] = None,
117
+ droplet_id: Optional[pulumi.Input[int]] = None,
118
+ ip: Optional[pulumi.Input[str]] = None,
119
+ __props__=None):
120
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
121
+ if not isinstance(opts, pulumi.ResourceOptions):
122
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
123
+ if opts.id is None:
124
+ if __props__ is not None:
125
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
126
+ __props__ = ReservedIpv6AssignmentArgs.__new__(ReservedIpv6AssignmentArgs)
127
+
128
+ if droplet_id is None and not opts.urn:
129
+ raise TypeError("Missing required property 'droplet_id'")
130
+ __props__.__dict__["droplet_id"] = droplet_id
131
+ if ip is None and not opts.urn:
132
+ raise TypeError("Missing required property 'ip'")
133
+ __props__.__dict__["ip"] = ip
134
+ super(ReservedIpv6Assignment, __self__).__init__(
135
+ 'digitalocean:index/reservedIpv6Assignment:ReservedIpv6Assignment',
136
+ resource_name,
137
+ __props__,
138
+ opts)
139
+
140
+ @staticmethod
141
+ def get(resource_name: str,
142
+ id: pulumi.Input[str],
143
+ opts: Optional[pulumi.ResourceOptions] = None,
144
+ droplet_id: Optional[pulumi.Input[int]] = None,
145
+ ip: Optional[pulumi.Input[str]] = None) -> 'ReservedIpv6Assignment':
146
+ """
147
+ Get an existing ReservedIpv6Assignment resource's state with the given name, id, and optional extra
148
+ properties used to qualify the lookup.
149
+
150
+ :param str resource_name: The unique name of the resulting resource.
151
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
152
+ :param pulumi.ResourceOptions opts: Options for the resource.
153
+ """
154
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
155
+
156
+ __props__ = _ReservedIpv6AssignmentState.__new__(_ReservedIpv6AssignmentState)
157
+
158
+ __props__.__dict__["droplet_id"] = droplet_id
159
+ __props__.__dict__["ip"] = ip
160
+ return ReservedIpv6Assignment(resource_name, opts=opts, __props__=__props__)
161
+
162
+ @property
163
+ @pulumi.getter(name="dropletId")
164
+ def droplet_id(self) -> pulumi.Output[int]:
165
+ return pulumi.get(self, "droplet_id")
166
+
167
+ @property
168
+ @pulumi.getter
169
+ def ip(self) -> pulumi.Output[str]:
170
+ return pulumi.get(self, "ip")
171
+
@@ -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 ._enums import *
@@ -26,7 +31,7 @@ class SpacesBucketArgs:
26
31
  versioning: Optional[pulumi.Input['SpacesBucketVersioningArgs']] = None):
27
32
  """
28
33
  The set of arguments for constructing a SpacesBucket resource.
29
- :param pulumi.Input[str] acl: Canned ACL applied on bucket creation (`private` or `public-read`)
34
+ :param pulumi.Input[str] acl: Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
30
35
  :param pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsRuleArgs']]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
31
36
  :param pulumi.Input[bool] force_destroy: Unless `true`, the bucket will only be destroyed if empty (Defaults to `false`)
32
37
  :param pulumi.Input[Sequence[pulumi.Input['SpacesBucketLifecycleRuleArgs']]] lifecycle_rules: A configuration of object lifecycle management (documented below).
@@ -37,8 +42,8 @@ class SpacesBucketArgs:
37
42
  if acl is not None:
38
43
  pulumi.set(__self__, "acl", acl)
39
44
  if cors_rules is not None:
40
- warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning)
41
- pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""")
45
+ warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning)
46
+ pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""")
42
47
  if cors_rules is not None:
43
48
  pulumi.set(__self__, "cors_rules", cors_rules)
44
49
  if force_destroy is not None:
@@ -56,7 +61,7 @@ class SpacesBucketArgs:
56
61
  @pulumi.getter
57
62
  def acl(self) -> Optional[pulumi.Input[str]]:
58
63
  """
59
- Canned ACL applied on bucket creation (`private` or `public-read`)
64
+ Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
60
65
  """
61
66
  return pulumi.get(self, "acl")
62
67
 
@@ -66,13 +71,11 @@ class SpacesBucketArgs:
66
71
 
67
72
  @property
68
73
  @pulumi.getter(name="corsRules")
74
+ @_utilities.deprecated("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""")
69
75
  def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsRuleArgs']]]]:
70
76
  """
71
77
  A rule of Cross-Origin Resource Sharing (documented below).
72
78
  """
73
- warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning)
74
- pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""")
75
-
76
79
  return pulumi.get(self, "cors_rules")
77
80
 
78
81
  @cors_rules.setter
@@ -155,7 +158,7 @@ class _SpacesBucketState:
155
158
  versioning: Optional[pulumi.Input['SpacesBucketVersioningArgs']] = None):
156
159
  """
157
160
  Input properties used for looking up and filtering SpacesBucket resources.
158
- :param pulumi.Input[str] acl: Canned ACL applied on bucket creation (`private` or `public-read`)
161
+ :param pulumi.Input[str] acl: Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
159
162
  :param pulumi.Input[str] bucket_domain_name: The FQDN of the bucket (e.g. bucket-name.nyc3.digitaloceanspaces.com)
160
163
  :param pulumi.Input[str] bucket_urn: The uniform resource name for the bucket
161
164
  :param pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsRuleArgs']]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
@@ -173,8 +176,8 @@ class _SpacesBucketState:
173
176
  if bucket_urn is not None:
174
177
  pulumi.set(__self__, "bucket_urn", bucket_urn)
175
178
  if cors_rules is not None:
176
- warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning)
177
- pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""")
179
+ warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning)
180
+ pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""")
178
181
  if cors_rules is not None:
179
182
  pulumi.set(__self__, "cors_rules", cors_rules)
180
183
  if endpoint is not None:
@@ -194,7 +197,7 @@ class _SpacesBucketState:
194
197
  @pulumi.getter
195
198
  def acl(self) -> Optional[pulumi.Input[str]]:
196
199
  """
197
- Canned ACL applied on bucket creation (`private` or `public-read`)
200
+ Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
198
201
  """
199
202
  return pulumi.get(self, "acl")
200
203
 
@@ -228,13 +231,11 @@ class _SpacesBucketState:
228
231
 
229
232
  @property
230
233
  @pulumi.getter(name="corsRules")
234
+ @_utilities.deprecated("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""")
231
235
  def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsRuleArgs']]]]:
232
236
  """
233
237
  A rule of Cross-Origin Resource Sharing (documented below).
234
238
  """
235
- warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning)
236
- pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""")
237
-
238
239
  return pulumi.get(self, "cors_rules")
239
240
 
240
241
  @cors_rules.setter
@@ -320,12 +321,12 @@ class SpacesBucket(pulumi.CustomResource):
320
321
  resource_name: str,
321
322
  opts: Optional[pulumi.ResourceOptions] = None,
322
323
  acl: Optional[pulumi.Input[str]] = None,
323
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsRuleArgs']]]]] = None,
324
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsRuleArgs', 'SpacesBucketCorsRuleArgsDict']]]]] = None,
324
325
  force_destroy: Optional[pulumi.Input[bool]] = None,
325
- lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketLifecycleRuleArgs']]]]] = None,
326
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketLifecycleRuleArgs', 'SpacesBucketLifecycleRuleArgsDict']]]]] = None,
326
327
  name: Optional[pulumi.Input[str]] = None,
327
328
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
328
- versioning: Optional[pulumi.Input[pulumi.InputType['SpacesBucketVersioningArgs']]] = None,
329
+ versioning: Optional[pulumi.Input[Union['SpacesBucketVersioningArgs', 'SpacesBucketVersioningArgsDict']]] = None,
329
330
  __props__=None):
330
331
  """
331
332
  Provides a bucket resource for Spaces, DigitalOcean's object storage product.
@@ -342,15 +343,12 @@ class SpacesBucket(pulumi.CustomResource):
342
343
  access ID and secret you generate via the DigitalOcean control panel. For
343
344
  example:
344
345
 
345
- <!--Start PulumiCodeChooser -->
346
346
  ```python
347
347
  import pulumi
348
348
  import pulumi_digitalocean as digitalocean
349
349
 
350
350
  static_assets = digitalocean.SpacesBucket("static-assets")
351
- # ...
352
351
  ```
353
- <!--End PulumiCodeChooser -->
354
352
 
355
353
  For more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)
356
354
 
@@ -358,44 +356,43 @@ class SpacesBucket(pulumi.CustomResource):
358
356
 
359
357
  ### Create a New Bucket
360
358
 
361
- <!--Start PulumiCodeChooser -->
362
359
  ```python
363
360
  import pulumi
364
361
  import pulumi_digitalocean as digitalocean
365
362
 
366
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
363
+ foobar = digitalocean.SpacesBucket("foobar",
364
+ name="foobar",
365
+ region=digitalocean.Region.NYC3)
367
366
  ```
368
- <!--End PulumiCodeChooser -->
369
367
 
370
368
  ### Create a New Bucket With CORS Rules
371
369
 
372
- <!--Start PulumiCodeChooser -->
373
370
  ```python
374
371
  import pulumi
375
372
  import pulumi_digitalocean as digitalocean
376
373
 
377
374
  foobar = digitalocean.SpacesBucket("foobar",
375
+ name="foobar",
376
+ region=digitalocean.Region.NYC3,
378
377
  cors_rules=[
379
- digitalocean.SpacesBucketCorsRuleArgs(
380
- allowed_headers=["*"],
381
- allowed_methods=["GET"],
382
- allowed_origins=["*"],
383
- max_age_seconds=3000,
384
- ),
385
- digitalocean.SpacesBucketCorsRuleArgs(
386
- allowed_headers=["*"],
387
- allowed_methods=[
378
+ {
379
+ "allowed_headers": ["*"],
380
+ "allowed_methods": ["GET"],
381
+ "allowed_origins": ["*"],
382
+ "max_age_seconds": 3000,
383
+ },
384
+ {
385
+ "allowed_headers": ["*"],
386
+ "allowed_methods": [
388
387
  "PUT",
389
388
  "POST",
390
389
  "DELETE",
391
390
  ],
392
- allowed_origins=["https://www.example.com"],
393
- max_age_seconds=3000,
394
- ),
395
- ],
396
- region="nyc3")
391
+ "allowed_origins": ["https://www.example.com"],
392
+ "max_age_seconds": 3000,
393
+ },
394
+ ])
397
395
  ```
398
- <!--End PulumiCodeChooser -->
399
396
 
400
397
  ## Import
401
398
 
@@ -407,13 +404,13 @@ class SpacesBucket(pulumi.CustomResource):
407
404
 
408
405
  :param str resource_name: The name of the resource.
409
406
  :param pulumi.ResourceOptions opts: Options for the resource.
410
- :param pulumi.Input[str] acl: Canned ACL applied on bucket creation (`private` or `public-read`)
411
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsRuleArgs']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
407
+ :param pulumi.Input[str] acl: Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
408
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsRuleArgs', 'SpacesBucketCorsRuleArgsDict']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
412
409
  :param pulumi.Input[bool] force_destroy: Unless `true`, the bucket will only be destroyed if empty (Defaults to `false`)
413
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketLifecycleRuleArgs']]]] lifecycle_rules: A configuration of object lifecycle management (documented below).
410
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketLifecycleRuleArgs', 'SpacesBucketLifecycleRuleArgsDict']]]] lifecycle_rules: A configuration of object lifecycle management (documented below).
414
411
  :param pulumi.Input[str] name: The name of the bucket
415
412
  :param pulumi.Input[Union[str, 'Region']] region: The region where the bucket resides (Defaults to `nyc3`)
416
- :param pulumi.Input[pulumi.InputType['SpacesBucketVersioningArgs']] versioning: A state of versioning (documented below)
413
+ :param pulumi.Input[Union['SpacesBucketVersioningArgs', 'SpacesBucketVersioningArgsDict']] versioning: A state of versioning (documented below)
417
414
  """
418
415
  ...
419
416
  @overload
@@ -436,15 +433,12 @@ class SpacesBucket(pulumi.CustomResource):
436
433
  access ID and secret you generate via the DigitalOcean control panel. For
437
434
  example:
438
435
 
439
- <!--Start PulumiCodeChooser -->
440
436
  ```python
441
437
  import pulumi
442
438
  import pulumi_digitalocean as digitalocean
443
439
 
444
440
  static_assets = digitalocean.SpacesBucket("static-assets")
445
- # ...
446
441
  ```
447
- <!--End PulumiCodeChooser -->
448
442
 
449
443
  For more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)
450
444
 
@@ -452,44 +446,43 @@ class SpacesBucket(pulumi.CustomResource):
452
446
 
453
447
  ### Create a New Bucket
454
448
 
455
- <!--Start PulumiCodeChooser -->
456
449
  ```python
457
450
  import pulumi
458
451
  import pulumi_digitalocean as digitalocean
459
452
 
460
- foobar = digitalocean.SpacesBucket("foobar", region="nyc3")
453
+ foobar = digitalocean.SpacesBucket("foobar",
454
+ name="foobar",
455
+ region=digitalocean.Region.NYC3)
461
456
  ```
462
- <!--End PulumiCodeChooser -->
463
457
 
464
458
  ### Create a New Bucket With CORS Rules
465
459
 
466
- <!--Start PulumiCodeChooser -->
467
460
  ```python
468
461
  import pulumi
469
462
  import pulumi_digitalocean as digitalocean
470
463
 
471
464
  foobar = digitalocean.SpacesBucket("foobar",
465
+ name="foobar",
466
+ region=digitalocean.Region.NYC3,
472
467
  cors_rules=[
473
- digitalocean.SpacesBucketCorsRuleArgs(
474
- allowed_headers=["*"],
475
- allowed_methods=["GET"],
476
- allowed_origins=["*"],
477
- max_age_seconds=3000,
478
- ),
479
- digitalocean.SpacesBucketCorsRuleArgs(
480
- allowed_headers=["*"],
481
- allowed_methods=[
468
+ {
469
+ "allowed_headers": ["*"],
470
+ "allowed_methods": ["GET"],
471
+ "allowed_origins": ["*"],
472
+ "max_age_seconds": 3000,
473
+ },
474
+ {
475
+ "allowed_headers": ["*"],
476
+ "allowed_methods": [
482
477
  "PUT",
483
478
  "POST",
484
479
  "DELETE",
485
480
  ],
486
- allowed_origins=["https://www.example.com"],
487
- max_age_seconds=3000,
488
- ),
489
- ],
490
- region="nyc3")
481
+ "allowed_origins": ["https://www.example.com"],
482
+ "max_age_seconds": 3000,
483
+ },
484
+ ])
491
485
  ```
492
- <!--End PulumiCodeChooser -->
493
486
 
494
487
  ## Import
495
488
 
@@ -515,12 +508,12 @@ class SpacesBucket(pulumi.CustomResource):
515
508
  resource_name: str,
516
509
  opts: Optional[pulumi.ResourceOptions] = None,
517
510
  acl: Optional[pulumi.Input[str]] = None,
518
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsRuleArgs']]]]] = None,
511
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsRuleArgs', 'SpacesBucketCorsRuleArgsDict']]]]] = None,
519
512
  force_destroy: Optional[pulumi.Input[bool]] = None,
520
- lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketLifecycleRuleArgs']]]]] = None,
513
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketLifecycleRuleArgs', 'SpacesBucketLifecycleRuleArgsDict']]]]] = None,
521
514
  name: Optional[pulumi.Input[str]] = None,
522
515
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
523
- versioning: Optional[pulumi.Input[pulumi.InputType['SpacesBucketVersioningArgs']]] = None,
516
+ versioning: Optional[pulumi.Input[Union['SpacesBucketVersioningArgs', 'SpacesBucketVersioningArgsDict']]] = None,
524
517
  __props__=None):
525
518
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
526
519
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -553,13 +546,13 @@ class SpacesBucket(pulumi.CustomResource):
553
546
  acl: Optional[pulumi.Input[str]] = None,
554
547
  bucket_domain_name: Optional[pulumi.Input[str]] = None,
555
548
  bucket_urn: Optional[pulumi.Input[str]] = None,
556
- cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsRuleArgs']]]]] = None,
549
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsRuleArgs', 'SpacesBucketCorsRuleArgsDict']]]]] = None,
557
550
  endpoint: Optional[pulumi.Input[str]] = None,
558
551
  force_destroy: Optional[pulumi.Input[bool]] = None,
559
- lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketLifecycleRuleArgs']]]]] = None,
552
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketLifecycleRuleArgs', 'SpacesBucketLifecycleRuleArgsDict']]]]] = None,
560
553
  name: Optional[pulumi.Input[str]] = None,
561
554
  region: Optional[pulumi.Input[Union[str, 'Region']]] = None,
562
- versioning: Optional[pulumi.Input[pulumi.InputType['SpacesBucketVersioningArgs']]] = None) -> 'SpacesBucket':
555
+ versioning: Optional[pulumi.Input[Union['SpacesBucketVersioningArgs', 'SpacesBucketVersioningArgsDict']]] = None) -> 'SpacesBucket':
563
556
  """
564
557
  Get an existing SpacesBucket resource's state with the given name, id, and optional extra
565
558
  properties used to qualify the lookup.
@@ -567,16 +560,16 @@ class SpacesBucket(pulumi.CustomResource):
567
560
  :param str resource_name: The unique name of the resulting resource.
568
561
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
569
562
  :param pulumi.ResourceOptions opts: Options for the resource.
570
- :param pulumi.Input[str] acl: Canned ACL applied on bucket creation (`private` or `public-read`)
563
+ :param pulumi.Input[str] acl: Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
571
564
  :param pulumi.Input[str] bucket_domain_name: The FQDN of the bucket (e.g. bucket-name.nyc3.digitaloceanspaces.com)
572
565
  :param pulumi.Input[str] bucket_urn: The uniform resource name for the bucket
573
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketCorsRuleArgs']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
566
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsRuleArgs', 'SpacesBucketCorsRuleArgsDict']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below).
574
567
  :param pulumi.Input[str] endpoint: The FQDN of the bucket without the bucket name (e.g. nyc3.digitaloceanspaces.com)
575
568
  :param pulumi.Input[bool] force_destroy: Unless `true`, the bucket will only be destroyed if empty (Defaults to `false`)
576
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpacesBucketLifecycleRuleArgs']]]] lifecycle_rules: A configuration of object lifecycle management (documented below).
569
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketLifecycleRuleArgs', 'SpacesBucketLifecycleRuleArgsDict']]]] lifecycle_rules: A configuration of object lifecycle management (documented below).
577
570
  :param pulumi.Input[str] name: The name of the bucket
578
571
  :param pulumi.Input[Union[str, 'Region']] region: The region where the bucket resides (Defaults to `nyc3`)
579
- :param pulumi.Input[pulumi.InputType['SpacesBucketVersioningArgs']] versioning: A state of versioning (documented below)
572
+ :param pulumi.Input[Union['SpacesBucketVersioningArgs', 'SpacesBucketVersioningArgsDict']] versioning: A state of versioning (documented below)
580
573
  """
581
574
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
582
575
 
@@ -598,7 +591,7 @@ class SpacesBucket(pulumi.CustomResource):
598
591
  @pulumi.getter
599
592
  def acl(self) -> pulumi.Output[Optional[str]]:
600
593
  """
601
- Canned ACL applied on bucket creation (`private` or `public-read`)
594
+ Canned ACL applied on bucket creation: `private` or `public-read` (Defaults to `private`)
602
595
  """
603
596
  return pulumi.get(self, "acl")
604
597
 
@@ -620,13 +613,11 @@ class SpacesBucket(pulumi.CustomResource):
620
613
 
621
614
  @property
622
615
  @pulumi.getter(name="corsRules")
616
+ @_utilities.deprecated("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""")
623
617
  def cors_rules(self) -> pulumi.Output[Optional[Sequence['outputs.SpacesBucketCorsRule']]]:
624
618
  """
625
619
  A rule of Cross-Origin Resource Sharing (documented below).
626
620
  """
627
- warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning)
628
- pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""")
629
-
630
621
  return pulumi.get(self, "cors_rules")
631
622
 
632
623
  @property