pulumiverse-scaleway 1.16.0__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 pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,888 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['ObjectBucketArgs', 'ObjectBucket']
20
+
21
+ @pulumi.input_type
22
+ class ObjectBucketArgs:
23
+ def __init__(__self__, *,
24
+ acl: Optional[pulumi.Input[str]] = None,
25
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]] = None,
26
+ force_destroy: Optional[pulumi.Input[bool]] = None,
27
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]] = None,
28
+ name: Optional[pulumi.Input[str]] = None,
29
+ object_lock_enabled: Optional[pulumi.Input[bool]] = None,
30
+ project_id: Optional[pulumi.Input[str]] = None,
31
+ region: Optional[pulumi.Input[str]] = None,
32
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
33
+ versioning: Optional[pulumi.Input['ObjectBucketVersioningArgs']] = None):
34
+ """
35
+ The set of arguments for constructing a ObjectBucket resource.
36
+ :param pulumi.Input[str] acl: (Deprecated) The canned ACL you want to apply to the bucket.
37
+ :param pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]] cors_rules: A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
38
+ :param pulumi.Input[bool] force_destroy: Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
39
+ :param pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]] lifecycle_rules: Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
40
+ :param pulumi.Input[str] name: The name of the bucket.
41
+ :param pulumi.Input[bool] object_lock_enabled: Enable object lock
42
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the bucket is associated with.
43
+
44
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
45
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
46
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
47
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags (key / value) for the bucket.
48
+
49
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
50
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
51
+ :param pulumi.Input['ObjectBucketVersioningArgs'] versioning: A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
52
+ """
53
+ if acl is not None:
54
+ warnings.warn("""ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""", DeprecationWarning)
55
+ pulumi.log.warn("""acl is deprecated: ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""")
56
+ if acl is not None:
57
+ pulumi.set(__self__, "acl", acl)
58
+ if cors_rules is not None:
59
+ pulumi.set(__self__, "cors_rules", cors_rules)
60
+ if force_destroy is not None:
61
+ pulumi.set(__self__, "force_destroy", force_destroy)
62
+ if lifecycle_rules is not None:
63
+ pulumi.set(__self__, "lifecycle_rules", lifecycle_rules)
64
+ if name is not None:
65
+ pulumi.set(__self__, "name", name)
66
+ if object_lock_enabled is not None:
67
+ pulumi.set(__self__, "object_lock_enabled", object_lock_enabled)
68
+ if project_id is not None:
69
+ pulumi.set(__self__, "project_id", project_id)
70
+ if region is not None:
71
+ pulumi.set(__self__, "region", region)
72
+ if tags is not None:
73
+ pulumi.set(__self__, "tags", tags)
74
+ if versioning is not None:
75
+ pulumi.set(__self__, "versioning", versioning)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ @_utilities.deprecated("""ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""")
80
+ def acl(self) -> Optional[pulumi.Input[str]]:
81
+ """
82
+ (Deprecated) The canned ACL you want to apply to the bucket.
83
+ """
84
+ return pulumi.get(self, "acl")
85
+
86
+ @acl.setter
87
+ def acl(self, value: Optional[pulumi.Input[str]]):
88
+ pulumi.set(self, "acl", value)
89
+
90
+ @property
91
+ @pulumi.getter(name="corsRules")
92
+ def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]]:
93
+ """
94
+ A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
95
+ """
96
+ return pulumi.get(self, "cors_rules")
97
+
98
+ @cors_rules.setter
99
+ def cors_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]]):
100
+ pulumi.set(self, "cors_rules", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="forceDestroy")
104
+ def force_destroy(self) -> Optional[pulumi.Input[bool]]:
105
+ """
106
+ Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
107
+ """
108
+ return pulumi.get(self, "force_destroy")
109
+
110
+ @force_destroy.setter
111
+ def force_destroy(self, value: Optional[pulumi.Input[bool]]):
112
+ pulumi.set(self, "force_destroy", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="lifecycleRules")
116
+ def lifecycle_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]]:
117
+ """
118
+ Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
119
+ """
120
+ return pulumi.get(self, "lifecycle_rules")
121
+
122
+ @lifecycle_rules.setter
123
+ def lifecycle_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]]):
124
+ pulumi.set(self, "lifecycle_rules", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def name(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ The name of the bucket.
131
+ """
132
+ return pulumi.get(self, "name")
133
+
134
+ @name.setter
135
+ def name(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "name", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="objectLockEnabled")
140
+ def object_lock_enabled(self) -> Optional[pulumi.Input[bool]]:
141
+ """
142
+ Enable object lock
143
+ """
144
+ return pulumi.get(self, "object_lock_enabled")
145
+
146
+ @object_lock_enabled.setter
147
+ def object_lock_enabled(self, value: Optional[pulumi.Input[bool]]):
148
+ pulumi.set(self, "object_lock_enabled", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="projectId")
152
+ def project_id(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ `project_id`) The ID of the project the bucket is associated with.
155
+
156
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
157
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
158
+ """
159
+ return pulumi.get(self, "project_id")
160
+
161
+ @project_id.setter
162
+ def project_id(self, value: Optional[pulumi.Input[str]]):
163
+ pulumi.set(self, "project_id", value)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def region(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
170
+ """
171
+ return pulumi.get(self, "region")
172
+
173
+ @region.setter
174
+ def region(self, value: Optional[pulumi.Input[str]]):
175
+ pulumi.set(self, "region", value)
176
+
177
+ @property
178
+ @pulumi.getter
179
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
180
+ """
181
+ A list of tags (key / value) for the bucket.
182
+
183
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
184
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
185
+ """
186
+ return pulumi.get(self, "tags")
187
+
188
+ @tags.setter
189
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
190
+ pulumi.set(self, "tags", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def versioning(self) -> Optional[pulumi.Input['ObjectBucketVersioningArgs']]:
195
+ """
196
+ A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
197
+ """
198
+ return pulumi.get(self, "versioning")
199
+
200
+ @versioning.setter
201
+ def versioning(self, value: Optional[pulumi.Input['ObjectBucketVersioningArgs']]):
202
+ pulumi.set(self, "versioning", value)
203
+
204
+
205
+ @pulumi.input_type
206
+ class _ObjectBucketState:
207
+ def __init__(__self__, *,
208
+ acl: Optional[pulumi.Input[str]] = None,
209
+ api_endpoint: Optional[pulumi.Input[str]] = None,
210
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]] = None,
211
+ endpoint: Optional[pulumi.Input[str]] = None,
212
+ force_destroy: Optional[pulumi.Input[bool]] = None,
213
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]] = None,
214
+ name: Optional[pulumi.Input[str]] = None,
215
+ object_lock_enabled: Optional[pulumi.Input[bool]] = None,
216
+ project_id: Optional[pulumi.Input[str]] = None,
217
+ region: Optional[pulumi.Input[str]] = None,
218
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
219
+ versioning: Optional[pulumi.Input['ObjectBucketVersioningArgs']] = None):
220
+ """
221
+ Input properties used for looking up and filtering ObjectBucket resources.
222
+ :param pulumi.Input[str] acl: (Deprecated) The canned ACL you want to apply to the bucket.
223
+ :param pulumi.Input[str] api_endpoint: API URL of the bucket
224
+ :param pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]] cors_rules: A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
225
+ :param pulumi.Input[str] endpoint: The endpoint URL of the bucket
226
+ :param pulumi.Input[bool] force_destroy: Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
227
+ :param pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]] lifecycle_rules: Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
228
+ :param pulumi.Input[str] name: The name of the bucket.
229
+ :param pulumi.Input[bool] object_lock_enabled: Enable object lock
230
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the bucket is associated with.
231
+
232
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
233
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
234
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
235
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags (key / value) for the bucket.
236
+
237
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
238
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
239
+ :param pulumi.Input['ObjectBucketVersioningArgs'] versioning: A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
240
+ """
241
+ if acl is not None:
242
+ warnings.warn("""ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""", DeprecationWarning)
243
+ pulumi.log.warn("""acl is deprecated: ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""")
244
+ if acl is not None:
245
+ pulumi.set(__self__, "acl", acl)
246
+ if api_endpoint is not None:
247
+ pulumi.set(__self__, "api_endpoint", api_endpoint)
248
+ if cors_rules is not None:
249
+ pulumi.set(__self__, "cors_rules", cors_rules)
250
+ if endpoint is not None:
251
+ pulumi.set(__self__, "endpoint", endpoint)
252
+ if force_destroy is not None:
253
+ pulumi.set(__self__, "force_destroy", force_destroy)
254
+ if lifecycle_rules is not None:
255
+ pulumi.set(__self__, "lifecycle_rules", lifecycle_rules)
256
+ if name is not None:
257
+ pulumi.set(__self__, "name", name)
258
+ if object_lock_enabled is not None:
259
+ pulumi.set(__self__, "object_lock_enabled", object_lock_enabled)
260
+ if project_id is not None:
261
+ pulumi.set(__self__, "project_id", project_id)
262
+ if region is not None:
263
+ pulumi.set(__self__, "region", region)
264
+ if tags is not None:
265
+ pulumi.set(__self__, "tags", tags)
266
+ if versioning is not None:
267
+ pulumi.set(__self__, "versioning", versioning)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ @_utilities.deprecated("""ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""")
272
+ def acl(self) -> Optional[pulumi.Input[str]]:
273
+ """
274
+ (Deprecated) The canned ACL you want to apply to the bucket.
275
+ """
276
+ return pulumi.get(self, "acl")
277
+
278
+ @acl.setter
279
+ def acl(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "acl", value)
281
+
282
+ @property
283
+ @pulumi.getter(name="apiEndpoint")
284
+ def api_endpoint(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ API URL of the bucket
287
+ """
288
+ return pulumi.get(self, "api_endpoint")
289
+
290
+ @api_endpoint.setter
291
+ def api_endpoint(self, value: Optional[pulumi.Input[str]]):
292
+ pulumi.set(self, "api_endpoint", value)
293
+
294
+ @property
295
+ @pulumi.getter(name="corsRules")
296
+ def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]]:
297
+ """
298
+ A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
299
+ """
300
+ return pulumi.get(self, "cors_rules")
301
+
302
+ @cors_rules.setter
303
+ def cors_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketCorsRuleArgs']]]]):
304
+ pulumi.set(self, "cors_rules", value)
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
309
+ """
310
+ The endpoint URL of the bucket
311
+ """
312
+ return pulumi.get(self, "endpoint")
313
+
314
+ @endpoint.setter
315
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
316
+ pulumi.set(self, "endpoint", value)
317
+
318
+ @property
319
+ @pulumi.getter(name="forceDestroy")
320
+ def force_destroy(self) -> Optional[pulumi.Input[bool]]:
321
+ """
322
+ Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
323
+ """
324
+ return pulumi.get(self, "force_destroy")
325
+
326
+ @force_destroy.setter
327
+ def force_destroy(self, value: Optional[pulumi.Input[bool]]):
328
+ pulumi.set(self, "force_destroy", value)
329
+
330
+ @property
331
+ @pulumi.getter(name="lifecycleRules")
332
+ def lifecycle_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]]:
333
+ """
334
+ Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
335
+ """
336
+ return pulumi.get(self, "lifecycle_rules")
337
+
338
+ @lifecycle_rules.setter
339
+ def lifecycle_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ObjectBucketLifecycleRuleArgs']]]]):
340
+ pulumi.set(self, "lifecycle_rules", value)
341
+
342
+ @property
343
+ @pulumi.getter
344
+ def name(self) -> Optional[pulumi.Input[str]]:
345
+ """
346
+ The name of the bucket.
347
+ """
348
+ return pulumi.get(self, "name")
349
+
350
+ @name.setter
351
+ def name(self, value: Optional[pulumi.Input[str]]):
352
+ pulumi.set(self, "name", value)
353
+
354
+ @property
355
+ @pulumi.getter(name="objectLockEnabled")
356
+ def object_lock_enabled(self) -> Optional[pulumi.Input[bool]]:
357
+ """
358
+ Enable object lock
359
+ """
360
+ return pulumi.get(self, "object_lock_enabled")
361
+
362
+ @object_lock_enabled.setter
363
+ def object_lock_enabled(self, value: Optional[pulumi.Input[bool]]):
364
+ pulumi.set(self, "object_lock_enabled", value)
365
+
366
+ @property
367
+ @pulumi.getter(name="projectId")
368
+ def project_id(self) -> Optional[pulumi.Input[str]]:
369
+ """
370
+ `project_id`) The ID of the project the bucket is associated with.
371
+
372
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
373
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
374
+ """
375
+ return pulumi.get(self, "project_id")
376
+
377
+ @project_id.setter
378
+ def project_id(self, value: Optional[pulumi.Input[str]]):
379
+ pulumi.set(self, "project_id", value)
380
+
381
+ @property
382
+ @pulumi.getter
383
+ def region(self) -> Optional[pulumi.Input[str]]:
384
+ """
385
+ The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
386
+ """
387
+ return pulumi.get(self, "region")
388
+
389
+ @region.setter
390
+ def region(self, value: Optional[pulumi.Input[str]]):
391
+ pulumi.set(self, "region", value)
392
+
393
+ @property
394
+ @pulumi.getter
395
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
396
+ """
397
+ A list of tags (key / value) for the bucket.
398
+
399
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
400
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
401
+ """
402
+ return pulumi.get(self, "tags")
403
+
404
+ @tags.setter
405
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
406
+ pulumi.set(self, "tags", value)
407
+
408
+ @property
409
+ @pulumi.getter
410
+ def versioning(self) -> Optional[pulumi.Input['ObjectBucketVersioningArgs']]:
411
+ """
412
+ A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
413
+ """
414
+ return pulumi.get(self, "versioning")
415
+
416
+ @versioning.setter
417
+ def versioning(self, value: Optional[pulumi.Input['ObjectBucketVersioningArgs']]):
418
+ pulumi.set(self, "versioning", value)
419
+
420
+
421
+ class ObjectBucket(pulumi.CustomResource):
422
+ @overload
423
+ def __init__(__self__,
424
+ resource_name: str,
425
+ opts: Optional[pulumi.ResourceOptions] = None,
426
+ acl: Optional[pulumi.Input[str]] = None,
427
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketCorsRuleArgs', 'ObjectBucketCorsRuleArgsDict']]]]] = None,
428
+ force_destroy: Optional[pulumi.Input[bool]] = None,
429
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketLifecycleRuleArgs', 'ObjectBucketLifecycleRuleArgsDict']]]]] = None,
430
+ name: Optional[pulumi.Input[str]] = None,
431
+ object_lock_enabled: Optional[pulumi.Input[bool]] = None,
432
+ project_id: Optional[pulumi.Input[str]] = None,
433
+ region: Optional[pulumi.Input[str]] = None,
434
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
435
+ versioning: Optional[pulumi.Input[Union['ObjectBucketVersioningArgs', 'ObjectBucketVersioningArgsDict']]] = None,
436
+ __props__=None):
437
+ """
438
+ Creates and manages Scaleway object storage buckets.
439
+ For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).
440
+
441
+ ## Example Usage
442
+
443
+ ```python
444
+ import pulumi
445
+ import pulumiverse_scaleway as scaleway
446
+
447
+ some_bucket = scaleway.ObjectBucket("some_bucket",
448
+ name="some-unique-name",
449
+ tags={
450
+ "key": "value",
451
+ })
452
+ ```
453
+
454
+ ### Creating the bucket in a specific project
455
+
456
+ ```python
457
+ import pulumi
458
+ import pulumiverse_scaleway as scaleway
459
+
460
+ some_bucket = scaleway.ObjectBucket("some_bucket",
461
+ name="some-unique-name",
462
+ project_id="11111111-1111-1111-1111-111111111111")
463
+ ```
464
+
465
+ ### Using object lifecycle
466
+
467
+ ```python
468
+ import pulumi
469
+ import pulumiverse_scaleway as scaleway
470
+
471
+ main = scaleway.ObjectBucket("main",
472
+ name="mybuckectid",
473
+ region="fr-par",
474
+ lifecycle_rules=[
475
+ {
476
+ "id": "id1",
477
+ "prefix": "path1/",
478
+ "enabled": True,
479
+ "expiration": {
480
+ "days": 365,
481
+ },
482
+ "transitions": [{
483
+ "days": 120,
484
+ "storage_class": "GLACIER",
485
+ }],
486
+ },
487
+ {
488
+ "id": "id2",
489
+ "prefix": "path2/",
490
+ "enabled": True,
491
+ "expiration": {
492
+ "days": 50,
493
+ },
494
+ },
495
+ {
496
+ "id": "id3",
497
+ "prefix": "path3/",
498
+ "enabled": False,
499
+ "tags": {
500
+ "tag_key": "tagValue",
501
+ "terraform": "hashicorp",
502
+ },
503
+ "expiration": {
504
+ "days": 1,
505
+ },
506
+ },
507
+ {
508
+ "id": "id4",
509
+ "enabled": True,
510
+ "tags": {
511
+ "tag1": "value1",
512
+ },
513
+ "transitions": [{
514
+ "days": 1,
515
+ "storage_class": "GLACIER",
516
+ }],
517
+ },
518
+ {
519
+ "enabled": True,
520
+ "abort_incomplete_multipart_upload_days": 30,
521
+ },
522
+ ])
523
+ ```
524
+
525
+ ## Import
526
+
527
+ Buckets can be imported using the `{region}/{bucketName}` identifier, e.g.
528
+
529
+ bash
530
+
531
+ ```sh
532
+ $ pulumi import scaleway:index/objectBucket:ObjectBucket some_bucket fr-par/some-bucket
533
+ ```
534
+
535
+ If you are importing a bucket from a specific project (that is not your default project), you can use the following syntax:
536
+
537
+ bash
538
+
539
+ ```sh
540
+ $ pulumi import scaleway:index/objectBucket:ObjectBucket some_bucket fr-par/some-bucket@11111111-1111-1111-1111-111111111111
541
+ ```
542
+
543
+ :param str resource_name: The name of the resource.
544
+ :param pulumi.ResourceOptions opts: Options for the resource.
545
+ :param pulumi.Input[str] acl: (Deprecated) The canned ACL you want to apply to the bucket.
546
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketCorsRuleArgs', 'ObjectBucketCorsRuleArgsDict']]]] cors_rules: A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
547
+ :param pulumi.Input[bool] force_destroy: Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
548
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketLifecycleRuleArgs', 'ObjectBucketLifecycleRuleArgsDict']]]] lifecycle_rules: Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
549
+ :param pulumi.Input[str] name: The name of the bucket.
550
+ :param pulumi.Input[bool] object_lock_enabled: Enable object lock
551
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the bucket is associated with.
552
+
553
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
554
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
555
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
556
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags (key / value) for the bucket.
557
+
558
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
559
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
560
+ :param pulumi.Input[Union['ObjectBucketVersioningArgs', 'ObjectBucketVersioningArgsDict']] versioning: A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
561
+ """
562
+ ...
563
+ @overload
564
+ def __init__(__self__,
565
+ resource_name: str,
566
+ args: Optional[ObjectBucketArgs] = None,
567
+ opts: Optional[pulumi.ResourceOptions] = None):
568
+ """
569
+ Creates and manages Scaleway object storage buckets.
570
+ For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).
571
+
572
+ ## Example Usage
573
+
574
+ ```python
575
+ import pulumi
576
+ import pulumiverse_scaleway as scaleway
577
+
578
+ some_bucket = scaleway.ObjectBucket("some_bucket",
579
+ name="some-unique-name",
580
+ tags={
581
+ "key": "value",
582
+ })
583
+ ```
584
+
585
+ ### Creating the bucket in a specific project
586
+
587
+ ```python
588
+ import pulumi
589
+ import pulumiverse_scaleway as scaleway
590
+
591
+ some_bucket = scaleway.ObjectBucket("some_bucket",
592
+ name="some-unique-name",
593
+ project_id="11111111-1111-1111-1111-111111111111")
594
+ ```
595
+
596
+ ### Using object lifecycle
597
+
598
+ ```python
599
+ import pulumi
600
+ import pulumiverse_scaleway as scaleway
601
+
602
+ main = scaleway.ObjectBucket("main",
603
+ name="mybuckectid",
604
+ region="fr-par",
605
+ lifecycle_rules=[
606
+ {
607
+ "id": "id1",
608
+ "prefix": "path1/",
609
+ "enabled": True,
610
+ "expiration": {
611
+ "days": 365,
612
+ },
613
+ "transitions": [{
614
+ "days": 120,
615
+ "storage_class": "GLACIER",
616
+ }],
617
+ },
618
+ {
619
+ "id": "id2",
620
+ "prefix": "path2/",
621
+ "enabled": True,
622
+ "expiration": {
623
+ "days": 50,
624
+ },
625
+ },
626
+ {
627
+ "id": "id3",
628
+ "prefix": "path3/",
629
+ "enabled": False,
630
+ "tags": {
631
+ "tag_key": "tagValue",
632
+ "terraform": "hashicorp",
633
+ },
634
+ "expiration": {
635
+ "days": 1,
636
+ },
637
+ },
638
+ {
639
+ "id": "id4",
640
+ "enabled": True,
641
+ "tags": {
642
+ "tag1": "value1",
643
+ },
644
+ "transitions": [{
645
+ "days": 1,
646
+ "storage_class": "GLACIER",
647
+ }],
648
+ },
649
+ {
650
+ "enabled": True,
651
+ "abort_incomplete_multipart_upload_days": 30,
652
+ },
653
+ ])
654
+ ```
655
+
656
+ ## Import
657
+
658
+ Buckets can be imported using the `{region}/{bucketName}` identifier, e.g.
659
+
660
+ bash
661
+
662
+ ```sh
663
+ $ pulumi import scaleway:index/objectBucket:ObjectBucket some_bucket fr-par/some-bucket
664
+ ```
665
+
666
+ If you are importing a bucket from a specific project (that is not your default project), you can use the following syntax:
667
+
668
+ bash
669
+
670
+ ```sh
671
+ $ pulumi import scaleway:index/objectBucket:ObjectBucket some_bucket fr-par/some-bucket@11111111-1111-1111-1111-111111111111
672
+ ```
673
+
674
+ :param str resource_name: The name of the resource.
675
+ :param ObjectBucketArgs args: The arguments to use to populate this resource's properties.
676
+ :param pulumi.ResourceOptions opts: Options for the resource.
677
+ """
678
+ ...
679
+ def __init__(__self__, resource_name: str, *args, **kwargs):
680
+ resource_args, opts = _utilities.get_resource_args_opts(ObjectBucketArgs, pulumi.ResourceOptions, *args, **kwargs)
681
+ if resource_args is not None:
682
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
683
+ else:
684
+ __self__._internal_init(resource_name, *args, **kwargs)
685
+
686
+ def _internal_init(__self__,
687
+ resource_name: str,
688
+ opts: Optional[pulumi.ResourceOptions] = None,
689
+ acl: Optional[pulumi.Input[str]] = None,
690
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketCorsRuleArgs', 'ObjectBucketCorsRuleArgsDict']]]]] = None,
691
+ force_destroy: Optional[pulumi.Input[bool]] = None,
692
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketLifecycleRuleArgs', 'ObjectBucketLifecycleRuleArgsDict']]]]] = None,
693
+ name: Optional[pulumi.Input[str]] = None,
694
+ object_lock_enabled: Optional[pulumi.Input[bool]] = None,
695
+ project_id: Optional[pulumi.Input[str]] = None,
696
+ region: Optional[pulumi.Input[str]] = None,
697
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
698
+ versioning: Optional[pulumi.Input[Union['ObjectBucketVersioningArgs', 'ObjectBucketVersioningArgsDict']]] = None,
699
+ __props__=None):
700
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
701
+ if not isinstance(opts, pulumi.ResourceOptions):
702
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
703
+ if opts.id is None:
704
+ if __props__ is not None:
705
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
706
+ __props__ = ObjectBucketArgs.__new__(ObjectBucketArgs)
707
+
708
+ __props__.__dict__["acl"] = acl
709
+ __props__.__dict__["cors_rules"] = cors_rules
710
+ __props__.__dict__["force_destroy"] = force_destroy
711
+ __props__.__dict__["lifecycle_rules"] = lifecycle_rules
712
+ __props__.__dict__["name"] = name
713
+ __props__.__dict__["object_lock_enabled"] = object_lock_enabled
714
+ __props__.__dict__["project_id"] = project_id
715
+ __props__.__dict__["region"] = region
716
+ __props__.__dict__["tags"] = tags
717
+ __props__.__dict__["versioning"] = versioning
718
+ __props__.__dict__["api_endpoint"] = None
719
+ __props__.__dict__["endpoint"] = None
720
+ super(ObjectBucket, __self__).__init__(
721
+ 'scaleway:index/objectBucket:ObjectBucket',
722
+ resource_name,
723
+ __props__,
724
+ opts)
725
+
726
+ @staticmethod
727
+ def get(resource_name: str,
728
+ id: pulumi.Input[str],
729
+ opts: Optional[pulumi.ResourceOptions] = None,
730
+ acl: Optional[pulumi.Input[str]] = None,
731
+ api_endpoint: Optional[pulumi.Input[str]] = None,
732
+ cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketCorsRuleArgs', 'ObjectBucketCorsRuleArgsDict']]]]] = None,
733
+ endpoint: Optional[pulumi.Input[str]] = None,
734
+ force_destroy: Optional[pulumi.Input[bool]] = None,
735
+ lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketLifecycleRuleArgs', 'ObjectBucketLifecycleRuleArgsDict']]]]] = None,
736
+ name: Optional[pulumi.Input[str]] = None,
737
+ object_lock_enabled: Optional[pulumi.Input[bool]] = None,
738
+ project_id: Optional[pulumi.Input[str]] = None,
739
+ region: Optional[pulumi.Input[str]] = None,
740
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
741
+ versioning: Optional[pulumi.Input[Union['ObjectBucketVersioningArgs', 'ObjectBucketVersioningArgsDict']]] = None) -> 'ObjectBucket':
742
+ """
743
+ Get an existing ObjectBucket resource's state with the given name, id, and optional extra
744
+ properties used to qualify the lookup.
745
+
746
+ :param str resource_name: The unique name of the resulting resource.
747
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
748
+ :param pulumi.ResourceOptions opts: Options for the resource.
749
+ :param pulumi.Input[str] acl: (Deprecated) The canned ACL you want to apply to the bucket.
750
+ :param pulumi.Input[str] api_endpoint: API URL of the bucket
751
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketCorsRuleArgs', 'ObjectBucketCorsRuleArgsDict']]]] cors_rules: A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
752
+ :param pulumi.Input[str] endpoint: The endpoint URL of the bucket
753
+ :param pulumi.Input[bool] force_destroy: Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
754
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ObjectBucketLifecycleRuleArgs', 'ObjectBucketLifecycleRuleArgsDict']]]] lifecycle_rules: Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
755
+ :param pulumi.Input[str] name: The name of the bucket.
756
+ :param pulumi.Input[bool] object_lock_enabled: Enable object lock
757
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the bucket is associated with.
758
+
759
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
760
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
761
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
762
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags (key / value) for the bucket.
763
+
764
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
765
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
766
+ :param pulumi.Input[Union['ObjectBucketVersioningArgs', 'ObjectBucketVersioningArgsDict']] versioning: A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
767
+ """
768
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
769
+
770
+ __props__ = _ObjectBucketState.__new__(_ObjectBucketState)
771
+
772
+ __props__.__dict__["acl"] = acl
773
+ __props__.__dict__["api_endpoint"] = api_endpoint
774
+ __props__.__dict__["cors_rules"] = cors_rules
775
+ __props__.__dict__["endpoint"] = endpoint
776
+ __props__.__dict__["force_destroy"] = force_destroy
777
+ __props__.__dict__["lifecycle_rules"] = lifecycle_rules
778
+ __props__.__dict__["name"] = name
779
+ __props__.__dict__["object_lock_enabled"] = object_lock_enabled
780
+ __props__.__dict__["project_id"] = project_id
781
+ __props__.__dict__["region"] = region
782
+ __props__.__dict__["tags"] = tags
783
+ __props__.__dict__["versioning"] = versioning
784
+ return ObjectBucket(resource_name, opts=opts, __props__=__props__)
785
+
786
+ @property
787
+ @pulumi.getter
788
+ @_utilities.deprecated("""ACL attribute is deprecated. Please use the resource ObjectBucketAcl instead.""")
789
+ def acl(self) -> pulumi.Output[Optional[str]]:
790
+ """
791
+ (Deprecated) The canned ACL you want to apply to the bucket.
792
+ """
793
+ return pulumi.get(self, "acl")
794
+
795
+ @property
796
+ @pulumi.getter(name="apiEndpoint")
797
+ def api_endpoint(self) -> pulumi.Output[str]:
798
+ """
799
+ API URL of the bucket
800
+ """
801
+ return pulumi.get(self, "api_endpoint")
802
+
803
+ @property
804
+ @pulumi.getter(name="corsRules")
805
+ def cors_rules(self) -> pulumi.Output[Optional[Sequence['outputs.ObjectBucketCorsRule']]]:
806
+ """
807
+ A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
808
+ """
809
+ return pulumi.get(self, "cors_rules")
810
+
811
+ @property
812
+ @pulumi.getter
813
+ def endpoint(self) -> pulumi.Output[str]:
814
+ """
815
+ The endpoint URL of the bucket
816
+ """
817
+ return pulumi.get(self, "endpoint")
818
+
819
+ @property
820
+ @pulumi.getter(name="forceDestroy")
821
+ def force_destroy(self) -> pulumi.Output[Optional[bool]]:
822
+ """
823
+ Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
824
+ """
825
+ return pulumi.get(self, "force_destroy")
826
+
827
+ @property
828
+ @pulumi.getter(name="lifecycleRules")
829
+ def lifecycle_rules(self) -> pulumi.Output[Optional[Sequence['outputs.ObjectBucketLifecycleRule']]]:
830
+ """
831
+ Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
832
+ """
833
+ return pulumi.get(self, "lifecycle_rules")
834
+
835
+ @property
836
+ @pulumi.getter
837
+ def name(self) -> pulumi.Output[str]:
838
+ """
839
+ The name of the bucket.
840
+ """
841
+ return pulumi.get(self, "name")
842
+
843
+ @property
844
+ @pulumi.getter(name="objectLockEnabled")
845
+ def object_lock_enabled(self) -> pulumi.Output[Optional[bool]]:
846
+ """
847
+ Enable object lock
848
+ """
849
+ return pulumi.get(self, "object_lock_enabled")
850
+
851
+ @property
852
+ @pulumi.getter(name="projectId")
853
+ def project_id(self) -> pulumi.Output[str]:
854
+ """
855
+ `project_id`) The ID of the project the bucket is associated with.
856
+
857
+ The `acl` attribute is deprecated. See ObjectBucketAcl resource documentation.
858
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
859
+ """
860
+ return pulumi.get(self, "project_id")
861
+
862
+ @property
863
+ @pulumi.getter
864
+ def region(self) -> pulumi.Output[str]:
865
+ """
866
+ The [region](https://www.scaleway.com/en/developers/api/#region-definition) in which the bucket should be created.
867
+ """
868
+ return pulumi.get(self, "region")
869
+
870
+ @property
871
+ @pulumi.getter
872
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
873
+ """
874
+ A list of tags (key / value) for the bucket.
875
+
876
+ * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
877
+ Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
878
+ """
879
+ return pulumi.get(self, "tags")
880
+
881
+ @property
882
+ @pulumi.getter
883
+ def versioning(self) -> pulumi.Output['outputs.ObjectBucketVersioning']:
884
+ """
885
+ A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
886
+ """
887
+ return pulumi.get(self, "versioning")
888
+