pulumi-digitalocean 4.40.0a1739511652__py3-none-any.whl → 4.56.0a1766428645__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.
Files changed (154) hide show
  1. pulumi_digitalocean/__init__.py +224 -1
  2. pulumi_digitalocean/_enums.py +19 -9
  3. pulumi_digitalocean/_inputs.py +17037 -4771
  4. pulumi_digitalocean/_utilities.py +1 -1
  5. pulumi_digitalocean/app.py +238 -88
  6. pulumi_digitalocean/byoip_prefix.py +452 -0
  7. pulumi_digitalocean/cdn.py +106 -105
  8. pulumi_digitalocean/certificate.py +139 -138
  9. pulumi_digitalocean/config/__init__.py +2 -1
  10. pulumi_digitalocean/config/__init__.pyi +2 -2
  11. pulumi_digitalocean/config/vars.py +11 -11
  12. pulumi_digitalocean/container_registries.py +285 -0
  13. pulumi_digitalocean/container_registry.py +90 -89
  14. pulumi_digitalocean/container_registry_docker_credentials.py +84 -83
  15. pulumi_digitalocean/custom_image.py +180 -179
  16. pulumi_digitalocean/database_cluster.py +402 -373
  17. pulumi_digitalocean/database_connection_pool.py +159 -158
  18. pulumi_digitalocean/database_db.py +37 -36
  19. pulumi_digitalocean/database_firewall.py +23 -22
  20. pulumi_digitalocean/database_kafka_config.py +309 -308
  21. pulumi_digitalocean/database_kafka_schema_registry.py +360 -0
  22. pulumi_digitalocean/database_kafka_topic.py +83 -82
  23. pulumi_digitalocean/database_logsink_opensearch.py +680 -0
  24. pulumi_digitalocean/database_logsink_rsyslog.py +842 -0
  25. pulumi_digitalocean/database_mongodb_config.py +105 -104
  26. pulumi_digitalocean/database_mysql_config.py +479 -478
  27. pulumi_digitalocean/database_online_migration.py +460 -0
  28. pulumi_digitalocean/database_opensearch_config.py +666 -665
  29. pulumi_digitalocean/database_postgresql_config.py +859 -858
  30. pulumi_digitalocean/database_redis_config.py +211 -206
  31. pulumi_digitalocean/database_replica.py +199 -198
  32. pulumi_digitalocean/database_user.py +93 -92
  33. pulumi_digitalocean/database_valkey_config.py +776 -0
  34. pulumi_digitalocean/dns_record.py +184 -183
  35. pulumi_digitalocean/domain.py +55 -54
  36. pulumi_digitalocean/droplet.py +403 -402
  37. pulumi_digitalocean/droplet_autoscale.py +55 -54
  38. pulumi_digitalocean/droplet_snapshot.py +73 -72
  39. pulumi_digitalocean/firewall.py +80 -79
  40. pulumi_digitalocean/floating_ip.py +63 -62
  41. pulumi_digitalocean/floating_ip_assignment.py +37 -36
  42. pulumi_digitalocean/genai_agent.py +1903 -0
  43. pulumi_digitalocean/genai_agent_knowledge_base_attachment.py +198 -0
  44. pulumi_digitalocean/genai_agent_route.py +354 -0
  45. pulumi_digitalocean/genai_function.py +464 -0
  46. pulumi_digitalocean/genai_indexing_job_cancel.py +542 -0
  47. pulumi_digitalocean/genai_knowledge_base.py +627 -0
  48. pulumi_digitalocean/genai_knowledge_base_data_source.py +220 -0
  49. pulumi_digitalocean/genai_openai_api_key.py +386 -0
  50. pulumi_digitalocean/get_account.py +18 -18
  51. pulumi_digitalocean/get_app.py +28 -28
  52. pulumi_digitalocean/get_byoip_prefix.py +214 -0
  53. pulumi_digitalocean/get_byoip_prefix_resources.py +150 -0
  54. pulumi_digitalocean/get_certificate.py +22 -22
  55. pulumi_digitalocean/get_container_registries.py +151 -0
  56. pulumi_digitalocean/get_container_registry.py +22 -22
  57. pulumi_digitalocean/get_database_ca.py +12 -12
  58. pulumi_digitalocean/get_database_cluster.py +76 -62
  59. pulumi_digitalocean/get_database_connection_pool.py +36 -36
  60. pulumi_digitalocean/get_database_metrics_credentials.py +120 -0
  61. pulumi_digitalocean/get_database_replica.py +46 -46
  62. pulumi_digitalocean/get_database_user.py +27 -27
  63. pulumi_digitalocean/get_domain.py +16 -16
  64. pulumi_digitalocean/get_domains.py +7 -7
  65. pulumi_digitalocean/get_droplet.py +72 -72
  66. pulumi_digitalocean/get_droplet_autoscale.py +23 -23
  67. pulumi_digitalocean/get_droplet_snapshot.py +38 -38
  68. pulumi_digitalocean/get_droplets.py +13 -13
  69. pulumi_digitalocean/get_firewall.py +31 -31
  70. pulumi_digitalocean/get_floating_ip.py +16 -16
  71. pulumi_digitalocean/get_genai_agent.py +572 -0
  72. pulumi_digitalocean/get_genai_agent_versions.py +128 -0
  73. pulumi_digitalocean/get_genai_agents.py +128 -0
  74. pulumi_digitalocean/get_genai_agents_by_openai_api_key.py +97 -0
  75. pulumi_digitalocean/get_genai_indexing_job.py +239 -0
  76. pulumi_digitalocean/get_genai_indexing_job_data_sources.py +97 -0
  77. pulumi_digitalocean/get_genai_knowledge_base.py +259 -0
  78. pulumi_digitalocean/get_genai_knowledge_base_data_sources.py +97 -0
  79. pulumi_digitalocean/get_genai_knowledge_base_indexing_jobs.py +108 -0
  80. pulumi_digitalocean/get_genai_knowledge_bases.py +113 -0
  81. pulumi_digitalocean/get_genai_models.py +113 -0
  82. pulumi_digitalocean/get_genai_openai_api_key.py +152 -0
  83. pulumi_digitalocean/get_genai_openai_api_keys.py +113 -0
  84. pulumi_digitalocean/get_genai_regions.py +113 -0
  85. pulumi_digitalocean/get_image.py +50 -50
  86. pulumi_digitalocean/get_images.py +7 -7
  87. pulumi_digitalocean/get_kubernetes_cluster.py +144 -53
  88. pulumi_digitalocean/get_kubernetes_versions.py +14 -14
  89. pulumi_digitalocean/get_load_balancer.py +70 -59
  90. pulumi_digitalocean/get_nfs.py +205 -0
  91. pulumi_digitalocean/get_nfs_snapshot.py +188 -0
  92. pulumi_digitalocean/get_partner_attachment.py +206 -0
  93. pulumi_digitalocean/get_partner_attachment_service_key.py +118 -0
  94. pulumi_digitalocean/get_project.py +32 -32
  95. pulumi_digitalocean/get_projects.py +7 -7
  96. pulumi_digitalocean/get_record.py +32 -32
  97. pulumi_digitalocean/get_records.py +13 -13
  98. pulumi_digitalocean/get_region.py +18 -18
  99. pulumi_digitalocean/get_regions.py +7 -7
  100. pulumi_digitalocean/get_reserved_ip.py +16 -16
  101. pulumi_digitalocean/get_reserved_ipv6.py +51 -16
  102. pulumi_digitalocean/get_sizes.py +141 -7
  103. pulumi_digitalocean/get_spaces_bucket.py +22 -22
  104. pulumi_digitalocean/get_spaces_bucket_object.py +58 -58
  105. pulumi_digitalocean/get_spaces_bucket_objects.py +46 -46
  106. pulumi_digitalocean/get_spaces_buckets.py +7 -7
  107. pulumi_digitalocean/get_spaces_key.py +157 -0
  108. pulumi_digitalocean/get_ssh_key.py +14 -14
  109. pulumi_digitalocean/get_ssh_keys.py +7 -7
  110. pulumi_digitalocean/get_tag.py +22 -22
  111. pulumi_digitalocean/get_tags.py +7 -7
  112. pulumi_digitalocean/get_volume.py +34 -34
  113. pulumi_digitalocean/get_volume_snapshot.py +40 -40
  114. pulumi_digitalocean/get_vpc.py +30 -30
  115. pulumi_digitalocean/get_vpc_nat_gateway.py +263 -0
  116. pulumi_digitalocean/get_vpc_peering.py +24 -24
  117. pulumi_digitalocean/kubernetes_cluster.py +572 -303
  118. pulumi_digitalocean/kubernetes_node_pool.py +170 -169
  119. pulumi_digitalocean/load_balancer.py +406 -372
  120. pulumi_digitalocean/monitor_alert.py +153 -156
  121. pulumi_digitalocean/nfs.py +481 -0
  122. pulumi_digitalocean/nfs_attachment.py +289 -0
  123. pulumi_digitalocean/nfs_snapshot.py +379 -0
  124. pulumi_digitalocean/outputs.py +26759 -7592
  125. pulumi_digitalocean/partner_attachment.py +555 -0
  126. pulumi_digitalocean/project.py +141 -140
  127. pulumi_digitalocean/project_resources.py +37 -36
  128. pulumi_digitalocean/provider.py +105 -84
  129. pulumi_digitalocean/pulumi-plugin.json +1 -1
  130. pulumi_digitalocean/reserved_ip.py +63 -62
  131. pulumi_digitalocean/reserved_ip_assignment.py +37 -36
  132. pulumi_digitalocean/reserved_ipv6.py +122 -62
  133. pulumi_digitalocean/reserved_ipv6_assignment.py +81 -30
  134. pulumi_digitalocean/spaces_bucket.py +107 -106
  135. pulumi_digitalocean/spaces_bucket_cors_configuration.py +40 -39
  136. pulumi_digitalocean/spaces_bucket_logging.py +346 -0
  137. pulumi_digitalocean/spaces_bucket_object.py +284 -283
  138. pulumi_digitalocean/spaces_bucket_policy.py +54 -53
  139. pulumi_digitalocean/spaces_key.py +388 -0
  140. pulumi_digitalocean/ssh_key.py +46 -45
  141. pulumi_digitalocean/tag.py +74 -73
  142. pulumi_digitalocean/uptime_alert.py +112 -111
  143. pulumi_digitalocean/uptime_check.py +90 -89
  144. pulumi_digitalocean/volume.py +183 -182
  145. pulumi_digitalocean/volume_attachment.py +37 -36
  146. pulumi_digitalocean/volume_snapshot.py +90 -89
  147. pulumi_digitalocean/vpc.py +100 -99
  148. pulumi_digitalocean/vpc_nat_gateway.py +722 -0
  149. pulumi_digitalocean/vpc_peering.py +55 -58
  150. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/METADATA +4 -4
  151. pulumi_digitalocean-4.56.0a1766428645.dist-info/RECORD +154 -0
  152. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/WHEEL +1 -1
  153. pulumi_digitalocean-4.40.0a1739511652.dist-info/RECORD +0 -108
  154. {pulumi_digitalocean-4.40.0a1739511652.dist-info → pulumi_digitalocean-4.56.0a1766428645.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -21,32 +21,32 @@ __all__ = ['SpacesBucketCorsConfigurationArgs', 'SpacesBucketCorsConfiguration']
21
21
  @pulumi.input_type
22
22
  class SpacesBucketCorsConfigurationArgs:
23
23
  def __init__(__self__, *,
24
- bucket: pulumi.Input[str],
24
+ bucket: pulumi.Input[_builtins.str],
25
25
  cors_rules: pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]],
26
- region: pulumi.Input[str]):
26
+ region: pulumi.Input[_builtins.str]):
27
27
  """
28
28
  The set of arguments for constructing a SpacesBucketCorsConfiguration resource.
29
- :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
29
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket to which to apply the CORS configuration.
30
30
  :param pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
31
- :param pulumi.Input[str] region: The region where the bucket resides.
31
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
32
32
  """
33
33
  pulumi.set(__self__, "bucket", bucket)
34
34
  pulumi.set(__self__, "cors_rules", cors_rules)
35
35
  pulumi.set(__self__, "region", region)
36
36
 
37
- @property
37
+ @_builtins.property
38
38
  @pulumi.getter
39
- def bucket(self) -> pulumi.Input[str]:
39
+ def bucket(self) -> pulumi.Input[_builtins.str]:
40
40
  """
41
41
  The name of the bucket to which to apply the CORS configuration.
42
42
  """
43
43
  return pulumi.get(self, "bucket")
44
44
 
45
45
  @bucket.setter
46
- def bucket(self, value: pulumi.Input[str]):
46
+ def bucket(self, value: pulumi.Input[_builtins.str]):
47
47
  pulumi.set(self, "bucket", value)
48
48
 
49
- @property
49
+ @_builtins.property
50
50
  @pulumi.getter(name="corsRules")
51
51
  def cors_rules(self) -> pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]]:
52
52
  """
@@ -58,30 +58,30 @@ class SpacesBucketCorsConfigurationArgs:
58
58
  def cors_rules(self, value: pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]]):
59
59
  pulumi.set(self, "cors_rules", value)
60
60
 
61
- @property
61
+ @_builtins.property
62
62
  @pulumi.getter
63
- def region(self) -> pulumi.Input[str]:
63
+ def region(self) -> pulumi.Input[_builtins.str]:
64
64
  """
65
65
  The region where the bucket resides.
66
66
  """
67
67
  return pulumi.get(self, "region")
68
68
 
69
69
  @region.setter
70
- def region(self, value: pulumi.Input[str]):
70
+ def region(self, value: pulumi.Input[_builtins.str]):
71
71
  pulumi.set(self, "region", value)
72
72
 
73
73
 
74
74
  @pulumi.input_type
75
75
  class _SpacesBucketCorsConfigurationState:
76
76
  def __init__(__self__, *,
77
- bucket: Optional[pulumi.Input[str]] = None,
77
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
78
78
  cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]]] = None,
79
- region: Optional[pulumi.Input[str]] = None):
79
+ region: Optional[pulumi.Input[_builtins.str]] = None):
80
80
  """
81
81
  Input properties used for looking up and filtering SpacesBucketCorsConfiguration resources.
82
- :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
82
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket to which to apply the CORS configuration.
83
83
  :param pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]] cors_rules: Set of origins and methods (cross-origin access that you want to allow). See below. You can configure up to 100 rules.
84
- :param pulumi.Input[str] region: The region where the bucket resides.
84
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
85
85
  """
86
86
  if bucket is not None:
87
87
  pulumi.set(__self__, "bucket", bucket)
@@ -90,19 +90,19 @@ class _SpacesBucketCorsConfigurationState:
90
90
  if region is not None:
91
91
  pulumi.set(__self__, "region", region)
92
92
 
93
- @property
93
+ @_builtins.property
94
94
  @pulumi.getter
95
- def bucket(self) -> Optional[pulumi.Input[str]]:
95
+ def bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
96
96
  """
97
97
  The name of the bucket to which to apply the CORS configuration.
98
98
  """
99
99
  return pulumi.get(self, "bucket")
100
100
 
101
101
  @bucket.setter
102
- def bucket(self, value: Optional[pulumi.Input[str]]):
102
+ def bucket(self, value: Optional[pulumi.Input[_builtins.str]]):
103
103
  pulumi.set(self, "bucket", value)
104
104
 
105
- @property
105
+ @_builtins.property
106
106
  @pulumi.getter(name="corsRules")
107
107
  def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]]]:
108
108
  """
@@ -114,27 +114,28 @@ class _SpacesBucketCorsConfigurationState:
114
114
  def cors_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucketCorsConfigurationCorsRuleArgs']]]]):
115
115
  pulumi.set(self, "cors_rules", value)
116
116
 
117
- @property
117
+ @_builtins.property
118
118
  @pulumi.getter
119
- def region(self) -> Optional[pulumi.Input[str]]:
119
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
120
120
  """
121
121
  The region where the bucket resides.
122
122
  """
123
123
  return pulumi.get(self, "region")
124
124
 
125
125
  @region.setter
126
- def region(self, value: Optional[pulumi.Input[str]]):
126
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
127
127
  pulumi.set(self, "region", value)
128
128
 
129
129
 
130
+ @pulumi.type_token("digitalocean:index/spacesBucketCorsConfiguration:SpacesBucketCorsConfiguration")
130
131
  class SpacesBucketCorsConfiguration(pulumi.CustomResource):
131
132
  @overload
132
133
  def __init__(__self__,
133
134
  resource_name: str,
134
135
  opts: Optional[pulumi.ResourceOptions] = None,
135
- bucket: Optional[pulumi.Input[str]] = None,
136
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
136
137
  cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
137
- region: Optional[pulumi.Input[str]] = None,
138
+ region: Optional[pulumi.Input[_builtins.str]] = None,
138
139
  __props__=None):
139
140
  """
140
141
  ## Example Usage
@@ -173,9 +174,9 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
173
174
 
174
175
  :param str resource_name: The name of the resource.
175
176
  :param pulumi.ResourceOptions opts: Options for the resource.
176
- :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
177
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket to which to apply the CORS configuration.
177
178
  :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.
178
- :param pulumi.Input[str] region: The region where the bucket resides.
179
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
179
180
  """
180
181
  ...
181
182
  @overload
@@ -233,9 +234,9 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
233
234
  def _internal_init(__self__,
234
235
  resource_name: str,
235
236
  opts: Optional[pulumi.ResourceOptions] = None,
236
- bucket: Optional[pulumi.Input[str]] = None,
237
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
237
238
  cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
238
- region: Optional[pulumi.Input[str]] = None,
239
+ region: Optional[pulumi.Input[_builtins.str]] = None,
239
240
  __props__=None):
240
241
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
241
242
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -264,9 +265,9 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
264
265
  def get(resource_name: str,
265
266
  id: pulumi.Input[str],
266
267
  opts: Optional[pulumi.ResourceOptions] = None,
267
- bucket: Optional[pulumi.Input[str]] = None,
268
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
268
269
  cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpacesBucketCorsConfigurationCorsRuleArgs', 'SpacesBucketCorsConfigurationCorsRuleArgsDict']]]]] = None,
269
- region: Optional[pulumi.Input[str]] = None) -> 'SpacesBucketCorsConfiguration':
270
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'SpacesBucketCorsConfiguration':
270
271
  """
271
272
  Get an existing SpacesBucketCorsConfiguration resource's state with the given name, id, and optional extra
272
273
  properties used to qualify the lookup.
@@ -274,9 +275,9 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
274
275
  :param str resource_name: The unique name of the resulting resource.
275
276
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
276
277
  :param pulumi.ResourceOptions opts: Options for the resource.
277
- :param pulumi.Input[str] bucket: The name of the bucket to which to apply the CORS configuration.
278
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket to which to apply the CORS configuration.
278
279
  :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.
279
- :param pulumi.Input[str] region: The region where the bucket resides.
280
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
280
281
  """
281
282
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
282
283
 
@@ -287,15 +288,15 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
287
288
  __props__.__dict__["region"] = region
288
289
  return SpacesBucketCorsConfiguration(resource_name, opts=opts, __props__=__props__)
289
290
 
290
- @property
291
+ @_builtins.property
291
292
  @pulumi.getter
292
- def bucket(self) -> pulumi.Output[str]:
293
+ def bucket(self) -> pulumi.Output[_builtins.str]:
293
294
  """
294
295
  The name of the bucket to which to apply the CORS configuration.
295
296
  """
296
297
  return pulumi.get(self, "bucket")
297
298
 
298
- @property
299
+ @_builtins.property
299
300
  @pulumi.getter(name="corsRules")
300
301
  def cors_rules(self) -> pulumi.Output[Sequence['outputs.SpacesBucketCorsConfigurationCorsRule']]:
301
302
  """
@@ -303,9 +304,9 @@ class SpacesBucketCorsConfiguration(pulumi.CustomResource):
303
304
  """
304
305
  return pulumi.get(self, "cors_rules")
305
306
 
306
- @property
307
+ @_builtins.property
307
308
  @pulumi.getter
308
- def region(self) -> pulumi.Output[str]:
309
+ def region(self) -> pulumi.Output[_builtins.str]:
309
310
  """
310
311
  The region where the bucket resides.
311
312
  """
@@ -0,0 +1,346 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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__ = ['SpacesBucketLoggingArgs', 'SpacesBucketLogging']
18
+
19
+ @pulumi.input_type
20
+ class SpacesBucketLoggingArgs:
21
+ def __init__(__self__, *,
22
+ bucket: pulumi.Input[_builtins.str],
23
+ region: pulumi.Input[_builtins.str],
24
+ target_bucket: pulumi.Input[_builtins.str],
25
+ target_prefix: pulumi.Input[_builtins.str]):
26
+ """
27
+ The set of arguments for constructing a SpacesBucketLogging resource.
28
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket which will be logged.
29
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
30
+ :param pulumi.Input[_builtins.str] target_bucket: The name of the bucket which will store the logs.
31
+ :param pulumi.Input[_builtins.str] target_prefix: The prefix for the log files.
32
+ """
33
+ pulumi.set(__self__, "bucket", bucket)
34
+ pulumi.set(__self__, "region", region)
35
+ pulumi.set(__self__, "target_bucket", target_bucket)
36
+ pulumi.set(__self__, "target_prefix", target_prefix)
37
+
38
+ @_builtins.property
39
+ @pulumi.getter
40
+ def bucket(self) -> pulumi.Input[_builtins.str]:
41
+ """
42
+ The name of the bucket which will be logged.
43
+ """
44
+ return pulumi.get(self, "bucket")
45
+
46
+ @bucket.setter
47
+ def bucket(self, value: pulumi.Input[_builtins.str]):
48
+ pulumi.set(self, "bucket", value)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter
52
+ def region(self) -> pulumi.Input[_builtins.str]:
53
+ """
54
+ The region where the bucket resides.
55
+ """
56
+ return pulumi.get(self, "region")
57
+
58
+ @region.setter
59
+ def region(self, value: pulumi.Input[_builtins.str]):
60
+ pulumi.set(self, "region", value)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter(name="targetBucket")
64
+ def target_bucket(self) -> pulumi.Input[_builtins.str]:
65
+ """
66
+ The name of the bucket which will store the logs.
67
+ """
68
+ return pulumi.get(self, "target_bucket")
69
+
70
+ @target_bucket.setter
71
+ def target_bucket(self, value: pulumi.Input[_builtins.str]):
72
+ pulumi.set(self, "target_bucket", value)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter(name="targetPrefix")
76
+ def target_prefix(self) -> pulumi.Input[_builtins.str]:
77
+ """
78
+ The prefix for the log files.
79
+ """
80
+ return pulumi.get(self, "target_prefix")
81
+
82
+ @target_prefix.setter
83
+ def target_prefix(self, value: pulumi.Input[_builtins.str]):
84
+ pulumi.set(self, "target_prefix", value)
85
+
86
+
87
+ @pulumi.input_type
88
+ class _SpacesBucketLoggingState:
89
+ def __init__(__self__, *,
90
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
91
+ region: Optional[pulumi.Input[_builtins.str]] = None,
92
+ target_bucket: Optional[pulumi.Input[_builtins.str]] = None,
93
+ target_prefix: Optional[pulumi.Input[_builtins.str]] = None):
94
+ """
95
+ Input properties used for looking up and filtering SpacesBucketLogging resources.
96
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket which will be logged.
97
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
98
+ :param pulumi.Input[_builtins.str] target_bucket: The name of the bucket which will store the logs.
99
+ :param pulumi.Input[_builtins.str] target_prefix: The prefix for the log files.
100
+ """
101
+ if bucket is not None:
102
+ pulumi.set(__self__, "bucket", bucket)
103
+ if region is not None:
104
+ pulumi.set(__self__, "region", region)
105
+ if target_bucket is not None:
106
+ pulumi.set(__self__, "target_bucket", target_bucket)
107
+ if target_prefix is not None:
108
+ pulumi.set(__self__, "target_prefix", target_prefix)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter
112
+ def bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
113
+ """
114
+ The name of the bucket which will be logged.
115
+ """
116
+ return pulumi.get(self, "bucket")
117
+
118
+ @bucket.setter
119
+ def bucket(self, value: Optional[pulumi.Input[_builtins.str]]):
120
+ pulumi.set(self, "bucket", value)
121
+
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
125
+ """
126
+ The region where the bucket resides.
127
+ """
128
+ return pulumi.get(self, "region")
129
+
130
+ @region.setter
131
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
132
+ pulumi.set(self, "region", value)
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="targetBucket")
136
+ def target_bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
137
+ """
138
+ The name of the bucket which will store the logs.
139
+ """
140
+ return pulumi.get(self, "target_bucket")
141
+
142
+ @target_bucket.setter
143
+ def target_bucket(self, value: Optional[pulumi.Input[_builtins.str]]):
144
+ pulumi.set(self, "target_bucket", value)
145
+
146
+ @_builtins.property
147
+ @pulumi.getter(name="targetPrefix")
148
+ def target_prefix(self) -> Optional[pulumi.Input[_builtins.str]]:
149
+ """
150
+ The prefix for the log files.
151
+ """
152
+ return pulumi.get(self, "target_prefix")
153
+
154
+ @target_prefix.setter
155
+ def target_prefix(self, value: Optional[pulumi.Input[_builtins.str]]):
156
+ pulumi.set(self, "target_prefix", value)
157
+
158
+
159
+ @pulumi.type_token("digitalocean:index/spacesBucketLogging:SpacesBucketLogging")
160
+ class SpacesBucketLogging(pulumi.CustomResource):
161
+ @overload
162
+ def __init__(__self__,
163
+ resource_name: str,
164
+ opts: Optional[pulumi.ResourceOptions] = None,
165
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
166
+ region: Optional[pulumi.Input[_builtins.str]] = None,
167
+ target_bucket: Optional[pulumi.Input[_builtins.str]] = None,
168
+ target_prefix: Optional[pulumi.Input[_builtins.str]] = None,
169
+ __props__=None):
170
+ """
171
+ ## Example Usage
172
+
173
+ ```python
174
+ import pulumi
175
+ import pulumi_digitalocean as digitalocean
176
+
177
+ assets = digitalocean.SpacesBucket("assets",
178
+ name="assets",
179
+ region=digitalocean.Region.NYC3)
180
+ logs = digitalocean.SpacesBucket("logs",
181
+ name="logs",
182
+ region=digitalocean.Region.NYC3)
183
+ example = digitalocean.SpacesBucketLogging("example",
184
+ region="%s",
185
+ bucket=assets.id,
186
+ target_bucket=logs.id,
187
+ target_prefix="access-logs/")
188
+ ```
189
+
190
+ ## Import
191
+
192
+ Spaces bucket logging can be imported using the `region` and `bucket` attributes (delimited by a comma):
193
+
194
+ ```sh
195
+ $ pulumi import digitalocean:index/spacesBucketLogging:SpacesBucketLogging example `region`,`bucket`
196
+ ```
197
+
198
+ :param str resource_name: The name of the resource.
199
+ :param pulumi.ResourceOptions opts: Options for the resource.
200
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket which will be logged.
201
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
202
+ :param pulumi.Input[_builtins.str] target_bucket: The name of the bucket which will store the logs.
203
+ :param pulumi.Input[_builtins.str] target_prefix: The prefix for the log files.
204
+ """
205
+ ...
206
+ @overload
207
+ def __init__(__self__,
208
+ resource_name: str,
209
+ args: SpacesBucketLoggingArgs,
210
+ opts: Optional[pulumi.ResourceOptions] = None):
211
+ """
212
+ ## Example Usage
213
+
214
+ ```python
215
+ import pulumi
216
+ import pulumi_digitalocean as digitalocean
217
+
218
+ assets = digitalocean.SpacesBucket("assets",
219
+ name="assets",
220
+ region=digitalocean.Region.NYC3)
221
+ logs = digitalocean.SpacesBucket("logs",
222
+ name="logs",
223
+ region=digitalocean.Region.NYC3)
224
+ example = digitalocean.SpacesBucketLogging("example",
225
+ region="%s",
226
+ bucket=assets.id,
227
+ target_bucket=logs.id,
228
+ target_prefix="access-logs/")
229
+ ```
230
+
231
+ ## Import
232
+
233
+ Spaces bucket logging can be imported using the `region` and `bucket` attributes (delimited by a comma):
234
+
235
+ ```sh
236
+ $ pulumi import digitalocean:index/spacesBucketLogging:SpacesBucketLogging example `region`,`bucket`
237
+ ```
238
+
239
+ :param str resource_name: The name of the resource.
240
+ :param SpacesBucketLoggingArgs args: The arguments to use to populate this resource's properties.
241
+ :param pulumi.ResourceOptions opts: Options for the resource.
242
+ """
243
+ ...
244
+ def __init__(__self__, resource_name: str, *args, **kwargs):
245
+ resource_args, opts = _utilities.get_resource_args_opts(SpacesBucketLoggingArgs, pulumi.ResourceOptions, *args, **kwargs)
246
+ if resource_args is not None:
247
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
248
+ else:
249
+ __self__._internal_init(resource_name, *args, **kwargs)
250
+
251
+ def _internal_init(__self__,
252
+ resource_name: str,
253
+ opts: Optional[pulumi.ResourceOptions] = None,
254
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
255
+ region: Optional[pulumi.Input[_builtins.str]] = None,
256
+ target_bucket: Optional[pulumi.Input[_builtins.str]] = None,
257
+ target_prefix: Optional[pulumi.Input[_builtins.str]] = None,
258
+ __props__=None):
259
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
260
+ if not isinstance(opts, pulumi.ResourceOptions):
261
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
262
+ if opts.id is None:
263
+ if __props__ is not None:
264
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
265
+ __props__ = SpacesBucketLoggingArgs.__new__(SpacesBucketLoggingArgs)
266
+
267
+ if bucket is None and not opts.urn:
268
+ raise TypeError("Missing required property 'bucket'")
269
+ __props__.__dict__["bucket"] = bucket
270
+ if region is None and not opts.urn:
271
+ raise TypeError("Missing required property 'region'")
272
+ __props__.__dict__["region"] = region
273
+ if target_bucket is None and not opts.urn:
274
+ raise TypeError("Missing required property 'target_bucket'")
275
+ __props__.__dict__["target_bucket"] = target_bucket
276
+ if target_prefix is None and not opts.urn:
277
+ raise TypeError("Missing required property 'target_prefix'")
278
+ __props__.__dict__["target_prefix"] = target_prefix
279
+ super(SpacesBucketLogging, __self__).__init__(
280
+ 'digitalocean:index/spacesBucketLogging:SpacesBucketLogging',
281
+ resource_name,
282
+ __props__,
283
+ opts)
284
+
285
+ @staticmethod
286
+ def get(resource_name: str,
287
+ id: pulumi.Input[str],
288
+ opts: Optional[pulumi.ResourceOptions] = None,
289
+ bucket: Optional[pulumi.Input[_builtins.str]] = None,
290
+ region: Optional[pulumi.Input[_builtins.str]] = None,
291
+ target_bucket: Optional[pulumi.Input[_builtins.str]] = None,
292
+ target_prefix: Optional[pulumi.Input[_builtins.str]] = None) -> 'SpacesBucketLogging':
293
+ """
294
+ Get an existing SpacesBucketLogging resource's state with the given name, id, and optional extra
295
+ properties used to qualify the lookup.
296
+
297
+ :param str resource_name: The unique name of the resulting resource.
298
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
299
+ :param pulumi.ResourceOptions opts: Options for the resource.
300
+ :param pulumi.Input[_builtins.str] bucket: The name of the bucket which will be logged.
301
+ :param pulumi.Input[_builtins.str] region: The region where the bucket resides.
302
+ :param pulumi.Input[_builtins.str] target_bucket: The name of the bucket which will store the logs.
303
+ :param pulumi.Input[_builtins.str] target_prefix: The prefix for the log files.
304
+ """
305
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
306
+
307
+ __props__ = _SpacesBucketLoggingState.__new__(_SpacesBucketLoggingState)
308
+
309
+ __props__.__dict__["bucket"] = bucket
310
+ __props__.__dict__["region"] = region
311
+ __props__.__dict__["target_bucket"] = target_bucket
312
+ __props__.__dict__["target_prefix"] = target_prefix
313
+ return SpacesBucketLogging(resource_name, opts=opts, __props__=__props__)
314
+
315
+ @_builtins.property
316
+ @pulumi.getter
317
+ def bucket(self) -> pulumi.Output[_builtins.str]:
318
+ """
319
+ The name of the bucket which will be logged.
320
+ """
321
+ return pulumi.get(self, "bucket")
322
+
323
+ @_builtins.property
324
+ @pulumi.getter
325
+ def region(self) -> pulumi.Output[_builtins.str]:
326
+ """
327
+ The region where the bucket resides.
328
+ """
329
+ return pulumi.get(self, "region")
330
+
331
+ @_builtins.property
332
+ @pulumi.getter(name="targetBucket")
333
+ def target_bucket(self) -> pulumi.Output[_builtins.str]:
334
+ """
335
+ The name of the bucket which will store the logs.
336
+ """
337
+ return pulumi.get(self, "target_bucket")
338
+
339
+ @_builtins.property
340
+ @pulumi.getter(name="targetPrefix")
341
+ def target_prefix(self) -> pulumi.Output[_builtins.str]:
342
+ """
343
+ The prefix for the log files.
344
+ """
345
+ return pulumi.get(self, "target_prefix")
346
+