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,592 @@
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__ = ['ObjectBucketAclArgs', 'ObjectBucketAcl']
20
+
21
+ @pulumi.input_type
22
+ class ObjectBucketAclArgs:
23
+ def __init__(__self__, *,
24
+ bucket: pulumi.Input[str],
25
+ access_control_policy: Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']] = None,
26
+ acl: Optional[pulumi.Input[str]] = None,
27
+ expected_bucket_owner: Optional[pulumi.Input[str]] = None,
28
+ project_id: Optional[pulumi.Input[str]] = None,
29
+ region: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a ObjectBucketAcl resource.
32
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
33
+ :param pulumi.Input['ObjectBucketAclAccessControlPolicyArgs'] access_control_policy: A configuration block that sets the ACL permissions for an object per grantee documented below.
34
+ :param pulumi.Input[str] acl: The canned ACL you want to apply to the bucket.
35
+ :param pulumi.Input[str] expected_bucket_owner: The project ID of the expected bucket owner.
36
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
37
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
38
+ """
39
+ pulumi.set(__self__, "bucket", bucket)
40
+ if access_control_policy is not None:
41
+ pulumi.set(__self__, "access_control_policy", access_control_policy)
42
+ if acl is not None:
43
+ pulumi.set(__self__, "acl", acl)
44
+ if expected_bucket_owner is not None:
45
+ pulumi.set(__self__, "expected_bucket_owner", expected_bucket_owner)
46
+ if project_id is not None:
47
+ pulumi.set(__self__, "project_id", project_id)
48
+ if region is not None:
49
+ pulumi.set(__self__, "region", region)
50
+
51
+ @property
52
+ @pulumi.getter
53
+ def bucket(self) -> pulumi.Input[str]:
54
+ """
55
+ The bucket's name or regional ID.
56
+ """
57
+ return pulumi.get(self, "bucket")
58
+
59
+ @bucket.setter
60
+ def bucket(self, value: pulumi.Input[str]):
61
+ pulumi.set(self, "bucket", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="accessControlPolicy")
65
+ def access_control_policy(self) -> Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']]:
66
+ """
67
+ A configuration block that sets the ACL permissions for an object per grantee documented below.
68
+ """
69
+ return pulumi.get(self, "access_control_policy")
70
+
71
+ @access_control_policy.setter
72
+ def access_control_policy(self, value: Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']]):
73
+ pulumi.set(self, "access_control_policy", value)
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def acl(self) -> Optional[pulumi.Input[str]]:
78
+ """
79
+ The canned ACL you want to apply to the bucket.
80
+ """
81
+ return pulumi.get(self, "acl")
82
+
83
+ @acl.setter
84
+ def acl(self, value: Optional[pulumi.Input[str]]):
85
+ pulumi.set(self, "acl", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="expectedBucketOwner")
89
+ def expected_bucket_owner(self) -> Optional[pulumi.Input[str]]:
90
+ """
91
+ The project ID of the expected bucket owner.
92
+ """
93
+ return pulumi.get(self, "expected_bucket_owner")
94
+
95
+ @expected_bucket_owner.setter
96
+ def expected_bucket_owner(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "expected_bucket_owner", value)
98
+
99
+ @property
100
+ @pulumi.getter(name="projectId")
101
+ def project_id(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ The project_id you want to attach the resource to
104
+ """
105
+ return pulumi.get(self, "project_id")
106
+
107
+ @project_id.setter
108
+ def project_id(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "project_id", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def region(self) -> Optional[pulumi.Input[str]]:
114
+ """
115
+ The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
116
+ """
117
+ return pulumi.get(self, "region")
118
+
119
+ @region.setter
120
+ def region(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "region", value)
122
+
123
+
124
+ @pulumi.input_type
125
+ class _ObjectBucketAclState:
126
+ def __init__(__self__, *,
127
+ access_control_policy: Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']] = None,
128
+ acl: Optional[pulumi.Input[str]] = None,
129
+ bucket: Optional[pulumi.Input[str]] = None,
130
+ expected_bucket_owner: Optional[pulumi.Input[str]] = None,
131
+ project_id: Optional[pulumi.Input[str]] = None,
132
+ region: Optional[pulumi.Input[str]] = None):
133
+ """
134
+ Input properties used for looking up and filtering ObjectBucketAcl resources.
135
+ :param pulumi.Input['ObjectBucketAclAccessControlPolicyArgs'] access_control_policy: A configuration block that sets the ACL permissions for an object per grantee documented below.
136
+ :param pulumi.Input[str] acl: The canned ACL you want to apply to the bucket.
137
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
138
+ :param pulumi.Input[str] expected_bucket_owner: The project ID of the expected bucket owner.
139
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
140
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
141
+ """
142
+ if access_control_policy is not None:
143
+ pulumi.set(__self__, "access_control_policy", access_control_policy)
144
+ if acl is not None:
145
+ pulumi.set(__self__, "acl", acl)
146
+ if bucket is not None:
147
+ pulumi.set(__self__, "bucket", bucket)
148
+ if expected_bucket_owner is not None:
149
+ pulumi.set(__self__, "expected_bucket_owner", expected_bucket_owner)
150
+ if project_id is not None:
151
+ pulumi.set(__self__, "project_id", project_id)
152
+ if region is not None:
153
+ pulumi.set(__self__, "region", region)
154
+
155
+ @property
156
+ @pulumi.getter(name="accessControlPolicy")
157
+ def access_control_policy(self) -> Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']]:
158
+ """
159
+ A configuration block that sets the ACL permissions for an object per grantee documented below.
160
+ """
161
+ return pulumi.get(self, "access_control_policy")
162
+
163
+ @access_control_policy.setter
164
+ def access_control_policy(self, value: Optional[pulumi.Input['ObjectBucketAclAccessControlPolicyArgs']]):
165
+ pulumi.set(self, "access_control_policy", value)
166
+
167
+ @property
168
+ @pulumi.getter
169
+ def acl(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The canned ACL you want to apply to the bucket.
172
+ """
173
+ return pulumi.get(self, "acl")
174
+
175
+ @acl.setter
176
+ def acl(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "acl", value)
178
+
179
+ @property
180
+ @pulumi.getter
181
+ def bucket(self) -> Optional[pulumi.Input[str]]:
182
+ """
183
+ The bucket's name or regional ID.
184
+ """
185
+ return pulumi.get(self, "bucket")
186
+
187
+ @bucket.setter
188
+ def bucket(self, value: Optional[pulumi.Input[str]]):
189
+ pulumi.set(self, "bucket", value)
190
+
191
+ @property
192
+ @pulumi.getter(name="expectedBucketOwner")
193
+ def expected_bucket_owner(self) -> Optional[pulumi.Input[str]]:
194
+ """
195
+ The project ID of the expected bucket owner.
196
+ """
197
+ return pulumi.get(self, "expected_bucket_owner")
198
+
199
+ @expected_bucket_owner.setter
200
+ def expected_bucket_owner(self, value: Optional[pulumi.Input[str]]):
201
+ pulumi.set(self, "expected_bucket_owner", value)
202
+
203
+ @property
204
+ @pulumi.getter(name="projectId")
205
+ def project_id(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The project_id you want to attach the resource to
208
+ """
209
+ return pulumi.get(self, "project_id")
210
+
211
+ @project_id.setter
212
+ def project_id(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "project_id", value)
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def region(self) -> Optional[pulumi.Input[str]]:
218
+ """
219
+ The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
220
+ """
221
+ return pulumi.get(self, "region")
222
+
223
+ @region.setter
224
+ def region(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "region", value)
226
+
227
+
228
+ class ObjectBucketAcl(pulumi.CustomResource):
229
+ @overload
230
+ def __init__(__self__,
231
+ resource_name: str,
232
+ opts: Optional[pulumi.ResourceOptions] = None,
233
+ access_control_policy: Optional[pulumi.Input[Union['ObjectBucketAclAccessControlPolicyArgs', 'ObjectBucketAclAccessControlPolicyArgsDict']]] = None,
234
+ acl: Optional[pulumi.Input[str]] = None,
235
+ bucket: Optional[pulumi.Input[str]] = None,
236
+ expected_bucket_owner: Optional[pulumi.Input[str]] = None,
237
+ project_id: Optional[pulumi.Input[str]] = None,
238
+ region: Optional[pulumi.Input[str]] = None,
239
+ __props__=None):
240
+ """
241
+ ## Example Usage
242
+
243
+ ```python
244
+ import pulumi
245
+ import pulumiverse_scaleway as scaleway
246
+
247
+ some_bucket = scaleway.ObjectBucket("some_bucket", name="some-unique-name")
248
+ main = scaleway.ObjectBucketAcl("main",
249
+ bucket=main_scaleway_object_bucket["id"],
250
+ acl="private")
251
+ ```
252
+
253
+ ### With Grants
254
+
255
+ ```python
256
+ import pulumi
257
+ import pulumiverse_scaleway as scaleway
258
+
259
+ main = scaleway.ObjectBucket("main", name="your-bucket")
260
+ main_object_bucket_acl = scaleway.ObjectBucketAcl("main",
261
+ bucket=main.id,
262
+ access_control_policy={
263
+ "grants": [
264
+ {
265
+ "grantee": {
266
+ "id": "<project-id>:<project-id>",
267
+ "type": "CanonicalUser",
268
+ },
269
+ "permission": "FULL_CONTROL",
270
+ },
271
+ {
272
+ "grantee": {
273
+ "id": "<project-id>",
274
+ "type": "CanonicalUser",
275
+ },
276
+ "permission": "WRITE",
277
+ },
278
+ ],
279
+ "owner": {
280
+ "id": "<project-id>",
281
+ },
282
+ })
283
+ ```
284
+
285
+ ## The ACL
286
+
287
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl)
288
+
289
+ ## The Access Control policy
290
+
291
+ The `access_control_policy` configuration block supports the following arguments:
292
+
293
+ * `grant` - (Required) Set of grant configuration blocks documented below.
294
+ * `owner` - (Required) Configuration block of the bucket owner's display name and ID documented below.
295
+
296
+ ## The Grant
297
+
298
+ The `grant` configuration block supports the following arguments:
299
+
300
+ * `grantee` - (Required) Configuration block for the project being granted permissions documented below.
301
+ * `permission` - (Required) Logging permissions assigned to the grantee for the bucket.
302
+
303
+ ## The permission
304
+
305
+ The following list shows each access policy permissions supported.
306
+
307
+ `READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`
308
+
309
+ For more information about ACL permissions in the S3 bucket, see [ACL permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html).
310
+
311
+ ## The owner
312
+
313
+ The `owner` configuration block supports the following arguments:
314
+
315
+ * `id` - (Required) The ID of the project owner.
316
+ * `display_name` - (Optional) The display name of the owner.
317
+
318
+ ## the grantee
319
+
320
+ The `grantee` configuration block supports the following arguments:
321
+
322
+ * `id` - (Required) The canonical user ID of the grantee.
323
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
324
+
325
+ ## Import
326
+
327
+ Bucket ACLs can be imported using the `{region}/{bucketName}/{acl}` identifier, e.g.
328
+
329
+ bash
330
+
331
+ ```sh
332
+ $ pulumi import scaleway:index/objectBucketAcl:ObjectBucketAcl some_bucket fr-par/some-bucket/private
333
+ ```
334
+
335
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
336
+
337
+ If you are using a project different from the default one, you have to specify the project ID at the end of the import command.
338
+
339
+ bash
340
+
341
+ ```sh
342
+ $ pulumi import scaleway:index/objectBucketAcl:ObjectBucketAcl some_bucket fr-par/some-bucket/private@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
343
+ ```
344
+
345
+ :param str resource_name: The name of the resource.
346
+ :param pulumi.ResourceOptions opts: Options for the resource.
347
+ :param pulumi.Input[Union['ObjectBucketAclAccessControlPolicyArgs', 'ObjectBucketAclAccessControlPolicyArgsDict']] access_control_policy: A configuration block that sets the ACL permissions for an object per grantee documented below.
348
+ :param pulumi.Input[str] acl: The canned ACL you want to apply to the bucket.
349
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
350
+ :param pulumi.Input[str] expected_bucket_owner: The project ID of the expected bucket owner.
351
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
352
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
353
+ """
354
+ ...
355
+ @overload
356
+ def __init__(__self__,
357
+ resource_name: str,
358
+ args: ObjectBucketAclArgs,
359
+ opts: Optional[pulumi.ResourceOptions] = None):
360
+ """
361
+ ## Example Usage
362
+
363
+ ```python
364
+ import pulumi
365
+ import pulumiverse_scaleway as scaleway
366
+
367
+ some_bucket = scaleway.ObjectBucket("some_bucket", name="some-unique-name")
368
+ main = scaleway.ObjectBucketAcl("main",
369
+ bucket=main_scaleway_object_bucket["id"],
370
+ acl="private")
371
+ ```
372
+
373
+ ### With Grants
374
+
375
+ ```python
376
+ import pulumi
377
+ import pulumiverse_scaleway as scaleway
378
+
379
+ main = scaleway.ObjectBucket("main", name="your-bucket")
380
+ main_object_bucket_acl = scaleway.ObjectBucketAcl("main",
381
+ bucket=main.id,
382
+ access_control_policy={
383
+ "grants": [
384
+ {
385
+ "grantee": {
386
+ "id": "<project-id>:<project-id>",
387
+ "type": "CanonicalUser",
388
+ },
389
+ "permission": "FULL_CONTROL",
390
+ },
391
+ {
392
+ "grantee": {
393
+ "id": "<project-id>",
394
+ "type": "CanonicalUser",
395
+ },
396
+ "permission": "WRITE",
397
+ },
398
+ ],
399
+ "owner": {
400
+ "id": "<project-id>",
401
+ },
402
+ })
403
+ ```
404
+
405
+ ## The ACL
406
+
407
+ Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl)
408
+
409
+ ## The Access Control policy
410
+
411
+ The `access_control_policy` configuration block supports the following arguments:
412
+
413
+ * `grant` - (Required) Set of grant configuration blocks documented below.
414
+ * `owner` - (Required) Configuration block of the bucket owner's display name and ID documented below.
415
+
416
+ ## The Grant
417
+
418
+ The `grant` configuration block supports the following arguments:
419
+
420
+ * `grantee` - (Required) Configuration block for the project being granted permissions documented below.
421
+ * `permission` - (Required) Logging permissions assigned to the grantee for the bucket.
422
+
423
+ ## The permission
424
+
425
+ The following list shows each access policy permissions supported.
426
+
427
+ `READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`
428
+
429
+ For more information about ACL permissions in the S3 bucket, see [ACL permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html).
430
+
431
+ ## The owner
432
+
433
+ The `owner` configuration block supports the following arguments:
434
+
435
+ * `id` - (Required) The ID of the project owner.
436
+ * `display_name` - (Optional) The display name of the owner.
437
+
438
+ ## the grantee
439
+
440
+ The `grantee` configuration block supports the following arguments:
441
+
442
+ * `id` - (Required) The canonical user ID of the grantee.
443
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
444
+
445
+ ## Import
446
+
447
+ Bucket ACLs can be imported using the `{region}/{bucketName}/{acl}` identifier, e.g.
448
+
449
+ bash
450
+
451
+ ```sh
452
+ $ pulumi import scaleway:index/objectBucketAcl:ObjectBucketAcl some_bucket fr-par/some-bucket/private
453
+ ```
454
+
455
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
456
+
457
+ If you are using a project different from the default one, you have to specify the project ID at the end of the import command.
458
+
459
+ bash
460
+
461
+ ```sh
462
+ $ pulumi import scaleway:index/objectBucketAcl:ObjectBucketAcl some_bucket fr-par/some-bucket/private@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
463
+ ```
464
+
465
+ :param str resource_name: The name of the resource.
466
+ :param ObjectBucketAclArgs args: The arguments to use to populate this resource's properties.
467
+ :param pulumi.ResourceOptions opts: Options for the resource.
468
+ """
469
+ ...
470
+ def __init__(__self__, resource_name: str, *args, **kwargs):
471
+ resource_args, opts = _utilities.get_resource_args_opts(ObjectBucketAclArgs, pulumi.ResourceOptions, *args, **kwargs)
472
+ if resource_args is not None:
473
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
474
+ else:
475
+ __self__._internal_init(resource_name, *args, **kwargs)
476
+
477
+ def _internal_init(__self__,
478
+ resource_name: str,
479
+ opts: Optional[pulumi.ResourceOptions] = None,
480
+ access_control_policy: Optional[pulumi.Input[Union['ObjectBucketAclAccessControlPolicyArgs', 'ObjectBucketAclAccessControlPolicyArgsDict']]] = None,
481
+ acl: Optional[pulumi.Input[str]] = None,
482
+ bucket: Optional[pulumi.Input[str]] = None,
483
+ expected_bucket_owner: Optional[pulumi.Input[str]] = None,
484
+ project_id: Optional[pulumi.Input[str]] = None,
485
+ region: Optional[pulumi.Input[str]] = None,
486
+ __props__=None):
487
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
488
+ if not isinstance(opts, pulumi.ResourceOptions):
489
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
490
+ if opts.id is None:
491
+ if __props__ is not None:
492
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
493
+ __props__ = ObjectBucketAclArgs.__new__(ObjectBucketAclArgs)
494
+
495
+ __props__.__dict__["access_control_policy"] = access_control_policy
496
+ __props__.__dict__["acl"] = acl
497
+ if bucket is None and not opts.urn:
498
+ raise TypeError("Missing required property 'bucket'")
499
+ __props__.__dict__["bucket"] = bucket
500
+ __props__.__dict__["expected_bucket_owner"] = expected_bucket_owner
501
+ __props__.__dict__["project_id"] = project_id
502
+ __props__.__dict__["region"] = region
503
+ super(ObjectBucketAcl, __self__).__init__(
504
+ 'scaleway:index/objectBucketAcl:ObjectBucketAcl',
505
+ resource_name,
506
+ __props__,
507
+ opts)
508
+
509
+ @staticmethod
510
+ def get(resource_name: str,
511
+ id: pulumi.Input[str],
512
+ opts: Optional[pulumi.ResourceOptions] = None,
513
+ access_control_policy: Optional[pulumi.Input[Union['ObjectBucketAclAccessControlPolicyArgs', 'ObjectBucketAclAccessControlPolicyArgsDict']]] = None,
514
+ acl: Optional[pulumi.Input[str]] = None,
515
+ bucket: Optional[pulumi.Input[str]] = None,
516
+ expected_bucket_owner: Optional[pulumi.Input[str]] = None,
517
+ project_id: Optional[pulumi.Input[str]] = None,
518
+ region: Optional[pulumi.Input[str]] = None) -> 'ObjectBucketAcl':
519
+ """
520
+ Get an existing ObjectBucketAcl resource's state with the given name, id, and optional extra
521
+ properties used to qualify the lookup.
522
+
523
+ :param str resource_name: The unique name of the resulting resource.
524
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
525
+ :param pulumi.ResourceOptions opts: Options for the resource.
526
+ :param pulumi.Input[Union['ObjectBucketAclAccessControlPolicyArgs', 'ObjectBucketAclAccessControlPolicyArgsDict']] access_control_policy: A configuration block that sets the ACL permissions for an object per grantee documented below.
527
+ :param pulumi.Input[str] acl: The canned ACL you want to apply to the bucket.
528
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
529
+ :param pulumi.Input[str] expected_bucket_owner: The project ID of the expected bucket owner.
530
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
531
+ :param pulumi.Input[str] region: The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
532
+ """
533
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
534
+
535
+ __props__ = _ObjectBucketAclState.__new__(_ObjectBucketAclState)
536
+
537
+ __props__.__dict__["access_control_policy"] = access_control_policy
538
+ __props__.__dict__["acl"] = acl
539
+ __props__.__dict__["bucket"] = bucket
540
+ __props__.__dict__["expected_bucket_owner"] = expected_bucket_owner
541
+ __props__.__dict__["project_id"] = project_id
542
+ __props__.__dict__["region"] = region
543
+ return ObjectBucketAcl(resource_name, opts=opts, __props__=__props__)
544
+
545
+ @property
546
+ @pulumi.getter(name="accessControlPolicy")
547
+ def access_control_policy(self) -> pulumi.Output['outputs.ObjectBucketAclAccessControlPolicy']:
548
+ """
549
+ A configuration block that sets the ACL permissions for an object per grantee documented below.
550
+ """
551
+ return pulumi.get(self, "access_control_policy")
552
+
553
+ @property
554
+ @pulumi.getter
555
+ def acl(self) -> pulumi.Output[Optional[str]]:
556
+ """
557
+ The canned ACL you want to apply to the bucket.
558
+ """
559
+ return pulumi.get(self, "acl")
560
+
561
+ @property
562
+ @pulumi.getter
563
+ def bucket(self) -> pulumi.Output[str]:
564
+ """
565
+ The bucket's name or regional ID.
566
+ """
567
+ return pulumi.get(self, "bucket")
568
+
569
+ @property
570
+ @pulumi.getter(name="expectedBucketOwner")
571
+ def expected_bucket_owner(self) -> pulumi.Output[Optional[str]]:
572
+ """
573
+ The project ID of the expected bucket owner.
574
+ """
575
+ return pulumi.get(self, "expected_bucket_owner")
576
+
577
+ @property
578
+ @pulumi.getter(name="projectId")
579
+ def project_id(self) -> pulumi.Output[str]:
580
+ """
581
+ The project_id you want to attach the resource to
582
+ """
583
+ return pulumi.get(self, "project_id")
584
+
585
+ @property
586
+ @pulumi.getter
587
+ def region(self) -> pulumi.Output[str]:
588
+ """
589
+ The [region](https://www.scaleway.com/en/developers/api/#regions-and-zones) in which the bucket should be created.
590
+ """
591
+ return pulumi.get(self, "region")
592
+