pulumiverse-scaleway 1.35.0a1761031391__py3-none-any.whl → 1.39.0a1764841480__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. pulumiverse_scaleway/__init__.py +38 -0
  2. pulumiverse_scaleway/_inputs.py +271 -166
  3. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  4. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  5. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  6. pulumiverse_scaleway/baremetal_server.py +159 -0
  7. pulumiverse_scaleway/billing/get_consumptions.py +4 -0
  8. pulumiverse_scaleway/block/snapshot.py +78 -0
  9. pulumiverse_scaleway/block_snapshot.py +78 -0
  10. pulumiverse_scaleway/cockpit_grafana_user.py +0 -42
  11. pulumiverse_scaleway/database_instance.py +105 -55
  12. pulumiverse_scaleway/database_user.py +6 -6
  13. pulumiverse_scaleway/databases/_inputs.py +97 -3
  14. pulumiverse_scaleway/databases/get_instance.py +12 -1
  15. pulumiverse_scaleway/databases/instance.py +105 -55
  16. pulumiverse_scaleway/databases/outputs.py +127 -2
  17. pulumiverse_scaleway/databases/user.py +6 -6
  18. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  19. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  20. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  21. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  22. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  23. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  24. pulumiverse_scaleway/domain/record.py +4 -4
  25. pulumiverse_scaleway/domain_record.py +4 -4
  26. pulumiverse_scaleway/edge_services_cache_stage.py +30 -0
  27. pulumiverse_scaleway/edge_services_dns_stage.py +28 -0
  28. pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
  29. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  30. pulumiverse_scaleway/elasticmetal/server.py +159 -0
  31. pulumiverse_scaleway/file_filesystem.py +39 -35
  32. pulumiverse_scaleway/get_baremetal_offer.py +2 -0
  33. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  34. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  35. pulumiverse_scaleway/get_database_instance.py +12 -1
  36. pulumiverse_scaleway/get_instance_ip.py +14 -2
  37. pulumiverse_scaleway/get_instance_server.py +13 -83
  38. pulumiverse_scaleway/get_k8s_version.py +12 -1
  39. pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
  40. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  41. pulumiverse_scaleway/get_loadbalancer_certificate.py +60 -0
  42. pulumiverse_scaleway/iam/__init__.py +1 -0
  43. pulumiverse_scaleway/iam/get_policy.py +293 -0
  44. pulumiverse_scaleway/iam/outputs.py +52 -0
  45. pulumiverse_scaleway/inference/deployment.py +36 -0
  46. pulumiverse_scaleway/inference/model.py +7 -7
  47. pulumiverse_scaleway/inference_deployment.py +36 -0
  48. pulumiverse_scaleway/instance/_inputs.py +155 -144
  49. pulumiverse_scaleway/instance/get_ip.py +14 -2
  50. pulumiverse_scaleway/instance/get_server.py +13 -83
  51. pulumiverse_scaleway/instance/image.py +94 -40
  52. pulumiverse_scaleway/instance/outputs.py +164 -167
  53. pulumiverse_scaleway/instance/server.py +116 -244
  54. pulumiverse_scaleway/instance/user_data.py +4 -4
  55. pulumiverse_scaleway/instance/volume.py +14 -0
  56. pulumiverse_scaleway/instance_image.py +94 -40
  57. pulumiverse_scaleway/instance_server.py +116 -244
  58. pulumiverse_scaleway/instance_user_data.py +4 -4
  59. pulumiverse_scaleway/instance_volume.py +14 -0
  60. pulumiverse_scaleway/iot/device.py +0 -38
  61. pulumiverse_scaleway/iot/hub.py +11 -11
  62. pulumiverse_scaleway/iot/route.py +20 -20
  63. pulumiverse_scaleway/iot_device.py +0 -38
  64. pulumiverse_scaleway/iot_hub.py +11 -11
  65. pulumiverse_scaleway/iot_route.py +20 -20
  66. pulumiverse_scaleway/ipam/_inputs.py +6 -6
  67. pulumiverse_scaleway/ipam/ip.py +35 -7
  68. pulumiverse_scaleway/ipam/ip_reverse_dns.py +70 -0
  69. pulumiverse_scaleway/ipam/outputs.py +4 -4
  70. pulumiverse_scaleway/ipam_ip.py +35 -7
  71. pulumiverse_scaleway/ipam_ip_reverse_dns.py +70 -0
  72. pulumiverse_scaleway/key_manager_key.py +134 -25
  73. pulumiverse_scaleway/kubernetes/cluster.py +290 -4
  74. pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
  75. pulumiverse_scaleway/kubernetes/get_version.py +12 -1
  76. pulumiverse_scaleway/kubernetes/pool.py +7 -7
  77. pulumiverse_scaleway/kubernetes_cluster.py +290 -4
  78. pulumiverse_scaleway/kubernetes_node_pool.py +7 -7
  79. pulumiverse_scaleway/loadbalancer.py +55 -1
  80. pulumiverse_scaleway/loadbalancers/__init__.py +1 -0
  81. pulumiverse_scaleway/loadbalancers/_inputs.py +13 -13
  82. pulumiverse_scaleway/loadbalancers/get_certificate.py +60 -0
  83. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  84. pulumiverse_scaleway/loadbalancers/load_balancer.py +55 -1
  85. pulumiverse_scaleway/loadbalancers/outputs.py +9 -9
  86. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  87. pulumiverse_scaleway/mongo_db_instance.py +14 -14
  88. pulumiverse_scaleway/mongodb/instance.py +14 -14
  89. pulumiverse_scaleway/network/gateway_network.py +7 -7
  90. pulumiverse_scaleway/object/__init__.py +1 -0
  91. pulumiverse_scaleway/object/bucket_policy.py +0 -64
  92. pulumiverse_scaleway/object/get.py +290 -0
  93. pulumiverse_scaleway/object/item.py +37 -7
  94. pulumiverse_scaleway/object_bucket_policy.py +0 -64
  95. pulumiverse_scaleway/object_item.py +37 -7
  96. pulumiverse_scaleway/observability/__init__.py +1 -0
  97. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  98. pulumiverse_scaleway/observability/get_sources.py +6 -6
  99. pulumiverse_scaleway/observability/grafana_user.py +0 -42
  100. pulumiverse_scaleway/observability/outputs.py +2 -2
  101. pulumiverse_scaleway/outputs.py +304 -182
  102. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  103. pulumiverse_scaleway/tem/domain.py +42 -0
  104. pulumiverse_scaleway/tem_domain.py +42 -0
  105. pulumiverse_scaleway/vpc_gateway_network.py +7 -7
  106. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +1 -1
  107. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/RECORD +109 -96
  108. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +0 -0
  109. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,113 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'DeploymentPublicNetwork',
20
+ 'DeploymentPublicNetworkService',
21
+ ]
22
+
23
+ @pulumi.output_type
24
+ class DeploymentPublicNetwork(dict):
25
+ @staticmethod
26
+ def __key_warning(key: str):
27
+ suggest = None
28
+ if key == "dnsRecord":
29
+ suggest = "dns_record"
30
+
31
+ if suggest:
32
+ pulumi.log.warn(f"Key '{key}' not found in DeploymentPublicNetwork. Access the value via the '{suggest}' property getter instead.")
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ DeploymentPublicNetwork.__key_warning(key)
36
+ return super().__getitem__(key)
37
+
38
+ def get(self, key: str, default = None) -> Any:
39
+ DeploymentPublicNetwork.__key_warning(key)
40
+ return super().get(key, default)
41
+
42
+ def __init__(__self__, *,
43
+ dns_record: Optional[_builtins.str] = None,
44
+ id: Optional[_builtins.str] = None,
45
+ services: Optional[Sequence['outputs.DeploymentPublicNetworkService']] = None):
46
+ """
47
+ :param _builtins.str dns_record: DNS record for the public endpoint.
48
+ :param _builtins.str id: The ID of the public endpoint.
49
+ :param Sequence['DeploymentPublicNetworkServiceArgs'] services: List of services exposed on the public endpoint.
50
+ """
51
+ if dns_record is not None:
52
+ pulumi.set(__self__, "dns_record", dns_record)
53
+ if id is not None:
54
+ pulumi.set(__self__, "id", id)
55
+ if services is not None:
56
+ pulumi.set(__self__, "services", services)
57
+
58
+ @_builtins.property
59
+ @pulumi.getter(name="dnsRecord")
60
+ def dns_record(self) -> Optional[_builtins.str]:
61
+ """
62
+ DNS record for the public endpoint.
63
+ """
64
+ return pulumi.get(self, "dns_record")
65
+
66
+ @_builtins.property
67
+ @pulumi.getter
68
+ def id(self) -> Optional[_builtins.str]:
69
+ """
70
+ The ID of the public endpoint.
71
+ """
72
+ return pulumi.get(self, "id")
73
+
74
+ @_builtins.property
75
+ @pulumi.getter
76
+ def services(self) -> Optional[Sequence['outputs.DeploymentPublicNetworkService']]:
77
+ """
78
+ List of services exposed on the public endpoint.
79
+ """
80
+ return pulumi.get(self, "services")
81
+
82
+
83
+ @pulumi.output_type
84
+ class DeploymentPublicNetworkService(dict):
85
+ def __init__(__self__, *,
86
+ port: Optional[_builtins.int] = None,
87
+ protocol: Optional[_builtins.str] = None):
88
+ """
89
+ :param _builtins.int port: TCP port number.
90
+ :param _builtins.str protocol: Service protocol (e.g., "tcp", "https", "mysql").
91
+ """
92
+ if port is not None:
93
+ pulumi.set(__self__, "port", port)
94
+ if protocol is not None:
95
+ pulumi.set(__self__, "protocol", protocol)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter
99
+ def port(self) -> Optional[_builtins.int]:
100
+ """
101
+ TCP port number.
102
+ """
103
+ return pulumi.get(self, "port")
104
+
105
+ @_builtins.property
106
+ @pulumi.getter
107
+ def protocol(self) -> Optional[_builtins.str]:
108
+ """
109
+ Service protocol (e.g., "tcp", "https", "mysql").
110
+ """
111
+ return pulumi.get(self, "protocol")
112
+
113
+
@@ -0,0 +1,451 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['UserArgs', 'User']
18
+
19
+ @pulumi.input_type
20
+ class UserArgs:
21
+ def __init__(__self__, *,
22
+ deployment_id: pulumi.Input[_builtins.str],
23
+ password: pulumi.Input[_builtins.str],
24
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ region: Optional[pulumi.Input[_builtins.str]] = None):
27
+ """
28
+ The set of arguments for constructing a User resource.
29
+ :param pulumi.Input[_builtins.str] deployment_id: ID of the Data Warehouse deployment to which this user belongs.
30
+ :param pulumi.Input[_builtins.str] password: Password for the ClickHouse user.
31
+ :param pulumi.Input[_builtins.bool] is_admin: Whether the user has administrator privileges. Defaults to `false`.
32
+ :param pulumi.Input[_builtins.str] name: Name of the ClickHouse user.
33
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the user should be created.
34
+ """
35
+ pulumi.set(__self__, "deployment_id", deployment_id)
36
+ pulumi.set(__self__, "password", password)
37
+ if is_admin is not None:
38
+ pulumi.set(__self__, "is_admin", is_admin)
39
+ if name is not None:
40
+ pulumi.set(__self__, "name", name)
41
+ if region is not None:
42
+ pulumi.set(__self__, "region", region)
43
+
44
+ @_builtins.property
45
+ @pulumi.getter(name="deploymentId")
46
+ def deployment_id(self) -> pulumi.Input[_builtins.str]:
47
+ """
48
+ ID of the Data Warehouse deployment to which this user belongs.
49
+ """
50
+ return pulumi.get(self, "deployment_id")
51
+
52
+ @deployment_id.setter
53
+ def deployment_id(self, value: pulumi.Input[_builtins.str]):
54
+ pulumi.set(self, "deployment_id", value)
55
+
56
+ @_builtins.property
57
+ @pulumi.getter
58
+ def password(self) -> pulumi.Input[_builtins.str]:
59
+ """
60
+ Password for the ClickHouse user.
61
+ """
62
+ return pulumi.get(self, "password")
63
+
64
+ @password.setter
65
+ def password(self, value: pulumi.Input[_builtins.str]):
66
+ pulumi.set(self, "password", value)
67
+
68
+ @_builtins.property
69
+ @pulumi.getter(name="isAdmin")
70
+ def is_admin(self) -> Optional[pulumi.Input[_builtins.bool]]:
71
+ """
72
+ Whether the user has administrator privileges. Defaults to `false`.
73
+ """
74
+ return pulumi.get(self, "is_admin")
75
+
76
+ @is_admin.setter
77
+ def is_admin(self, value: Optional[pulumi.Input[_builtins.bool]]):
78
+ pulumi.set(self, "is_admin", value)
79
+
80
+ @_builtins.property
81
+ @pulumi.getter
82
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
83
+ """
84
+ Name of the ClickHouse user.
85
+ """
86
+ return pulumi.get(self, "name")
87
+
88
+ @name.setter
89
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
90
+ pulumi.set(self, "name", value)
91
+
92
+ @_builtins.property
93
+ @pulumi.getter
94
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
95
+ """
96
+ `region`) The region in which the user should be created.
97
+ """
98
+ return pulumi.get(self, "region")
99
+
100
+ @region.setter
101
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
102
+ pulumi.set(self, "region", value)
103
+
104
+
105
+ @pulumi.input_type
106
+ class _UserState:
107
+ def __init__(__self__, *,
108
+ deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
109
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
110
+ name: Optional[pulumi.Input[_builtins.str]] = None,
111
+ password: Optional[pulumi.Input[_builtins.str]] = None,
112
+ region: Optional[pulumi.Input[_builtins.str]] = None):
113
+ """
114
+ Input properties used for looking up and filtering User resources.
115
+ :param pulumi.Input[_builtins.str] deployment_id: ID of the Data Warehouse deployment to which this user belongs.
116
+ :param pulumi.Input[_builtins.bool] is_admin: Whether the user has administrator privileges. Defaults to `false`.
117
+ :param pulumi.Input[_builtins.str] name: Name of the ClickHouse user.
118
+ :param pulumi.Input[_builtins.str] password: Password for the ClickHouse user.
119
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the user should be created.
120
+ """
121
+ if deployment_id is not None:
122
+ pulumi.set(__self__, "deployment_id", deployment_id)
123
+ if is_admin is not None:
124
+ pulumi.set(__self__, "is_admin", is_admin)
125
+ if name is not None:
126
+ pulumi.set(__self__, "name", name)
127
+ if password is not None:
128
+ pulumi.set(__self__, "password", password)
129
+ if region is not None:
130
+ pulumi.set(__self__, "region", region)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="deploymentId")
134
+ def deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]:
135
+ """
136
+ ID of the Data Warehouse deployment to which this user belongs.
137
+ """
138
+ return pulumi.get(self, "deployment_id")
139
+
140
+ @deployment_id.setter
141
+ def deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "deployment_id", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="isAdmin")
146
+ def is_admin(self) -> Optional[pulumi.Input[_builtins.bool]]:
147
+ """
148
+ Whether the user has administrator privileges. Defaults to `false`.
149
+ """
150
+ return pulumi.get(self, "is_admin")
151
+
152
+ @is_admin.setter
153
+ def is_admin(self, value: Optional[pulumi.Input[_builtins.bool]]):
154
+ pulumi.set(self, "is_admin", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
159
+ """
160
+ Name of the ClickHouse user.
161
+ """
162
+ return pulumi.get(self, "name")
163
+
164
+ @name.setter
165
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
166
+ pulumi.set(self, "name", value)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter
170
+ def password(self) -> Optional[pulumi.Input[_builtins.str]]:
171
+ """
172
+ Password for the ClickHouse user.
173
+ """
174
+ return pulumi.get(self, "password")
175
+
176
+ @password.setter
177
+ def password(self, value: Optional[pulumi.Input[_builtins.str]]):
178
+ pulumi.set(self, "password", value)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter
182
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
183
+ """
184
+ `region`) The region in which the user should be created.
185
+ """
186
+ return pulumi.get(self, "region")
187
+
188
+ @region.setter
189
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
190
+ pulumi.set(self, "region", value)
191
+
192
+
193
+ @pulumi.type_token("scaleway:datawarehouse/user:User")
194
+ class User(pulumi.CustomResource):
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ opts: Optional[pulumi.ResourceOptions] = None,
199
+ deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
200
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
201
+ name: Optional[pulumi.Input[_builtins.str]] = None,
202
+ password: Optional[pulumi.Input[_builtins.str]] = None,
203
+ region: Optional[pulumi.Input[_builtins.str]] = None,
204
+ __props__=None):
205
+ """
206
+ Creates and manages Scaleway Data Warehouse users within a deployment.
207
+ For more information refer to the [product documentation](https://www.scaleway.com/en/docs/data-warehouse/).
208
+
209
+ ## Example Usage
210
+
211
+ ### Basic
212
+
213
+ ```python
214
+ import pulumi
215
+ import pulumiverse_scaleway as scaleway
216
+
217
+ main = scaleway.datawarehouse.Deployment("main",
218
+ name="my-datawarehouse",
219
+ version="v25",
220
+ replica_count=1,
221
+ cpu_min=2,
222
+ cpu_max=4,
223
+ ram_per_cpu=4,
224
+ password="thiZ_is_v&ry_s3cret")
225
+ main_user = scaleway.datawarehouse.User("main",
226
+ deployment_id=main.id,
227
+ name="my_user",
228
+ password="user_password_123")
229
+ ```
230
+
231
+ ### Admin User
232
+
233
+ ```python
234
+ import pulumi
235
+ import pulumiverse_scaleway as scaleway
236
+
237
+ main = scaleway.datawarehouse.Deployment("main",
238
+ name="my-datawarehouse",
239
+ version="v25",
240
+ replica_count=1,
241
+ cpu_min=2,
242
+ cpu_max=4,
243
+ ram_per_cpu=4,
244
+ password="thiZ_is_v&ry_s3cret")
245
+ admin = scaleway.datawarehouse.User("admin",
246
+ deployment_id=main.id,
247
+ name="admin_user",
248
+ password="admin_password_456",
249
+ is_admin=True)
250
+ ```
251
+
252
+ ## Import
253
+
254
+ Data Warehouse users can be imported using the `{region}/{deployment_id}/{name}`, e.g.
255
+
256
+ bash
257
+
258
+ ```sh
259
+ $ pulumi import scaleway:datawarehouse/user:User main fr-par/11111111-1111-1111-1111-111111111111/my_user
260
+ ```
261
+
262
+ :param str resource_name: The name of the resource.
263
+ :param pulumi.ResourceOptions opts: Options for the resource.
264
+ :param pulumi.Input[_builtins.str] deployment_id: ID of the Data Warehouse deployment to which this user belongs.
265
+ :param pulumi.Input[_builtins.bool] is_admin: Whether the user has administrator privileges. Defaults to `false`.
266
+ :param pulumi.Input[_builtins.str] name: Name of the ClickHouse user.
267
+ :param pulumi.Input[_builtins.str] password: Password for the ClickHouse user.
268
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the user should be created.
269
+ """
270
+ ...
271
+ @overload
272
+ def __init__(__self__,
273
+ resource_name: str,
274
+ args: UserArgs,
275
+ opts: Optional[pulumi.ResourceOptions] = None):
276
+ """
277
+ Creates and manages Scaleway Data Warehouse users within a deployment.
278
+ For more information refer to the [product documentation](https://www.scaleway.com/en/docs/data-warehouse/).
279
+
280
+ ## Example Usage
281
+
282
+ ### Basic
283
+
284
+ ```python
285
+ import pulumi
286
+ import pulumiverse_scaleway as scaleway
287
+
288
+ main = scaleway.datawarehouse.Deployment("main",
289
+ name="my-datawarehouse",
290
+ version="v25",
291
+ replica_count=1,
292
+ cpu_min=2,
293
+ cpu_max=4,
294
+ ram_per_cpu=4,
295
+ password="thiZ_is_v&ry_s3cret")
296
+ main_user = scaleway.datawarehouse.User("main",
297
+ deployment_id=main.id,
298
+ name="my_user",
299
+ password="user_password_123")
300
+ ```
301
+
302
+ ### Admin User
303
+
304
+ ```python
305
+ import pulumi
306
+ import pulumiverse_scaleway as scaleway
307
+
308
+ main = scaleway.datawarehouse.Deployment("main",
309
+ name="my-datawarehouse",
310
+ version="v25",
311
+ replica_count=1,
312
+ cpu_min=2,
313
+ cpu_max=4,
314
+ ram_per_cpu=4,
315
+ password="thiZ_is_v&ry_s3cret")
316
+ admin = scaleway.datawarehouse.User("admin",
317
+ deployment_id=main.id,
318
+ name="admin_user",
319
+ password="admin_password_456",
320
+ is_admin=True)
321
+ ```
322
+
323
+ ## Import
324
+
325
+ Data Warehouse users can be imported using the `{region}/{deployment_id}/{name}`, e.g.
326
+
327
+ bash
328
+
329
+ ```sh
330
+ $ pulumi import scaleway:datawarehouse/user:User main fr-par/11111111-1111-1111-1111-111111111111/my_user
331
+ ```
332
+
333
+ :param str resource_name: The name of the resource.
334
+ :param UserArgs args: The arguments to use to populate this resource's properties.
335
+ :param pulumi.ResourceOptions opts: Options for the resource.
336
+ """
337
+ ...
338
+ def __init__(__self__, resource_name: str, *args, **kwargs):
339
+ resource_args, opts = _utilities.get_resource_args_opts(UserArgs, pulumi.ResourceOptions, *args, **kwargs)
340
+ if resource_args is not None:
341
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
342
+ else:
343
+ __self__._internal_init(resource_name, *args, **kwargs)
344
+
345
+ def _internal_init(__self__,
346
+ resource_name: str,
347
+ opts: Optional[pulumi.ResourceOptions] = None,
348
+ deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
349
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
350
+ name: Optional[pulumi.Input[_builtins.str]] = None,
351
+ password: Optional[pulumi.Input[_builtins.str]] = None,
352
+ region: Optional[pulumi.Input[_builtins.str]] = None,
353
+ __props__=None):
354
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
355
+ if not isinstance(opts, pulumi.ResourceOptions):
356
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
357
+ if opts.id is None:
358
+ if __props__ is not None:
359
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
360
+ __props__ = UserArgs.__new__(UserArgs)
361
+
362
+ if deployment_id is None and not opts.urn:
363
+ raise TypeError("Missing required property 'deployment_id'")
364
+ __props__.__dict__["deployment_id"] = deployment_id
365
+ __props__.__dict__["is_admin"] = is_admin
366
+ __props__.__dict__["name"] = name
367
+ if password is None and not opts.urn:
368
+ raise TypeError("Missing required property 'password'")
369
+ __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
370
+ __props__.__dict__["region"] = region
371
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
372
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
373
+ super(User, __self__).__init__(
374
+ 'scaleway:datawarehouse/user:User',
375
+ resource_name,
376
+ __props__,
377
+ opts)
378
+
379
+ @staticmethod
380
+ def get(resource_name: str,
381
+ id: pulumi.Input[str],
382
+ opts: Optional[pulumi.ResourceOptions] = None,
383
+ deployment_id: Optional[pulumi.Input[_builtins.str]] = None,
384
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
385
+ name: Optional[pulumi.Input[_builtins.str]] = None,
386
+ password: Optional[pulumi.Input[_builtins.str]] = None,
387
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'User':
388
+ """
389
+ Get an existing User resource's state with the given name, id, and optional extra
390
+ properties used to qualify the lookup.
391
+
392
+ :param str resource_name: The unique name of the resulting resource.
393
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
394
+ :param pulumi.ResourceOptions opts: Options for the resource.
395
+ :param pulumi.Input[_builtins.str] deployment_id: ID of the Data Warehouse deployment to which this user belongs.
396
+ :param pulumi.Input[_builtins.bool] is_admin: Whether the user has administrator privileges. Defaults to `false`.
397
+ :param pulumi.Input[_builtins.str] name: Name of the ClickHouse user.
398
+ :param pulumi.Input[_builtins.str] password: Password for the ClickHouse user.
399
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the user should be created.
400
+ """
401
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
402
+
403
+ __props__ = _UserState.__new__(_UserState)
404
+
405
+ __props__.__dict__["deployment_id"] = deployment_id
406
+ __props__.__dict__["is_admin"] = is_admin
407
+ __props__.__dict__["name"] = name
408
+ __props__.__dict__["password"] = password
409
+ __props__.__dict__["region"] = region
410
+ return User(resource_name, opts=opts, __props__=__props__)
411
+
412
+ @_builtins.property
413
+ @pulumi.getter(name="deploymentId")
414
+ def deployment_id(self) -> pulumi.Output[_builtins.str]:
415
+ """
416
+ ID of the Data Warehouse deployment to which this user belongs.
417
+ """
418
+ return pulumi.get(self, "deployment_id")
419
+
420
+ @_builtins.property
421
+ @pulumi.getter(name="isAdmin")
422
+ def is_admin(self) -> pulumi.Output[Optional[_builtins.bool]]:
423
+ """
424
+ Whether the user has administrator privileges. Defaults to `false`.
425
+ """
426
+ return pulumi.get(self, "is_admin")
427
+
428
+ @_builtins.property
429
+ @pulumi.getter
430
+ def name(self) -> pulumi.Output[_builtins.str]:
431
+ """
432
+ Name of the ClickHouse user.
433
+ """
434
+ return pulumi.get(self, "name")
435
+
436
+ @_builtins.property
437
+ @pulumi.getter
438
+ def password(self) -> pulumi.Output[_builtins.str]:
439
+ """
440
+ Password for the ClickHouse user.
441
+ """
442
+ return pulumi.get(self, "password")
443
+
444
+ @_builtins.property
445
+ @pulumi.getter
446
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
447
+ """
448
+ `region`) The region in which the user should be created.
449
+ """
450
+ return pulumi.get(self, "region")
451
+
@@ -442,7 +442,7 @@ class Record(pulumi.CustomResource):
442
442
 
443
443
  ### Create basic DNS records
444
444
 
445
- The folllowing commands allow you to:
445
+ The following commands allow you to:
446
446
 
447
447
  - create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`
448
448
 
@@ -482,7 +482,7 @@ class Record(pulumi.CustomResource):
482
482
 
483
483
  ### Create dynamic records
484
484
 
485
- The folllowing commands allow you to:
485
+ The following commands allow you to:
486
486
 
487
487
  - create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)
488
488
 
@@ -659,7 +659,7 @@ class Record(pulumi.CustomResource):
659
659
 
660
660
  ### Create basic DNS records
661
661
 
662
- The folllowing commands allow you to:
662
+ The following commands allow you to:
663
663
 
664
664
  - create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`
665
665
 
@@ -699,7 +699,7 @@ class Record(pulumi.CustomResource):
699
699
 
700
700
  ### Create dynamic records
701
701
 
702
- The folllowing commands allow you to:
702
+ The following commands allow you to:
703
703
 
704
704
  - create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)
705
705
 
@@ -447,7 +447,7 @@ class DomainRecord(pulumi.CustomResource):
447
447
 
448
448
  ### Create basic DNS records
449
449
 
450
- The folllowing commands allow you to:
450
+ The following commands allow you to:
451
451
 
452
452
  - create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`
453
453
 
@@ -487,7 +487,7 @@ class DomainRecord(pulumi.CustomResource):
487
487
 
488
488
  ### Create dynamic records
489
489
 
490
- The folllowing commands allow you to:
490
+ The following commands allow you to:
491
491
 
492
492
  - create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)
493
493
 
@@ -664,7 +664,7 @@ class DomainRecord(pulumi.CustomResource):
664
664
 
665
665
  ### Create basic DNS records
666
666
 
667
- The folllowing commands allow you to:
667
+ The following commands allow you to:
668
668
 
669
669
  - create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`
670
670
 
@@ -704,7 +704,7 @@ class DomainRecord(pulumi.CustomResource):
704
704
 
705
705
  ### Create dynamic records
706
706
 
707
- The folllowing commands allow you to:
707
+ The following commands allow you to:
708
708
 
709
709
  - create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)
710
710
 
@@ -385,6 +385,21 @@ class EdgeServicesCacheStage(pulumi.CustomResource):
385
385
  backend_stage_id=main_scaleway_edge_services_backend_stage["id"])
386
386
  ```
387
387
 
388
+ ### Purge request
389
+
390
+ ```python
391
+ import pulumi
392
+ import pulumiverse_scaleway as scaleway
393
+
394
+ main = scaleway.EdgeServicesCacheStage("main",
395
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
396
+ backend_stage_id=main_scaleway_edge_services_backend_stage["id"],
397
+ purge=[{
398
+ "pipelineId": main_scaleway_edge_services_pipeline["id"],
399
+ "all": True,
400
+ }])
401
+ ```
402
+
388
403
  ## Import
389
404
 
390
405
  Cache stages can be imported using the `{id}`, e.g.
@@ -429,6 +444,21 @@ class EdgeServicesCacheStage(pulumi.CustomResource):
429
444
  backend_stage_id=main_scaleway_edge_services_backend_stage["id"])
430
445
  ```
431
446
 
447
+ ### Purge request
448
+
449
+ ```python
450
+ import pulumi
451
+ import pulumiverse_scaleway as scaleway
452
+
453
+ main = scaleway.EdgeServicesCacheStage("main",
454
+ pipeline_id=main_scaleway_edge_services_pipeline["id"],
455
+ backend_stage_id=main_scaleway_edge_services_backend_stage["id"],
456
+ purge=[{
457
+ "pipelineId": main_scaleway_edge_services_pipeline["id"],
458
+ "all": True,
459
+ }])
460
+ ```
461
+
432
462
  ## Import
433
463
 
434
464
  Cache stages can be imported using the `{id}`, e.g.