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,711 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['ObjectItemArgs', 'ObjectItem']
18
+
19
+ @pulumi.input_type
20
+ class ObjectItemArgs:
21
+ def __init__(__self__, *,
22
+ bucket: pulumi.Input[str],
23
+ key: pulumi.Input[str],
24
+ content: Optional[pulumi.Input[str]] = None,
25
+ content_base64: Optional[pulumi.Input[str]] = None,
26
+ file: Optional[pulumi.Input[str]] = None,
27
+ hash: Optional[pulumi.Input[str]] = None,
28
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ project_id: Optional[pulumi.Input[str]] = None,
30
+ region: Optional[pulumi.Input[str]] = None,
31
+ storage_class: Optional[pulumi.Input[str]] = None,
32
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
33
+ visibility: Optional[pulumi.Input[str]] = None):
34
+ """
35
+ The set of arguments for constructing a ObjectItem resource.
36
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
37
+ :param pulumi.Input[str] key: The path of the object.
38
+ :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
39
+ :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
40
+ :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
41
+ :param pulumi.Input[str] hash: Hash of the file, used to trigger upload on file change
42
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object, keys must be lowercase
43
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
44
+ :param pulumi.Input[str] region: The Scaleway region this bucket resides in.
45
+ :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
46
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags
47
+ :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`
48
+ """
49
+ pulumi.set(__self__, "bucket", bucket)
50
+ pulumi.set(__self__, "key", key)
51
+ if content is not None:
52
+ pulumi.set(__self__, "content", content)
53
+ if content_base64 is not None:
54
+ pulumi.set(__self__, "content_base64", content_base64)
55
+ if file is not None:
56
+ pulumi.set(__self__, "file", file)
57
+ if hash is not None:
58
+ pulumi.set(__self__, "hash", hash)
59
+ if metadata is not None:
60
+ pulumi.set(__self__, "metadata", metadata)
61
+ if project_id is not None:
62
+ pulumi.set(__self__, "project_id", project_id)
63
+ if region is not None:
64
+ pulumi.set(__self__, "region", region)
65
+ if storage_class is not None:
66
+ pulumi.set(__self__, "storage_class", storage_class)
67
+ if tags is not None:
68
+ pulumi.set(__self__, "tags", tags)
69
+ if visibility is not None:
70
+ pulumi.set(__self__, "visibility", visibility)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def bucket(self) -> pulumi.Input[str]:
75
+ """
76
+ The bucket's name or regional ID.
77
+ """
78
+ return pulumi.get(self, "bucket")
79
+
80
+ @bucket.setter
81
+ def bucket(self, value: pulumi.Input[str]):
82
+ pulumi.set(self, "bucket", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def key(self) -> pulumi.Input[str]:
87
+ """
88
+ The path of the object.
89
+ """
90
+ return pulumi.get(self, "key")
91
+
92
+ @key.setter
93
+ def key(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "key", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def content(self) -> Optional[pulumi.Input[str]]:
99
+ """
100
+ The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
101
+ """
102
+ return pulumi.get(self, "content")
103
+
104
+ @content.setter
105
+ def content(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "content", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="contentBase64")
110
+ def content_base64(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
113
+ """
114
+ return pulumi.get(self, "content_base64")
115
+
116
+ @content_base64.setter
117
+ def content_base64(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "content_base64", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def file(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
125
+ """
126
+ return pulumi.get(self, "file")
127
+
128
+ @file.setter
129
+ def file(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "file", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def hash(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ Hash of the file, used to trigger upload on file change
137
+ """
138
+ return pulumi.get(self, "hash")
139
+
140
+ @hash.setter
141
+ def hash(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "hash", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
147
+ """
148
+ Map of metadata used for the object, keys must be lowercase
149
+ """
150
+ return pulumi.get(self, "metadata")
151
+
152
+ @metadata.setter
153
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
154
+ pulumi.set(self, "metadata", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="projectId")
158
+ def project_id(self) -> Optional[pulumi.Input[str]]:
159
+ """
160
+ The project_id you want to attach the resource to
161
+ """
162
+ return pulumi.get(self, "project_id")
163
+
164
+ @project_id.setter
165
+ def project_id(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "project_id", value)
167
+
168
+ @property
169
+ @pulumi.getter
170
+ def region(self) -> Optional[pulumi.Input[str]]:
171
+ """
172
+ The Scaleway region this bucket resides in.
173
+ """
174
+ return pulumi.get(self, "region")
175
+
176
+ @region.setter
177
+ def region(self, value: Optional[pulumi.Input[str]]):
178
+ pulumi.set(self, "region", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="storageClass")
182
+ def storage_class(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
185
+ """
186
+ return pulumi.get(self, "storage_class")
187
+
188
+ @storage_class.setter
189
+ def storage_class(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "storage_class", value)
191
+
192
+ @property
193
+ @pulumi.getter
194
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
195
+ """
196
+ Map of tags
197
+ """
198
+ return pulumi.get(self, "tags")
199
+
200
+ @tags.setter
201
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
202
+ pulumi.set(self, "tags", value)
203
+
204
+ @property
205
+ @pulumi.getter
206
+ def visibility(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ Visibility of the object, `public-read` or `private`
209
+ """
210
+ return pulumi.get(self, "visibility")
211
+
212
+ @visibility.setter
213
+ def visibility(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "visibility", value)
215
+
216
+
217
+ @pulumi.input_type
218
+ class _ObjectItemState:
219
+ def __init__(__self__, *,
220
+ bucket: Optional[pulumi.Input[str]] = None,
221
+ content: Optional[pulumi.Input[str]] = None,
222
+ content_base64: Optional[pulumi.Input[str]] = None,
223
+ file: Optional[pulumi.Input[str]] = None,
224
+ hash: Optional[pulumi.Input[str]] = None,
225
+ key: Optional[pulumi.Input[str]] = None,
226
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
227
+ project_id: Optional[pulumi.Input[str]] = None,
228
+ region: Optional[pulumi.Input[str]] = None,
229
+ storage_class: Optional[pulumi.Input[str]] = None,
230
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
231
+ visibility: Optional[pulumi.Input[str]] = None):
232
+ """
233
+ Input properties used for looking up and filtering ObjectItem resources.
234
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
235
+ :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
236
+ :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
237
+ :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
238
+ :param pulumi.Input[str] hash: Hash of the file, used to trigger upload on file change
239
+ :param pulumi.Input[str] key: The path of the object.
240
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object, keys must be lowercase
241
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
242
+ :param pulumi.Input[str] region: The Scaleway region this bucket resides in.
243
+ :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
244
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags
245
+ :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`
246
+ """
247
+ if bucket is not None:
248
+ pulumi.set(__self__, "bucket", bucket)
249
+ if content is not None:
250
+ pulumi.set(__self__, "content", content)
251
+ if content_base64 is not None:
252
+ pulumi.set(__self__, "content_base64", content_base64)
253
+ if file is not None:
254
+ pulumi.set(__self__, "file", file)
255
+ if hash is not None:
256
+ pulumi.set(__self__, "hash", hash)
257
+ if key is not None:
258
+ pulumi.set(__self__, "key", key)
259
+ if metadata is not None:
260
+ pulumi.set(__self__, "metadata", metadata)
261
+ if project_id is not None:
262
+ pulumi.set(__self__, "project_id", project_id)
263
+ if region is not None:
264
+ pulumi.set(__self__, "region", region)
265
+ if storage_class is not None:
266
+ pulumi.set(__self__, "storage_class", storage_class)
267
+ if tags is not None:
268
+ pulumi.set(__self__, "tags", tags)
269
+ if visibility is not None:
270
+ pulumi.set(__self__, "visibility", visibility)
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def bucket(self) -> Optional[pulumi.Input[str]]:
275
+ """
276
+ The bucket's name or regional ID.
277
+ """
278
+ return pulumi.get(self, "bucket")
279
+
280
+ @bucket.setter
281
+ def bucket(self, value: Optional[pulumi.Input[str]]):
282
+ pulumi.set(self, "bucket", value)
283
+
284
+ @property
285
+ @pulumi.getter
286
+ def content(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
289
+ """
290
+ return pulumi.get(self, "content")
291
+
292
+ @content.setter
293
+ def content(self, value: Optional[pulumi.Input[str]]):
294
+ pulumi.set(self, "content", value)
295
+
296
+ @property
297
+ @pulumi.getter(name="contentBase64")
298
+ def content_base64(self) -> Optional[pulumi.Input[str]]:
299
+ """
300
+ The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
301
+ """
302
+ return pulumi.get(self, "content_base64")
303
+
304
+ @content_base64.setter
305
+ def content_base64(self, value: Optional[pulumi.Input[str]]):
306
+ pulumi.set(self, "content_base64", value)
307
+
308
+ @property
309
+ @pulumi.getter
310
+ def file(self) -> Optional[pulumi.Input[str]]:
311
+ """
312
+ The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
313
+ """
314
+ return pulumi.get(self, "file")
315
+
316
+ @file.setter
317
+ def file(self, value: Optional[pulumi.Input[str]]):
318
+ pulumi.set(self, "file", value)
319
+
320
+ @property
321
+ @pulumi.getter
322
+ def hash(self) -> Optional[pulumi.Input[str]]:
323
+ """
324
+ Hash of the file, used to trigger upload on file change
325
+ """
326
+ return pulumi.get(self, "hash")
327
+
328
+ @hash.setter
329
+ def hash(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "hash", value)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def key(self) -> Optional[pulumi.Input[str]]:
335
+ """
336
+ The path of the object.
337
+ """
338
+ return pulumi.get(self, "key")
339
+
340
+ @key.setter
341
+ def key(self, value: Optional[pulumi.Input[str]]):
342
+ pulumi.set(self, "key", value)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
347
+ """
348
+ Map of metadata used for the object, keys must be lowercase
349
+ """
350
+ return pulumi.get(self, "metadata")
351
+
352
+ @metadata.setter
353
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
354
+ pulumi.set(self, "metadata", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="projectId")
358
+ def project_id(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ The project_id you want to attach the resource to
361
+ """
362
+ return pulumi.get(self, "project_id")
363
+
364
+ @project_id.setter
365
+ def project_id(self, value: Optional[pulumi.Input[str]]):
366
+ pulumi.set(self, "project_id", value)
367
+
368
+ @property
369
+ @pulumi.getter
370
+ def region(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ The Scaleway region this bucket resides in.
373
+ """
374
+ return pulumi.get(self, "region")
375
+
376
+ @region.setter
377
+ def region(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "region", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="storageClass")
382
+ def storage_class(self) -> Optional[pulumi.Input[str]]:
383
+ """
384
+ Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
385
+ """
386
+ return pulumi.get(self, "storage_class")
387
+
388
+ @storage_class.setter
389
+ def storage_class(self, value: Optional[pulumi.Input[str]]):
390
+ pulumi.set(self, "storage_class", value)
391
+
392
+ @property
393
+ @pulumi.getter
394
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
395
+ """
396
+ Map of tags
397
+ """
398
+ return pulumi.get(self, "tags")
399
+
400
+ @tags.setter
401
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
402
+ pulumi.set(self, "tags", value)
403
+
404
+ @property
405
+ @pulumi.getter
406
+ def visibility(self) -> Optional[pulumi.Input[str]]:
407
+ """
408
+ Visibility of the object, `public-read` or `private`
409
+ """
410
+ return pulumi.get(self, "visibility")
411
+
412
+ @visibility.setter
413
+ def visibility(self, value: Optional[pulumi.Input[str]]):
414
+ pulumi.set(self, "visibility", value)
415
+
416
+
417
+ class ObjectItem(pulumi.CustomResource):
418
+ @overload
419
+ def __init__(__self__,
420
+ resource_name: str,
421
+ opts: Optional[pulumi.ResourceOptions] = None,
422
+ bucket: Optional[pulumi.Input[str]] = None,
423
+ content: Optional[pulumi.Input[str]] = None,
424
+ content_base64: Optional[pulumi.Input[str]] = None,
425
+ file: Optional[pulumi.Input[str]] = None,
426
+ hash: Optional[pulumi.Input[str]] = None,
427
+ key: Optional[pulumi.Input[str]] = None,
428
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
429
+ project_id: Optional[pulumi.Input[str]] = None,
430
+ region: Optional[pulumi.Input[str]] = None,
431
+ storage_class: Optional[pulumi.Input[str]] = None,
432
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
433
+ visibility: Optional[pulumi.Input[str]] = None,
434
+ __props__=None):
435
+ """
436
+ Creates and manages Scaleway object storage objects.
437
+ For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).
438
+
439
+ ## Import
440
+
441
+ Objects can be imported using the `{region}/{bucketName}/{objectKey}` identifier, e.g.
442
+
443
+ bash
444
+
445
+ ```sh
446
+ $ pulumi import scaleway:index/objectItem:ObjectItem some_object fr-par/some-bucket/some-file
447
+ ```
448
+
449
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
450
+
451
+ 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.
452
+
453
+ bash
454
+
455
+ ```sh
456
+ $ pulumi import scaleway:index/objectItem:ObjectItem some_object fr-par/some-bucket/some-file@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
457
+ ```
458
+
459
+ :param str resource_name: The name of the resource.
460
+ :param pulumi.ResourceOptions opts: Options for the resource.
461
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
462
+ :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
463
+ :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
464
+ :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
465
+ :param pulumi.Input[str] hash: Hash of the file, used to trigger upload on file change
466
+ :param pulumi.Input[str] key: The path of the object.
467
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object, keys must be lowercase
468
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
469
+ :param pulumi.Input[str] region: The Scaleway region this bucket resides in.
470
+ :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
471
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags
472
+ :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`
473
+ """
474
+ ...
475
+ @overload
476
+ def __init__(__self__,
477
+ resource_name: str,
478
+ args: ObjectItemArgs,
479
+ opts: Optional[pulumi.ResourceOptions] = None):
480
+ """
481
+ Creates and manages Scaleway object storage objects.
482
+ For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).
483
+
484
+ ## Import
485
+
486
+ Objects can be imported using the `{region}/{bucketName}/{objectKey}` identifier, e.g.
487
+
488
+ bash
489
+
490
+ ```sh
491
+ $ pulumi import scaleway:index/objectItem:ObjectItem some_object fr-par/some-bucket/some-file
492
+ ```
493
+
494
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
495
+
496
+ 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.
497
+
498
+ bash
499
+
500
+ ```sh
501
+ $ pulumi import scaleway:index/objectItem:ObjectItem some_object fr-par/some-bucket/some-file@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
502
+ ```
503
+
504
+ :param str resource_name: The name of the resource.
505
+ :param ObjectItemArgs args: The arguments to use to populate this resource's properties.
506
+ :param pulumi.ResourceOptions opts: Options for the resource.
507
+ """
508
+ ...
509
+ def __init__(__self__, resource_name: str, *args, **kwargs):
510
+ resource_args, opts = _utilities.get_resource_args_opts(ObjectItemArgs, pulumi.ResourceOptions, *args, **kwargs)
511
+ if resource_args is not None:
512
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
513
+ else:
514
+ __self__._internal_init(resource_name, *args, **kwargs)
515
+
516
+ def _internal_init(__self__,
517
+ resource_name: str,
518
+ opts: Optional[pulumi.ResourceOptions] = None,
519
+ bucket: Optional[pulumi.Input[str]] = None,
520
+ content: Optional[pulumi.Input[str]] = None,
521
+ content_base64: Optional[pulumi.Input[str]] = None,
522
+ file: Optional[pulumi.Input[str]] = None,
523
+ hash: Optional[pulumi.Input[str]] = None,
524
+ key: Optional[pulumi.Input[str]] = None,
525
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
526
+ project_id: Optional[pulumi.Input[str]] = None,
527
+ region: Optional[pulumi.Input[str]] = None,
528
+ storage_class: Optional[pulumi.Input[str]] = None,
529
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
530
+ visibility: Optional[pulumi.Input[str]] = None,
531
+ __props__=None):
532
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
533
+ if not isinstance(opts, pulumi.ResourceOptions):
534
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
535
+ if opts.id is None:
536
+ if __props__ is not None:
537
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
538
+ __props__ = ObjectItemArgs.__new__(ObjectItemArgs)
539
+
540
+ if bucket is None and not opts.urn:
541
+ raise TypeError("Missing required property 'bucket'")
542
+ __props__.__dict__["bucket"] = bucket
543
+ __props__.__dict__["content"] = content
544
+ __props__.__dict__["content_base64"] = content_base64
545
+ __props__.__dict__["file"] = file
546
+ __props__.__dict__["hash"] = hash
547
+ if key is None and not opts.urn:
548
+ raise TypeError("Missing required property 'key'")
549
+ __props__.__dict__["key"] = key
550
+ __props__.__dict__["metadata"] = metadata
551
+ __props__.__dict__["project_id"] = project_id
552
+ __props__.__dict__["region"] = region
553
+ __props__.__dict__["storage_class"] = storage_class
554
+ __props__.__dict__["tags"] = tags
555
+ __props__.__dict__["visibility"] = visibility
556
+ super(ObjectItem, __self__).__init__(
557
+ 'scaleway:index/objectItem:ObjectItem',
558
+ resource_name,
559
+ __props__,
560
+ opts)
561
+
562
+ @staticmethod
563
+ def get(resource_name: str,
564
+ id: pulumi.Input[str],
565
+ opts: Optional[pulumi.ResourceOptions] = None,
566
+ bucket: Optional[pulumi.Input[str]] = None,
567
+ content: Optional[pulumi.Input[str]] = None,
568
+ content_base64: Optional[pulumi.Input[str]] = None,
569
+ file: Optional[pulumi.Input[str]] = None,
570
+ hash: Optional[pulumi.Input[str]] = None,
571
+ key: Optional[pulumi.Input[str]] = None,
572
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
573
+ project_id: Optional[pulumi.Input[str]] = None,
574
+ region: Optional[pulumi.Input[str]] = None,
575
+ storage_class: Optional[pulumi.Input[str]] = None,
576
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
577
+ visibility: Optional[pulumi.Input[str]] = None) -> 'ObjectItem':
578
+ """
579
+ Get an existing ObjectItem resource's state with the given name, id, and optional extra
580
+ properties used to qualify the lookup.
581
+
582
+ :param str resource_name: The unique name of the resulting resource.
583
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
584
+ :param pulumi.ResourceOptions opts: Options for the resource.
585
+ :param pulumi.Input[str] bucket: The bucket's name or regional ID.
586
+ :param pulumi.Input[str] content: The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
587
+ :param pulumi.Input[str] content_base64: The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
588
+ :param pulumi.Input[str] file: The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
589
+ :param pulumi.Input[str] hash: Hash of the file, used to trigger upload on file change
590
+ :param pulumi.Input[str] key: The path of the object.
591
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object, keys must be lowercase
592
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
593
+ :param pulumi.Input[str] region: The Scaleway region this bucket resides in.
594
+ :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
595
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags
596
+ :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`
597
+ """
598
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
599
+
600
+ __props__ = _ObjectItemState.__new__(_ObjectItemState)
601
+
602
+ __props__.__dict__["bucket"] = bucket
603
+ __props__.__dict__["content"] = content
604
+ __props__.__dict__["content_base64"] = content_base64
605
+ __props__.__dict__["file"] = file
606
+ __props__.__dict__["hash"] = hash
607
+ __props__.__dict__["key"] = key
608
+ __props__.__dict__["metadata"] = metadata
609
+ __props__.__dict__["project_id"] = project_id
610
+ __props__.__dict__["region"] = region
611
+ __props__.__dict__["storage_class"] = storage_class
612
+ __props__.__dict__["tags"] = tags
613
+ __props__.__dict__["visibility"] = visibility
614
+ return ObjectItem(resource_name, opts=opts, __props__=__props__)
615
+
616
+ @property
617
+ @pulumi.getter
618
+ def bucket(self) -> pulumi.Output[str]:
619
+ """
620
+ The bucket's name or regional ID.
621
+ """
622
+ return pulumi.get(self, "bucket")
623
+
624
+ @property
625
+ @pulumi.getter
626
+ def content(self) -> pulumi.Output[Optional[str]]:
627
+ """
628
+ The content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
629
+ """
630
+ return pulumi.get(self, "content")
631
+
632
+ @property
633
+ @pulumi.getter(name="contentBase64")
634
+ def content_base64(self) -> pulumi.Output[Optional[str]]:
635
+ """
636
+ The base64-encoded content of the file to upload. Only one of `file`, `content` or `content_base64` can be defined.
637
+ """
638
+ return pulumi.get(self, "content_base64")
639
+
640
+ @property
641
+ @pulumi.getter
642
+ def file(self) -> pulumi.Output[Optional[str]]:
643
+ """
644
+ The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `content_base64` can be defined.
645
+ """
646
+ return pulumi.get(self, "file")
647
+
648
+ @property
649
+ @pulumi.getter
650
+ def hash(self) -> pulumi.Output[Optional[str]]:
651
+ """
652
+ Hash of the file, used to trigger upload on file change
653
+ """
654
+ return pulumi.get(self, "hash")
655
+
656
+ @property
657
+ @pulumi.getter
658
+ def key(self) -> pulumi.Output[str]:
659
+ """
660
+ The path of the object.
661
+ """
662
+ return pulumi.get(self, "key")
663
+
664
+ @property
665
+ @pulumi.getter
666
+ def metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
667
+ """
668
+ Map of metadata used for the object, keys must be lowercase
669
+ """
670
+ return pulumi.get(self, "metadata")
671
+
672
+ @property
673
+ @pulumi.getter(name="projectId")
674
+ def project_id(self) -> pulumi.Output[str]:
675
+ """
676
+ The project_id you want to attach the resource to
677
+ """
678
+ return pulumi.get(self, "project_id")
679
+
680
+ @property
681
+ @pulumi.getter
682
+ def region(self) -> pulumi.Output[str]:
683
+ """
684
+ The Scaleway region this bucket resides in.
685
+ """
686
+ return pulumi.get(self, "region")
687
+
688
+ @property
689
+ @pulumi.getter(name="storageClass")
690
+ def storage_class(self) -> pulumi.Output[Optional[str]]:
691
+ """
692
+ Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
693
+ """
694
+ return pulumi.get(self, "storage_class")
695
+
696
+ @property
697
+ @pulumi.getter
698
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
699
+ """
700
+ Map of tags
701
+ """
702
+ return pulumi.get(self, "tags")
703
+
704
+ @property
705
+ @pulumi.getter
706
+ def visibility(self) -> pulumi.Output[str]:
707
+ """
708
+ Visibility of the object, `public-read` or `private`
709
+ """
710
+ return pulumi.get(self, "visibility")
711
+