pulumiverse-scaleway 1.30.0a1752168858__py3-none-any.whl → 1.31.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.
Files changed (42) hide show
  1. pulumiverse_scaleway/__init__.py +27 -0
  2. pulumiverse_scaleway/_inputs.py +94 -32
  3. pulumiverse_scaleway/apple_silicon_server.py +47 -0
  4. pulumiverse_scaleway/applesilicon/server.py +47 -0
  5. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  6. pulumiverse_scaleway/autoscaling/_inputs.py +559 -0
  7. pulumiverse_scaleway/autoscaling/instance_group.py +808 -0
  8. pulumiverse_scaleway/autoscaling/instance_policy.py +635 -0
  9. pulumiverse_scaleway/autoscaling/instance_template.py +879 -0
  10. pulumiverse_scaleway/autoscaling/outputs.py +439 -0
  11. pulumiverse_scaleway/edge_services_cache_stage.py +47 -0
  12. pulumiverse_scaleway/get_cockpit_source.py +50 -7
  13. pulumiverse_scaleway/get_kubernetes_node_pool.py +12 -1
  14. pulumiverse_scaleway/get_vpc.py +12 -1
  15. pulumiverse_scaleway/get_vpc_private_network.py +12 -1
  16. pulumiverse_scaleway/kubernetes/get_pool.py +12 -1
  17. pulumiverse_scaleway/kubernetes/pool.py +61 -0
  18. pulumiverse_scaleway/kubernetes_node_pool.py +61 -0
  19. pulumiverse_scaleway/loadbalancer_acl.py +7 -7
  20. pulumiverse_scaleway/loadbalancers/_inputs.py +51 -11
  21. pulumiverse_scaleway/loadbalancers/acl.py +7 -7
  22. pulumiverse_scaleway/loadbalancers/outputs.py +60 -10
  23. pulumiverse_scaleway/network/get_private_network.py +12 -1
  24. pulumiverse_scaleway/network/get_vpc.py +12 -1
  25. pulumiverse_scaleway/network/private_network.py +47 -0
  26. pulumiverse_scaleway/network/vpc.py +47 -0
  27. pulumiverse_scaleway/object/_inputs.py +43 -21
  28. pulumiverse_scaleway/object/bucket_acl.py +6 -4
  29. pulumiverse_scaleway/object/outputs.py +26 -12
  30. pulumiverse_scaleway/object_bucket_acl.py +6 -4
  31. pulumiverse_scaleway/observability/get_source.py +50 -7
  32. pulumiverse_scaleway/outputs.py +86 -22
  33. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  34. pulumiverse_scaleway/vpc.py +47 -0
  35. pulumiverse_scaleway/vpc_private_network.py +47 -0
  36. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/METADATA +1 -1
  37. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/RECORD +39 -36
  38. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +0 -177
  39. pulumiverse_scaleway/get_cockpit_plan.py +0 -94
  40. pulumiverse_scaleway/observability/get_plan.py +0 -90
  41. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/WHEEL +0 -0
  42. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/top_level.txt +0 -0
@@ -143,65 +143,87 @@ class BucketAclAccessControlPolicyGrantArgs:
143
143
 
144
144
  if not MYPY:
145
145
  class BucketAclAccessControlPolicyGrantGranteeArgsDict(TypedDict):
146
- id: pulumi.Input[builtins.str]
146
+ display_name: NotRequired[pulumi.Input[builtins.str]]
147
+ id: NotRequired[pulumi.Input[builtins.str]]
147
148
  """
148
149
  The `region`, `bucket` and `acl` separated by (`/`).
149
150
  """
150
- type: pulumi.Input[builtins.str]
151
+ type: NotRequired[pulumi.Input[builtins.str]]
151
152
  """
152
- Type of grantee. Valid values: `CanonicalUser`
153
+ Type of grantee. Valid values: `CanonicalUser`, `Group`
154
+ """
155
+ uri: NotRequired[pulumi.Input[builtins.str]]
156
+ """
157
+ The uri of the grantee if you are granting permissions to a predefined group.
153
158
  """
154
- display_name: NotRequired[pulumi.Input[builtins.str]]
155
159
  elif False:
156
160
  BucketAclAccessControlPolicyGrantGranteeArgsDict: TypeAlias = Mapping[str, Any]
157
161
 
158
162
  @pulumi.input_type
159
163
  class BucketAclAccessControlPolicyGrantGranteeArgs:
160
164
  def __init__(__self__, *,
161
- id: pulumi.Input[builtins.str],
162
- type: pulumi.Input[builtins.str],
163
- display_name: Optional[pulumi.Input[builtins.str]] = None):
165
+ display_name: Optional[pulumi.Input[builtins.str]] = None,
166
+ id: Optional[pulumi.Input[builtins.str]] = None,
167
+ type: Optional[pulumi.Input[builtins.str]] = None,
168
+ uri: Optional[pulumi.Input[builtins.str]] = None):
164
169
  """
165
170
  :param pulumi.Input[builtins.str] id: The `region`, `bucket` and `acl` separated by (`/`).
166
- :param pulumi.Input[builtins.str] type: Type of grantee. Valid values: `CanonicalUser`
171
+ :param pulumi.Input[builtins.str] type: Type of grantee. Valid values: `CanonicalUser`, `Group`
172
+ :param pulumi.Input[builtins.str] uri: The uri of the grantee if you are granting permissions to a predefined group.
167
173
  """
168
- pulumi.set(__self__, "id", id)
169
- pulumi.set(__self__, "type", type)
170
174
  if display_name is not None:
171
175
  pulumi.set(__self__, "display_name", display_name)
176
+ if id is not None:
177
+ pulumi.set(__self__, "id", id)
178
+ if type is not None:
179
+ pulumi.set(__self__, "type", type)
180
+ if uri is not None:
181
+ pulumi.set(__self__, "uri", uri)
182
+
183
+ @property
184
+ @pulumi.getter(name="displayName")
185
+ def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
186
+ return pulumi.get(self, "display_name")
187
+
188
+ @display_name.setter
189
+ def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
190
+ pulumi.set(self, "display_name", value)
172
191
 
173
192
  @property
174
193
  @pulumi.getter
175
- def id(self) -> pulumi.Input[builtins.str]:
194
+ def id(self) -> Optional[pulumi.Input[builtins.str]]:
176
195
  """
177
196
  The `region`, `bucket` and `acl` separated by (`/`).
178
197
  """
179
198
  return pulumi.get(self, "id")
180
199
 
181
200
  @id.setter
182
- def id(self, value: pulumi.Input[builtins.str]):
201
+ def id(self, value: Optional[pulumi.Input[builtins.str]]):
183
202
  pulumi.set(self, "id", value)
184
203
 
185
204
  @property
186
205
  @pulumi.getter
187
- def type(self) -> pulumi.Input[builtins.str]:
206
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
188
207
  """
189
- Type of grantee. Valid values: `CanonicalUser`
208
+ Type of grantee. Valid values: `CanonicalUser`, `Group`
190
209
  """
191
210
  return pulumi.get(self, "type")
192
211
 
193
212
  @type.setter
194
- def type(self, value: pulumi.Input[builtins.str]):
213
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
195
214
  pulumi.set(self, "type", value)
196
215
 
197
216
  @property
198
- @pulumi.getter(name="displayName")
199
- def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
200
- return pulumi.get(self, "display_name")
217
+ @pulumi.getter
218
+ def uri(self) -> Optional[pulumi.Input[builtins.str]]:
219
+ """
220
+ The uri of the grantee if you are granting permissions to a predefined group.
221
+ """
222
+ return pulumi.get(self, "uri")
201
223
 
202
- @display_name.setter
203
- def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
204
- pulumi.set(self, "display_name", value)
224
+ @uri.setter
225
+ def uri(self, value: Optional[pulumi.Input[builtins.str]]):
226
+ pulumi.set(self, "uri", value)
205
227
 
206
228
 
207
229
  if not MYPY:
@@ -323,8 +323,9 @@ class BucketAcl(pulumi.CustomResource):
323
323
 
324
324
  The `grantee` configuration block supports the following arguments:
325
325
 
326
- * `id` - (Required) The canonical user ID of the grantee.
327
- * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
326
+ * `id` - (Optional) The canonical user ID of the grantee.
327
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser, Group.
328
+ * `uri` - (Optional) The uri of the grantee if type is Group.
328
329
 
329
330
  ## Import
330
331
 
@@ -445,8 +446,9 @@ class BucketAcl(pulumi.CustomResource):
445
446
 
446
447
  The `grantee` configuration block supports the following arguments:
447
448
 
448
- * `id` - (Required) The canonical user ID of the grantee.
449
- * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
449
+ * `id` - (Optional) The canonical user ID of the grantee.
450
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser, Group.
451
+ * `uri` - (Optional) The uri of the grantee if type is Group.
450
452
 
451
453
  ## Import
452
454
 
@@ -113,21 +113,32 @@ class BucketAclAccessControlPolicyGrantGrantee(dict):
113
113
  return super().get(key, default)
114
114
 
115
115
  def __init__(__self__, *,
116
- id: builtins.str,
117
- type: builtins.str,
118
- display_name: Optional[builtins.str] = None):
116
+ display_name: Optional[builtins.str] = None,
117
+ id: Optional[builtins.str] = None,
118
+ type: Optional[builtins.str] = None,
119
+ uri: Optional[builtins.str] = None):
119
120
  """
120
121
  :param builtins.str id: The `region`, `bucket` and `acl` separated by (`/`).
121
- :param builtins.str type: Type of grantee. Valid values: `CanonicalUser`
122
+ :param builtins.str type: Type of grantee. Valid values: `CanonicalUser`, `Group`
123
+ :param builtins.str uri: The uri of the grantee if you are granting permissions to a predefined group.
122
124
  """
123
- pulumi.set(__self__, "id", id)
124
- pulumi.set(__self__, "type", type)
125
125
  if display_name is not None:
126
126
  pulumi.set(__self__, "display_name", display_name)
127
+ if id is not None:
128
+ pulumi.set(__self__, "id", id)
129
+ if type is not None:
130
+ pulumi.set(__self__, "type", type)
131
+ if uri is not None:
132
+ pulumi.set(__self__, "uri", uri)
133
+
134
+ @property
135
+ @pulumi.getter(name="displayName")
136
+ def display_name(self) -> Optional[builtins.str]:
137
+ return pulumi.get(self, "display_name")
127
138
 
128
139
  @property
129
140
  @pulumi.getter
130
- def id(self) -> builtins.str:
141
+ def id(self) -> Optional[builtins.str]:
131
142
  """
132
143
  The `region`, `bucket` and `acl` separated by (`/`).
133
144
  """
@@ -135,16 +146,19 @@ class BucketAclAccessControlPolicyGrantGrantee(dict):
135
146
 
136
147
  @property
137
148
  @pulumi.getter
138
- def type(self) -> builtins.str:
149
+ def type(self) -> Optional[builtins.str]:
139
150
  """
140
- Type of grantee. Valid values: `CanonicalUser`
151
+ Type of grantee. Valid values: `CanonicalUser`, `Group`
141
152
  """
142
153
  return pulumi.get(self, "type")
143
154
 
144
155
  @property
145
- @pulumi.getter(name="displayName")
146
- def display_name(self) -> Optional[builtins.str]:
147
- return pulumi.get(self, "display_name")
156
+ @pulumi.getter
157
+ def uri(self) -> Optional[builtins.str]:
158
+ """
159
+ The uri of the grantee if you are granting permissions to a predefined group.
160
+ """
161
+ return pulumi.get(self, "uri")
148
162
 
149
163
 
150
164
  @pulumi.output_type
@@ -328,8 +328,9 @@ class ObjectBucketAcl(pulumi.CustomResource):
328
328
 
329
329
  The `grantee` configuration block supports the following arguments:
330
330
 
331
- * `id` - (Required) The canonical user ID of the grantee.
332
- * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
331
+ * `id` - (Optional) The canonical user ID of the grantee.
332
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser, Group.
333
+ * `uri` - (Optional) The uri of the grantee if type is Group.
333
334
 
334
335
  ## Import
335
336
 
@@ -450,8 +451,9 @@ class ObjectBucketAcl(pulumi.CustomResource):
450
451
 
451
452
  The `grantee` configuration block supports the following arguments:
452
453
 
453
- * `id` - (Required) The canonical user ID of the grantee.
454
- * `type` - (Required) Type of grantee. Valid values: CanonicalUser.
454
+ * `id` - (Optional) The canonical user ID of the grantee.
455
+ * `type` - (Required) Type of grantee. Valid values: CanonicalUser, Group.
456
+ * `uri` - (Optional) The uri of the grantee if type is Group.
455
457
 
456
458
  ## Import
457
459
 
@@ -27,7 +27,7 @@ class GetSourceResult:
27
27
  """
28
28
  A collection of values returned by getSource.
29
29
  """
30
- def __init__(__self__, created_at=None, id=None, name=None, origin=None, project_id=None, region=None, retention_days=None, synchronized_with_grafana=None, type=None, updated_at=None, url=None):
30
+ def __init__(__self__, created_at=None, id=None, name=None, origin=None, project_id=None, push_url=None, region=None, retention_days=None, synchronized_with_grafana=None, type=None, updated_at=None, url=None):
31
31
  if created_at and not isinstance(created_at, str):
32
32
  raise TypeError("Expected argument 'created_at' to be a str")
33
33
  pulumi.set(__self__, "created_at", created_at)
@@ -43,6 +43,9 @@ class GetSourceResult:
43
43
  if project_id and not isinstance(project_id, str):
44
44
  raise TypeError("Expected argument 'project_id' to be a str")
45
45
  pulumi.set(__self__, "project_id", project_id)
46
+ if push_url and not isinstance(push_url, str):
47
+ raise TypeError("Expected argument 'push_url' to be a str")
48
+ pulumi.set(__self__, "push_url", push_url)
46
49
  if region and not isinstance(region, str):
47
50
  raise TypeError("Expected argument 'region' to be a str")
48
51
  pulumi.set(__self__, "region", region)
@@ -72,7 +75,7 @@ class GetSourceResult:
72
75
 
73
76
  @property
74
77
  @pulumi.getter
75
- def id(self) -> builtins.str:
78
+ def id(self) -> Optional[builtins.str]:
76
79
  """
77
80
  The unique identifier of the data source in the `{region}/{id}` format.
78
81
  """
@@ -80,12 +83,12 @@ class GetSourceResult:
80
83
 
81
84
  @property
82
85
  @pulumi.getter
83
- def name(self) -> builtins.str:
86
+ def name(self) -> Optional[builtins.str]:
84
87
  return pulumi.get(self, "name")
85
88
 
86
89
  @property
87
90
  @pulumi.getter
88
- def origin(self) -> builtins.str:
91
+ def origin(self) -> Optional[builtins.str]:
89
92
  """
90
93
  The origin of the data source.
91
94
  """
@@ -93,12 +96,17 @@ class GetSourceResult:
93
96
 
94
97
  @property
95
98
  @pulumi.getter(name="projectId")
96
- def project_id(self) -> builtins.str:
99
+ def project_id(self) -> Optional[builtins.str]:
97
100
  return pulumi.get(self, "project_id")
98
101
 
102
+ @property
103
+ @pulumi.getter(name="pushUrl")
104
+ def push_url(self) -> builtins.str:
105
+ return pulumi.get(self, "push_url")
106
+
99
107
  @property
100
108
  @pulumi.getter
101
- def region(self) -> builtins.str:
109
+ def region(self) -> Optional[builtins.str]:
102
110
  return pulumi.get(self, "region")
103
111
 
104
112
  @property
@@ -119,7 +127,7 @@ class GetSourceResult:
119
127
 
120
128
  @property
121
129
  @pulumi.getter
122
- def type(self) -> builtins.str:
130
+ def type(self) -> Optional[builtins.str]:
123
131
  return pulumi.get(self, "type")
124
132
 
125
133
  @property
@@ -150,6 +158,7 @@ class AwaitableGetSourceResult(GetSourceResult):
150
158
  name=self.name,
151
159
  origin=self.origin,
152
160
  project_id=self.project_id,
161
+ push_url=self.push_url,
153
162
  region=self.region,
154
163
  retention_days=self.retention_days,
155
164
  synchronized_with_grafana=self.synchronized_with_grafana,
@@ -162,6 +171,7 @@ def get_source(id: Optional[builtins.str] = None,
162
171
  name: Optional[builtins.str] = None,
163
172
  origin: Optional[builtins.str] = None,
164
173
  project_id: Optional[builtins.str] = None,
174
+ region: Optional[builtins.str] = None,
165
175
  type: Optional[builtins.str] = None,
166
176
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSourceResult:
167
177
  """
@@ -182,11 +192,25 @@ def get_source(id: Optional[builtins.str] = None,
182
192
  example = scaleway.observability.get_source(id="fr-par/11111111-1111-1111-1111-111111111111")
183
193
  ```
184
194
 
195
+ ### Retrieve a data source by filters
196
+
197
+ You can also retrieve a data source by specifying filtering criteria such as `name`, `type`, and `origin`.
198
+
199
+ ```python
200
+ import pulumi
201
+ import pulumi_scaleway as scaleway
202
+
203
+ filtered = scaleway.observability.get_source(project_id="11111111-1111-1111-1111-111111111111",
204
+ region="fr-par",
205
+ name="my-data-source")
206
+ ```
207
+
185
208
 
186
209
  :param builtins.str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored.
187
210
  :param builtins.str name: The name of the data source.
188
211
  :param builtins.str origin: The origin of the data source. Possible values are:
189
212
  :param builtins.str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration.
213
+ :param builtins.str region: The region where the data source is located. Defaults to the region specified in the provider configuration.
190
214
  :param builtins.str type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
191
215
  """
192
216
  __args__ = dict()
@@ -194,6 +218,7 @@ def get_source(id: Optional[builtins.str] = None,
194
218
  __args__['name'] = name
195
219
  __args__['origin'] = origin
196
220
  __args__['projectId'] = project_id
221
+ __args__['region'] = region
197
222
  __args__['type'] = type
198
223
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
199
224
  __ret__ = pulumi.runtime.invoke('scaleway:observability/getSource:getSource', __args__, opts=opts, typ=GetSourceResult).value
@@ -204,6 +229,7 @@ def get_source(id: Optional[builtins.str] = None,
204
229
  name=pulumi.get(__ret__, 'name'),
205
230
  origin=pulumi.get(__ret__, 'origin'),
206
231
  project_id=pulumi.get(__ret__, 'project_id'),
232
+ push_url=pulumi.get(__ret__, 'push_url'),
207
233
  region=pulumi.get(__ret__, 'region'),
208
234
  retention_days=pulumi.get(__ret__, 'retention_days'),
209
235
  synchronized_with_grafana=pulumi.get(__ret__, 'synchronized_with_grafana'),
@@ -214,6 +240,7 @@ def get_source_output(id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
214
240
  name: Optional[pulumi.Input[Optional[builtins.str]]] = None,
215
241
  origin: Optional[pulumi.Input[Optional[builtins.str]]] = None,
216
242
  project_id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
243
+ region: Optional[pulumi.Input[Optional[builtins.str]]] = None,
217
244
  type: Optional[pulumi.Input[Optional[builtins.str]]] = None,
218
245
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSourceResult]:
219
246
  """
@@ -234,11 +261,25 @@ def get_source_output(id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
234
261
  example = scaleway.observability.get_source(id="fr-par/11111111-1111-1111-1111-111111111111")
235
262
  ```
236
263
 
264
+ ### Retrieve a data source by filters
265
+
266
+ You can also retrieve a data source by specifying filtering criteria such as `name`, `type`, and `origin`.
267
+
268
+ ```python
269
+ import pulumi
270
+ import pulumi_scaleway as scaleway
271
+
272
+ filtered = scaleway.observability.get_source(project_id="11111111-1111-1111-1111-111111111111",
273
+ region="fr-par",
274
+ name="my-data-source")
275
+ ```
276
+
237
277
 
238
278
  :param builtins.str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored.
239
279
  :param builtins.str name: The name of the data source.
240
280
  :param builtins.str origin: The origin of the data source. Possible values are:
241
281
  :param builtins.str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration.
282
+ :param builtins.str region: The region where the data source is located. Defaults to the region specified in the provider configuration.
242
283
  :param builtins.str type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
243
284
  """
244
285
  __args__ = dict()
@@ -246,6 +287,7 @@ def get_source_output(id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
246
287
  __args__['name'] = name
247
288
  __args__['origin'] = origin
248
289
  __args__['projectId'] = project_id
290
+ __args__['region'] = region
249
291
  __args__['type'] = type
250
292
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
251
293
  __ret__ = pulumi.runtime.invoke_output('scaleway:observability/getSource:getSource', __args__, opts=opts, typ=GetSourceResult)
@@ -255,6 +297,7 @@ def get_source_output(id: Optional[pulumi.Input[Optional[builtins.str]]] = None,
255
297
  name=pulumi.get(__response__, 'name'),
256
298
  origin=pulumi.get(__response__, 'origin'),
257
299
  project_id=pulumi.get(__response__, 'project_id'),
300
+ push_url=pulumi.get(__response__, 'push_url'),
258
301
  region=pulumi.get(__response__, 'region'),
259
302
  retention_days=pulumi.get(__response__, 'retention_days'),
260
303
  synchronized_with_grafana=pulumi.get(__response__, 'synchronized_with_grafana'),