pulumiverse-scaleway 1.36.0a1761749977__py3-none-any.whl → 1.36.0a1761895416__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 (37) hide show
  1. pulumiverse_scaleway/_inputs.py +151 -3
  2. pulumiverse_scaleway/database_instance.py +71 -21
  3. pulumiverse_scaleway/database_user.py +6 -6
  4. pulumiverse_scaleway/databases/_inputs.py +97 -3
  5. pulumiverse_scaleway/databases/get_instance.py +12 -1
  6. pulumiverse_scaleway/databases/instance.py +71 -21
  7. pulumiverse_scaleway/databases/outputs.py +127 -2
  8. pulumiverse_scaleway/databases/user.py +6 -6
  9. pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
  10. pulumiverse_scaleway/file_filesystem.py +33 -33
  11. pulumiverse_scaleway/get_baremetal_offer.py +2 -0
  12. pulumiverse_scaleway/get_database_instance.py +12 -1
  13. pulumiverse_scaleway/get_instance_server.py +13 -83
  14. pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
  15. pulumiverse_scaleway/iam/__init__.py +1 -0
  16. pulumiverse_scaleway/iam/get_policy.py +293 -0
  17. pulumiverse_scaleway/iam/outputs.py +52 -0
  18. pulumiverse_scaleway/instance/_inputs.py +54 -0
  19. pulumiverse_scaleway/instance/get_server.py +13 -83
  20. pulumiverse_scaleway/instance/outputs.py +87 -75
  21. pulumiverse_scaleway/instance/server.py +95 -230
  22. pulumiverse_scaleway/instance_server.py +95 -230
  23. pulumiverse_scaleway/iot/device.py +0 -38
  24. pulumiverse_scaleway/iot/route.py +20 -20
  25. pulumiverse_scaleway/iot_device.py +0 -38
  26. pulumiverse_scaleway/iot_route.py +20 -20
  27. pulumiverse_scaleway/kubernetes/cluster.py +208 -4
  28. pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
  29. pulumiverse_scaleway/kubernetes_cluster.py +208 -4
  30. pulumiverse_scaleway/object/bucket_policy.py +0 -64
  31. pulumiverse_scaleway/object_bucket_policy.py +0 -64
  32. pulumiverse_scaleway/outputs.py +214 -77
  33. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  34. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/METADATA +1 -1
  35. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/RECORD +37 -36
  36. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/WHEEL +0 -0
  37. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/top_level.txt +0 -0
@@ -29,7 +29,7 @@ class GetDatabaseInstanceResult:
29
29
  """
30
30
  A collection of values returned by getDatabaseInstance.
31
31
  """
32
- def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_ips=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, user_name=None, volume_size_in_gb=None, volume_type=None):
32
+ def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_ips=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, upgradable_versions=None, user_name=None, volume_size_in_gb=None, volume_type=None):
33
33
  if backup_same_region and not isinstance(backup_same_region, bool):
34
34
  raise TypeError("Expected argument 'backup_same_region' to be a bool")
35
35
  pulumi.set(__self__, "backup_same_region", backup_same_region)
@@ -111,6 +111,9 @@ class GetDatabaseInstanceResult:
111
111
  if tags and not isinstance(tags, list):
112
112
  raise TypeError("Expected argument 'tags' to be a list")
113
113
  pulumi.set(__self__, "tags", tags)
114
+ if upgradable_versions and not isinstance(upgradable_versions, list):
115
+ raise TypeError("Expected argument 'upgradable_versions' to be a list")
116
+ pulumi.set(__self__, "upgradable_versions", upgradable_versions)
114
117
  if user_name and not isinstance(user_name, str):
115
118
  raise TypeError("Expected argument 'user_name' to be a str")
116
119
  pulumi.set(__self__, "user_name", user_name)
@@ -259,6 +262,11 @@ class GetDatabaseInstanceResult:
259
262
  def tags(self) -> Sequence[_builtins.str]:
260
263
  return pulumi.get(self, "tags")
261
264
 
265
+ @_builtins.property
266
+ @pulumi.getter(name="upgradableVersions")
267
+ def upgradable_versions(self) -> Sequence['outputs.GetDatabaseInstanceUpgradableVersionResult']:
268
+ return pulumi.get(self, "upgradable_versions")
269
+
262
270
  @_builtins.property
263
271
  @pulumi.getter(name="userName")
264
272
  def user_name(self) -> _builtins.str:
@@ -308,6 +316,7 @@ class AwaitableGetDatabaseInstanceResult(GetDatabaseInstanceResult):
308
316
  settings=self.settings,
309
317
  snapshot_id=self.snapshot_id,
310
318
  tags=self.tags,
319
+ upgradable_versions=self.upgradable_versions,
311
320
  user_name=self.user_name,
312
321
  volume_size_in_gb=self.volume_size_in_gb,
313
322
  volume_type=self.volume_type)
@@ -368,6 +377,7 @@ def get_database_instance(instance_id: Optional[_builtins.str] = None,
368
377
  settings=pulumi.get(__ret__, 'settings'),
369
378
  snapshot_id=pulumi.get(__ret__, 'snapshot_id'),
370
379
  tags=pulumi.get(__ret__, 'tags'),
380
+ upgradable_versions=pulumi.get(__ret__, 'upgradable_versions'),
371
381
  user_name=pulumi.get(__ret__, 'user_name'),
372
382
  volume_size_in_gb=pulumi.get(__ret__, 'volume_size_in_gb'),
373
383
  volume_type=pulumi.get(__ret__, 'volume_type'))
@@ -425,6 +435,7 @@ def get_database_instance_output(instance_id: Optional[pulumi.Input[Optional[_bu
425
435
  settings=pulumi.get(__response__, 'settings'),
426
436
  snapshot_id=pulumi.get(__response__, 'snapshot_id'),
427
437
  tags=pulumi.get(__response__, 'tags'),
438
+ upgradable_versions=pulumi.get(__response__, 'upgradable_versions'),
428
439
  user_name=pulumi.get(__response__, 'user_name'),
429
440
  volume_size_in_gb=pulumi.get(__response__, 'volume_size_in_gb'),
430
441
  volume_type=pulumi.get(__response__, 'volume_type')))
@@ -29,7 +29,7 @@ class GetInstanceServerResult:
29
29
  """
30
30
  A collection of values returned by getInstanceServer.
31
31
  """
32
- def __init__(__self__, additional_volume_ids=None, admin_password_encryption_ssh_key_id=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_ips=None, private_networks=None, project_id=None, protected=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
32
+ def __init__(__self__, additional_volume_ids=None, admin_password_encryption_ssh_key_id=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, filesystems=None, id=None, image=None, ip_id=None, ip_ids=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ips=None, private_networks=None, project_id=None, protected=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
33
33
  if additional_volume_ids and not isinstance(additional_volume_ids, list):
34
34
  raise TypeError("Expected argument 'additional_volume_ids' to be a list")
35
35
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
@@ -48,9 +48,9 @@ class GetInstanceServerResult:
48
48
  if enable_dynamic_ip and not isinstance(enable_dynamic_ip, bool):
49
49
  raise TypeError("Expected argument 'enable_dynamic_ip' to be a bool")
50
50
  pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
51
- if enable_ipv6 and not isinstance(enable_ipv6, bool):
52
- raise TypeError("Expected argument 'enable_ipv6' to be a bool")
53
- pulumi.set(__self__, "enable_ipv6", enable_ipv6)
51
+ if filesystems and not isinstance(filesystems, list):
52
+ raise TypeError("Expected argument 'filesystems' to be a list")
53
+ pulumi.set(__self__, "filesystems", filesystems)
54
54
  if id and not isinstance(id, str):
55
55
  raise TypeError("Expected argument 'id' to be a str")
56
56
  pulumi.set(__self__, "id", id)
@@ -63,15 +63,6 @@ class GetInstanceServerResult:
63
63
  if ip_ids and not isinstance(ip_ids, list):
64
64
  raise TypeError("Expected argument 'ip_ids' to be a list")
65
65
  pulumi.set(__self__, "ip_ids", ip_ids)
66
- if ipv6_address and not isinstance(ipv6_address, str):
67
- raise TypeError("Expected argument 'ipv6_address' to be a str")
68
- pulumi.set(__self__, "ipv6_address", ipv6_address)
69
- if ipv6_gateway and not isinstance(ipv6_gateway, str):
70
- raise TypeError("Expected argument 'ipv6_gateway' to be a str")
71
- pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
72
- if ipv6_prefix_length and not isinstance(ipv6_prefix_length, int):
73
- raise TypeError("Expected argument 'ipv6_prefix_length' to be a int")
74
- pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length)
75
66
  if name and not isinstance(name, str):
76
67
  raise TypeError("Expected argument 'name' to be a str")
77
68
  pulumi.set(__self__, "name", name)
@@ -84,9 +75,6 @@ class GetInstanceServerResult:
84
75
  if placement_group_policy_respected and not isinstance(placement_group_policy_respected, bool):
85
76
  raise TypeError("Expected argument 'placement_group_policy_respected' to be a bool")
86
77
  pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
87
- if private_ip and not isinstance(private_ip, str):
88
- raise TypeError("Expected argument 'private_ip' to be a str")
89
- pulumi.set(__self__, "private_ip", private_ip)
90
78
  if private_ips and not isinstance(private_ips, list):
91
79
  raise TypeError("Expected argument 'private_ips' to be a list")
92
80
  pulumi.set(__self__, "private_ips", private_ips)
@@ -99,9 +87,6 @@ class GetInstanceServerResult:
99
87
  if protected and not isinstance(protected, bool):
100
88
  raise TypeError("Expected argument 'protected' to be a bool")
101
89
  pulumi.set(__self__, "protected", protected)
102
- if public_ip and not isinstance(public_ip, str):
103
- raise TypeError("Expected argument 'public_ip' to be a str")
104
- pulumi.set(__self__, "public_ip", public_ip)
105
90
  if public_ips and not isinstance(public_ips, list):
106
91
  raise TypeError("Expected argument 'public_ips' to be a list")
107
92
  pulumi.set(__self__, "public_ips", public_ips)
@@ -174,12 +159,9 @@ class GetInstanceServerResult:
174
159
  return pulumi.get(self, "enable_dynamic_ip")
175
160
 
176
161
  @_builtins.property
177
- @pulumi.getter(name="enableIpv6")
178
- def enable_ipv6(self) -> _builtins.bool:
179
- """
180
- Determines if IPv6 is enabled for the server.
181
- """
182
- return pulumi.get(self, "enable_ipv6")
162
+ @pulumi.getter
163
+ def filesystems(self) -> Sequence['outputs.GetInstanceServerFilesystemResult']:
164
+ return pulumi.get(self, "filesystems")
183
165
 
184
166
  @_builtins.property
185
167
  @pulumi.getter
@@ -207,30 +189,6 @@ class GetInstanceServerResult:
207
189
  def ip_ids(self) -> Sequence[_builtins.str]:
208
190
  return pulumi.get(self, "ip_ids")
209
191
 
210
- @_builtins.property
211
- @pulumi.getter(name="ipv6Address")
212
- def ipv6_address(self) -> _builtins.str:
213
- """
214
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
215
- """
216
- return pulumi.get(self, "ipv6_address")
217
-
218
- @_builtins.property
219
- @pulumi.getter(name="ipv6Gateway")
220
- def ipv6_gateway(self) -> _builtins.str:
221
- """
222
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
223
- """
224
- return pulumi.get(self, "ipv6_gateway")
225
-
226
- @_builtins.property
227
- @pulumi.getter(name="ipv6PrefixLength")
228
- def ipv6_prefix_length(self) -> _builtins.int:
229
- """
230
- The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
231
- """
232
- return pulumi.get(self, "ipv6_prefix_length")
233
-
234
192
  @_builtins.property
235
193
  @pulumi.getter
236
194
  def name(self) -> Optional[_builtins.str]:
@@ -260,17 +218,12 @@ class GetInstanceServerResult:
260
218
  """
261
219
  return pulumi.get(self, "placement_group_policy_respected")
262
220
 
263
- @_builtins.property
264
- @pulumi.getter(name="privateIp")
265
- def private_ip(self) -> _builtins.str:
266
- """
267
- The Scaleway internal IP address of the server.
268
- """
269
- return pulumi.get(self, "private_ip")
270
-
271
221
  @_builtins.property
272
222
  @pulumi.getter(name="privateIps")
273
223
  def private_ips(self) -> Sequence['outputs.GetInstanceServerPrivateIpResult']:
224
+ """
225
+ The list of private IPs of the server.
226
+ """
274
227
  return pulumi.get(self, "private_ips")
275
228
 
276
229
  @_builtins.property
@@ -288,14 +241,6 @@ class GetInstanceServerResult:
288
241
  def protected(self) -> _builtins.bool:
289
242
  return pulumi.get(self, "protected")
290
243
 
291
- @_builtins.property
292
- @pulumi.getter(name="publicIp")
293
- def public_ip(self) -> _builtins.str:
294
- """
295
- The public IP address of the server.
296
- """
297
- return pulumi.get(self, "public_ip")
298
-
299
244
  @_builtins.property
300
245
  @pulumi.getter(name="publicIps")
301
246
  def public_ips(self) -> Sequence['outputs.GetInstanceServerPublicIpResult']:
@@ -378,24 +323,19 @@ class AwaitableGetInstanceServerResult(GetInstanceServerResult):
378
323
  bootscript_id=self.bootscript_id,
379
324
  cloud_init=self.cloud_init,
380
325
  enable_dynamic_ip=self.enable_dynamic_ip,
381
- enable_ipv6=self.enable_ipv6,
326
+ filesystems=self.filesystems,
382
327
  id=self.id,
383
328
  image=self.image,
384
329
  ip_id=self.ip_id,
385
330
  ip_ids=self.ip_ids,
386
- ipv6_address=self.ipv6_address,
387
- ipv6_gateway=self.ipv6_gateway,
388
- ipv6_prefix_length=self.ipv6_prefix_length,
389
331
  name=self.name,
390
332
  organization_id=self.organization_id,
391
333
  placement_group_id=self.placement_group_id,
392
334
  placement_group_policy_respected=self.placement_group_policy_respected,
393
- private_ip=self.private_ip,
394
335
  private_ips=self.private_ips,
395
336
  private_networks=self.private_networks,
396
337
  project_id=self.project_id,
397
338
  protected=self.protected,
398
- public_ip=self.public_ip,
399
339
  public_ips=self.public_ips,
400
340
  replace_on_type_change=self.replace_on_type_change,
401
341
  root_volumes=self.root_volumes,
@@ -438,24 +378,19 @@ def get_instance_server(name: Optional[_builtins.str] = None,
438
378
  bootscript_id=pulumi.get(__ret__, 'bootscript_id'),
439
379
  cloud_init=pulumi.get(__ret__, 'cloud_init'),
440
380
  enable_dynamic_ip=pulumi.get(__ret__, 'enable_dynamic_ip'),
441
- enable_ipv6=pulumi.get(__ret__, 'enable_ipv6'),
381
+ filesystems=pulumi.get(__ret__, 'filesystems'),
442
382
  id=pulumi.get(__ret__, 'id'),
443
383
  image=pulumi.get(__ret__, 'image'),
444
384
  ip_id=pulumi.get(__ret__, 'ip_id'),
445
385
  ip_ids=pulumi.get(__ret__, 'ip_ids'),
446
- ipv6_address=pulumi.get(__ret__, 'ipv6_address'),
447
- ipv6_gateway=pulumi.get(__ret__, 'ipv6_gateway'),
448
- ipv6_prefix_length=pulumi.get(__ret__, 'ipv6_prefix_length'),
449
386
  name=pulumi.get(__ret__, 'name'),
450
387
  organization_id=pulumi.get(__ret__, 'organization_id'),
451
388
  placement_group_id=pulumi.get(__ret__, 'placement_group_id'),
452
389
  placement_group_policy_respected=pulumi.get(__ret__, 'placement_group_policy_respected'),
453
- private_ip=pulumi.get(__ret__, 'private_ip'),
454
390
  private_ips=pulumi.get(__ret__, 'private_ips'),
455
391
  private_networks=pulumi.get(__ret__, 'private_networks'),
456
392
  project_id=pulumi.get(__ret__, 'project_id'),
457
393
  protected=pulumi.get(__ret__, 'protected'),
458
- public_ip=pulumi.get(__ret__, 'public_ip'),
459
394
  public_ips=pulumi.get(__ret__, 'public_ips'),
460
395
  replace_on_type_change=pulumi.get(__ret__, 'replace_on_type_change'),
461
396
  root_volumes=pulumi.get(__ret__, 'root_volumes'),
@@ -495,24 +430,19 @@ def get_instance_server_output(name: Optional[pulumi.Input[Optional[_builtins.st
495
430
  bootscript_id=pulumi.get(__response__, 'bootscript_id'),
496
431
  cloud_init=pulumi.get(__response__, 'cloud_init'),
497
432
  enable_dynamic_ip=pulumi.get(__response__, 'enable_dynamic_ip'),
498
- enable_ipv6=pulumi.get(__response__, 'enable_ipv6'),
433
+ filesystems=pulumi.get(__response__, 'filesystems'),
499
434
  id=pulumi.get(__response__, 'id'),
500
435
  image=pulumi.get(__response__, 'image'),
501
436
  ip_id=pulumi.get(__response__, 'ip_id'),
502
437
  ip_ids=pulumi.get(__response__, 'ip_ids'),
503
- ipv6_address=pulumi.get(__response__, 'ipv6_address'),
504
- ipv6_gateway=pulumi.get(__response__, 'ipv6_gateway'),
505
- ipv6_prefix_length=pulumi.get(__response__, 'ipv6_prefix_length'),
506
438
  name=pulumi.get(__response__, 'name'),
507
439
  organization_id=pulumi.get(__response__, 'organization_id'),
508
440
  placement_group_id=pulumi.get(__response__, 'placement_group_id'),
509
441
  placement_group_policy_respected=pulumi.get(__response__, 'placement_group_policy_respected'),
510
- private_ip=pulumi.get(__response__, 'private_ip'),
511
442
  private_ips=pulumi.get(__response__, 'private_ips'),
512
443
  private_networks=pulumi.get(__response__, 'private_networks'),
513
444
  project_id=pulumi.get(__response__, 'project_id'),
514
445
  protected=pulumi.get(__response__, 'protected'),
515
- public_ip=pulumi.get(__response__, 'public_ip'),
516
446
  public_ips=pulumi.get(__response__, 'public_ips'),
517
447
  replace_on_type_change=pulumi.get(__response__, 'replace_on_type_change'),
518
448
  root_volumes=pulumi.get(__response__, 'root_volumes'),
@@ -29,7 +29,7 @@ class GetKubernetesClusterResult:
29
29
  """
30
30
  A collection of values returned by getKubernetesCluster.
31
31
  """
32
- def __init__(__self__, admission_plugins=None, apiserver_cert_sans=None, apiserver_url=None, auto_upgrades=None, autoscaler_configs=None, cluster_id=None, cni=None, created_at=None, description=None, feature_gates=None, id=None, kubeconfigs=None, name=None, open_id_connect_configs=None, organization_id=None, private_network_id=None, project_id=None, region=None, status=None, tags=None, type=None, updated_at=None, upgrade_available=None, version=None, wildcard_dns=None):
32
+ def __init__(__self__, admission_plugins=None, apiserver_cert_sans=None, apiserver_url=None, auto_upgrades=None, autoscaler_configs=None, cluster_id=None, cni=None, created_at=None, description=None, feature_gates=None, id=None, kubeconfigs=None, name=None, open_id_connect_configs=None, organization_id=None, pod_cidr=None, private_network_id=None, project_id=None, region=None, service_cidr=None, service_dns_ip=None, status=None, tags=None, type=None, updated_at=None, upgrade_available=None, version=None, wildcard_dns=None):
33
33
  if admission_plugins and not isinstance(admission_plugins, list):
34
34
  raise TypeError("Expected argument 'admission_plugins' to be a list")
35
35
  pulumi.set(__self__, "admission_plugins", admission_plugins)
@@ -75,6 +75,9 @@ class GetKubernetesClusterResult:
75
75
  if organization_id and not isinstance(organization_id, str):
76
76
  raise TypeError("Expected argument 'organization_id' to be a str")
77
77
  pulumi.set(__self__, "organization_id", organization_id)
78
+ if pod_cidr and not isinstance(pod_cidr, str):
79
+ raise TypeError("Expected argument 'pod_cidr' to be a str")
80
+ pulumi.set(__self__, "pod_cidr", pod_cidr)
78
81
  if private_network_id and not isinstance(private_network_id, str):
79
82
  raise TypeError("Expected argument 'private_network_id' to be a str")
80
83
  pulumi.set(__self__, "private_network_id", private_network_id)
@@ -84,6 +87,12 @@ class GetKubernetesClusterResult:
84
87
  if region and not isinstance(region, str):
85
88
  raise TypeError("Expected argument 'region' to be a str")
86
89
  pulumi.set(__self__, "region", region)
90
+ if service_cidr and not isinstance(service_cidr, str):
91
+ raise TypeError("Expected argument 'service_cidr' to be a str")
92
+ pulumi.set(__self__, "service_cidr", service_cidr)
93
+ if service_dns_ip and not isinstance(service_dns_ip, str):
94
+ raise TypeError("Expected argument 'service_dns_ip' to be a str")
95
+ pulumi.set(__self__, "service_dns_ip", service_dns_ip)
87
96
  if status and not isinstance(status, str):
88
97
  raise TypeError("Expected argument 'status' to be a str")
89
98
  pulumi.set(__self__, "status", status)
@@ -211,6 +220,11 @@ class GetKubernetesClusterResult:
211
220
  """
212
221
  return pulumi.get(self, "organization_id")
213
222
 
223
+ @_builtins.property
224
+ @pulumi.getter(name="podCidr")
225
+ def pod_cidr(self) -> _builtins.str:
226
+ return pulumi.get(self, "pod_cidr")
227
+
214
228
  @_builtins.property
215
229
  @pulumi.getter(name="privateNetworkId")
216
230
  def private_network_id(self) -> _builtins.str:
@@ -232,6 +246,16 @@ class GetKubernetesClusterResult:
232
246
  """
233
247
  return pulumi.get(self, "region")
234
248
 
249
+ @_builtins.property
250
+ @pulumi.getter(name="serviceCidr")
251
+ def service_cidr(self) -> _builtins.str:
252
+ return pulumi.get(self, "service_cidr")
253
+
254
+ @_builtins.property
255
+ @pulumi.getter(name="serviceDnsIp")
256
+ def service_dns_ip(self) -> _builtins.str:
257
+ return pulumi.get(self, "service_dns_ip")
258
+
235
259
  @_builtins.property
236
260
  @pulumi.getter
237
261
  def status(self) -> _builtins.str:
@@ -310,9 +334,12 @@ class AwaitableGetKubernetesClusterResult(GetKubernetesClusterResult):
310
334
  name=self.name,
311
335
  open_id_connect_configs=self.open_id_connect_configs,
312
336
  organization_id=self.organization_id,
337
+ pod_cidr=self.pod_cidr,
313
338
  private_network_id=self.private_network_id,
314
339
  project_id=self.project_id,
315
340
  region=self.region,
341
+ service_cidr=self.service_cidr,
342
+ service_dns_ip=self.service_dns_ip,
316
343
  status=self.status,
317
344
  tags=self.tags,
318
345
  type=self.type,
@@ -361,9 +388,12 @@ def get_kubernetes_cluster(cluster_id: Optional[_builtins.str] = None,
361
388
  name=pulumi.get(__ret__, 'name'),
362
389
  open_id_connect_configs=pulumi.get(__ret__, 'open_id_connect_configs'),
363
390
  organization_id=pulumi.get(__ret__, 'organization_id'),
391
+ pod_cidr=pulumi.get(__ret__, 'pod_cidr'),
364
392
  private_network_id=pulumi.get(__ret__, 'private_network_id'),
365
393
  project_id=pulumi.get(__ret__, 'project_id'),
366
394
  region=pulumi.get(__ret__, 'region'),
395
+ service_cidr=pulumi.get(__ret__, 'service_cidr'),
396
+ service_dns_ip=pulumi.get(__ret__, 'service_dns_ip'),
367
397
  status=pulumi.get(__ret__, 'status'),
368
398
  tags=pulumi.get(__ret__, 'tags'),
369
399
  type=pulumi.get(__ret__, 'type'),
@@ -409,9 +439,12 @@ def get_kubernetes_cluster_output(cluster_id: Optional[pulumi.Input[Optional[_bu
409
439
  name=pulumi.get(__response__, 'name'),
410
440
  open_id_connect_configs=pulumi.get(__response__, 'open_id_connect_configs'),
411
441
  organization_id=pulumi.get(__response__, 'organization_id'),
442
+ pod_cidr=pulumi.get(__response__, 'pod_cidr'),
412
443
  private_network_id=pulumi.get(__response__, 'private_network_id'),
413
444
  project_id=pulumi.get(__response__, 'project_id'),
414
445
  region=pulumi.get(__response__, 'region'),
446
+ service_cidr=pulumi.get(__response__, 'service_cidr'),
447
+ service_dns_ip=pulumi.get(__response__, 'service_dns_ip'),
415
448
  status=pulumi.get(__response__, 'status'),
416
449
  tags=pulumi.get(__response__, 'tags'),
417
450
  type=pulumi.get(__response__, 'type'),
@@ -11,6 +11,7 @@ from .application import *
11
11
  from .get_api_key import *
12
12
  from .get_application import *
13
13
  from .get_group import *
14
+ from .get_policy import *
14
15
  from .get_ssh_key import *
15
16
  from .get_user import *
16
17
  from .group import *
@@ -0,0 +1,293 @@
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
+ 'GetPolicyResult',
20
+ 'AwaitableGetPolicyResult',
21
+ 'get_policy',
22
+ 'get_policy_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetPolicyResult:
27
+ """
28
+ A collection of values returned by getPolicy.
29
+ """
30
+ def __init__(__self__, application_id=None, created_at=None, description=None, editable=None, group_id=None, id=None, name=None, no_principal=None, organization_id=None, policy_id=None, rules=None, tags=None, updated_at=None, user_id=None):
31
+ if application_id and not isinstance(application_id, str):
32
+ raise TypeError("Expected argument 'application_id' to be a str")
33
+ pulumi.set(__self__, "application_id", application_id)
34
+ if created_at and not isinstance(created_at, str):
35
+ raise TypeError("Expected argument 'created_at' to be a str")
36
+ pulumi.set(__self__, "created_at", created_at)
37
+ if description and not isinstance(description, str):
38
+ raise TypeError("Expected argument 'description' to be a str")
39
+ pulumi.set(__self__, "description", description)
40
+ if editable and not isinstance(editable, bool):
41
+ raise TypeError("Expected argument 'editable' to be a bool")
42
+ pulumi.set(__self__, "editable", editable)
43
+ if group_id and not isinstance(group_id, str):
44
+ raise TypeError("Expected argument 'group_id' to be a str")
45
+ pulumi.set(__self__, "group_id", group_id)
46
+ if id and not isinstance(id, str):
47
+ raise TypeError("Expected argument 'id' to be a str")
48
+ pulumi.set(__self__, "id", id)
49
+ if name and not isinstance(name, str):
50
+ raise TypeError("Expected argument 'name' to be a str")
51
+ pulumi.set(__self__, "name", name)
52
+ if no_principal and not isinstance(no_principal, bool):
53
+ raise TypeError("Expected argument 'no_principal' to be a bool")
54
+ pulumi.set(__self__, "no_principal", no_principal)
55
+ if organization_id and not isinstance(organization_id, str):
56
+ raise TypeError("Expected argument 'organization_id' to be a str")
57
+ pulumi.set(__self__, "organization_id", organization_id)
58
+ if policy_id and not isinstance(policy_id, str):
59
+ raise TypeError("Expected argument 'policy_id' to be a str")
60
+ pulumi.set(__self__, "policy_id", policy_id)
61
+ if rules and not isinstance(rules, list):
62
+ raise TypeError("Expected argument 'rules' to be a list")
63
+ pulumi.set(__self__, "rules", rules)
64
+ if tags and not isinstance(tags, list):
65
+ raise TypeError("Expected argument 'tags' to be a list")
66
+ pulumi.set(__self__, "tags", tags)
67
+ if updated_at and not isinstance(updated_at, str):
68
+ raise TypeError("Expected argument 'updated_at' to be a str")
69
+ pulumi.set(__self__, "updated_at", updated_at)
70
+ if user_id and not isinstance(user_id, str):
71
+ raise TypeError("Expected argument 'user_id' to be a str")
72
+ pulumi.set(__self__, "user_id", user_id)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter(name="applicationId")
76
+ def application_id(self) -> _builtins.str:
77
+ """
78
+ ID of the application the policy is linked to
79
+ """
80
+ return pulumi.get(self, "application_id")
81
+
82
+ @_builtins.property
83
+ @pulumi.getter(name="createdAt")
84
+ def created_at(self) -> _builtins.str:
85
+ """
86
+ The date and time of the creation of the policy.
87
+ """
88
+ return pulumi.get(self, "created_at")
89
+
90
+ @_builtins.property
91
+ @pulumi.getter
92
+ def description(self) -> _builtins.str:
93
+ """
94
+ The description of the IAM policy.
95
+ """
96
+ return pulumi.get(self, "description")
97
+
98
+ @_builtins.property
99
+ @pulumi.getter
100
+ def editable(self) -> _builtins.bool:
101
+ """
102
+ Whether the policy is editable.
103
+ """
104
+ return pulumi.get(self, "editable")
105
+
106
+ @_builtins.property
107
+ @pulumi.getter(name="groupId")
108
+ def group_id(self) -> _builtins.str:
109
+ """
110
+ ID of the group the policy is linked to
111
+ """
112
+ return pulumi.get(self, "group_id")
113
+
114
+ @_builtins.property
115
+ @pulumi.getter
116
+ def id(self) -> _builtins.str:
117
+ """
118
+ The provider-assigned unique ID for this managed resource.
119
+ """
120
+ return pulumi.get(self, "id")
121
+
122
+ @_builtins.property
123
+ @pulumi.getter
124
+ def name(self) -> Optional[_builtins.str]:
125
+ return pulumi.get(self, "name")
126
+
127
+ @_builtins.property
128
+ @pulumi.getter(name="noPrincipal")
129
+ def no_principal(self) -> _builtins.bool:
130
+ """
131
+ If the policy doesn't apply to a principal.
132
+ """
133
+ return pulumi.get(self, "no_principal")
134
+
135
+ @_builtins.property
136
+ @pulumi.getter(name="organizationId")
137
+ def organization_id(self) -> _builtins.str:
138
+ """
139
+ ID of organization scoped to the rule.
140
+ """
141
+ return pulumi.get(self, "organization_id")
142
+
143
+ @_builtins.property
144
+ @pulumi.getter(name="policyId")
145
+ def policy_id(self) -> Optional[_builtins.str]:
146
+ return pulumi.get(self, "policy_id")
147
+
148
+ @_builtins.property
149
+ @pulumi.getter
150
+ def rules(self) -> Sequence['outputs.GetPolicyRuleResult']:
151
+ """
152
+ List of rules in the policy.
153
+ """
154
+ return pulumi.get(self, "rules")
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def tags(self) -> Sequence[_builtins.str]:
159
+ """
160
+ The tags associated with the IAM policy.
161
+ """
162
+ return pulumi.get(self, "tags")
163
+
164
+ @_builtins.property
165
+ @pulumi.getter(name="updatedAt")
166
+ def updated_at(self) -> _builtins.str:
167
+ """
168
+ The date and time of the last update of the policy.
169
+ """
170
+ return pulumi.get(self, "updated_at")
171
+
172
+ @_builtins.property
173
+ @pulumi.getter(name="userId")
174
+ def user_id(self) -> _builtins.str:
175
+ """
176
+ ID of the user the policy is linked to
177
+ """
178
+ return pulumi.get(self, "user_id")
179
+
180
+
181
+ class AwaitableGetPolicyResult(GetPolicyResult):
182
+ # pylint: disable=using-constant-test
183
+ def __await__(self):
184
+ if False:
185
+ yield self
186
+ return GetPolicyResult(
187
+ application_id=self.application_id,
188
+ created_at=self.created_at,
189
+ description=self.description,
190
+ editable=self.editable,
191
+ group_id=self.group_id,
192
+ id=self.id,
193
+ name=self.name,
194
+ no_principal=self.no_principal,
195
+ organization_id=self.organization_id,
196
+ policy_id=self.policy_id,
197
+ rules=self.rules,
198
+ tags=self.tags,
199
+ updated_at=self.updated_at,
200
+ user_id=self.user_id)
201
+
202
+
203
+ def get_policy(name: Optional[_builtins.str] = None,
204
+ policy_id: Optional[_builtins.str] = None,
205
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPolicyResult:
206
+ """
207
+ Use this data source to get information on an existing IAM policy based on its ID.
208
+ For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/).
209
+
210
+ ## Example Usage
211
+
212
+ ```python
213
+ import pulumi
214
+ import pulumi_scaleway as scaleway
215
+
216
+ # Get policy by id
217
+ find_by_id = scaleway.iam.get_policy(policy_id="11111111-1111-1111-1111-111111111111")
218
+ # Get policy by name
219
+ find_by_name = scaleway.iam.get_policy(name="my_policy")
220
+ ```
221
+
222
+
223
+ :param _builtins.str name: The name of the IAM policy.
224
+ :param _builtins.str policy_id: The ID of the IAM policy.
225
+
226
+ > **Note** You must specify at least one: `name` and/or `policy_id`.
227
+ """
228
+ __args__ = dict()
229
+ __args__['name'] = name
230
+ __args__['policyId'] = policy_id
231
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
232
+ __ret__ = pulumi.runtime.invoke('scaleway:iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult).value
233
+
234
+ return AwaitableGetPolicyResult(
235
+ application_id=pulumi.get(__ret__, 'application_id'),
236
+ created_at=pulumi.get(__ret__, 'created_at'),
237
+ description=pulumi.get(__ret__, 'description'),
238
+ editable=pulumi.get(__ret__, 'editable'),
239
+ group_id=pulumi.get(__ret__, 'group_id'),
240
+ id=pulumi.get(__ret__, 'id'),
241
+ name=pulumi.get(__ret__, 'name'),
242
+ no_principal=pulumi.get(__ret__, 'no_principal'),
243
+ organization_id=pulumi.get(__ret__, 'organization_id'),
244
+ policy_id=pulumi.get(__ret__, 'policy_id'),
245
+ rules=pulumi.get(__ret__, 'rules'),
246
+ tags=pulumi.get(__ret__, 'tags'),
247
+ updated_at=pulumi.get(__ret__, 'updated_at'),
248
+ user_id=pulumi.get(__ret__, 'user_id'))
249
+ def get_policy_output(name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
250
+ policy_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
251
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPolicyResult]:
252
+ """
253
+ Use this data source to get information on an existing IAM policy based on its ID.
254
+ For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/).
255
+
256
+ ## Example Usage
257
+
258
+ ```python
259
+ import pulumi
260
+ import pulumi_scaleway as scaleway
261
+
262
+ # Get policy by id
263
+ find_by_id = scaleway.iam.get_policy(policy_id="11111111-1111-1111-1111-111111111111")
264
+ # Get policy by name
265
+ find_by_name = scaleway.iam.get_policy(name="my_policy")
266
+ ```
267
+
268
+
269
+ :param _builtins.str name: The name of the IAM policy.
270
+ :param _builtins.str policy_id: The ID of the IAM policy.
271
+
272
+ > **Note** You must specify at least one: `name` and/or `policy_id`.
273
+ """
274
+ __args__ = dict()
275
+ __args__['name'] = name
276
+ __args__['policyId'] = policy_id
277
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
278
+ __ret__ = pulumi.runtime.invoke_output('scaleway:iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult)
279
+ return __ret__.apply(lambda __response__: GetPolicyResult(
280
+ application_id=pulumi.get(__response__, 'application_id'),
281
+ created_at=pulumi.get(__response__, 'created_at'),
282
+ description=pulumi.get(__response__, 'description'),
283
+ editable=pulumi.get(__response__, 'editable'),
284
+ group_id=pulumi.get(__response__, 'group_id'),
285
+ id=pulumi.get(__response__, 'id'),
286
+ name=pulumi.get(__response__, 'name'),
287
+ no_principal=pulumi.get(__response__, 'no_principal'),
288
+ organization_id=pulumi.get(__response__, 'organization_id'),
289
+ policy_id=pulumi.get(__response__, 'policy_id'),
290
+ rules=pulumi.get(__response__, 'rules'),
291
+ tags=pulumi.get(__response__, 'tags'),
292
+ updated_at=pulumi.get(__response__, 'updated_at'),
293
+ user_id=pulumi.get(__response__, 'user_id')))