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
@@ -22,6 +22,7 @@ __all__ = ['BaremetalServerArgs', 'BaremetalServer']
22
22
  class BaremetalServerArgs:
23
23
  def __init__(__self__, *,
24
24
  offer: pulumi.Input[_builtins.str],
25
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
25
26
  description: Optional[pulumi.Input[_builtins.str]] = None,
26
27
  hostname: Optional[pulumi.Input[_builtins.str]] = None,
27
28
  install_config_afterward: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -47,6 +48,7 @@ class BaremetalServerArgs:
47
48
  Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
48
49
 
49
50
  > **Important:** Updates to `offer` will recreate the server.
51
+ :param pulumi.Input[_builtins.str] cloud_init: Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
50
52
  :param pulumi.Input[_builtins.str] description: A description for the server.
51
53
  :param pulumi.Input[_builtins.str] hostname: The hostname of the server.
52
54
  :param pulumi.Input[_builtins.bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
@@ -72,6 +74,8 @@ class BaremetalServerArgs:
72
74
  :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
73
75
  """
74
76
  pulumi.set(__self__, "offer", offer)
77
+ if cloud_init is not None:
78
+ pulumi.set(__self__, "cloud_init", cloud_init)
75
79
  if description is not None:
76
80
  pulumi.set(__self__, "description", description)
77
81
  if hostname is not None:
@@ -126,6 +130,18 @@ class BaremetalServerArgs:
126
130
  def offer(self, value: pulumi.Input[_builtins.str]):
127
131
  pulumi.set(self, "offer", value)
128
132
 
133
+ @_builtins.property
134
+ @pulumi.getter(name="cloudInit")
135
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
136
+ """
137
+ Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
138
+ """
139
+ return pulumi.get(self, "cloud_init")
140
+
141
+ @cloud_init.setter
142
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
143
+ pulumi.set(self, "cloud_init", value)
144
+
129
145
  @_builtins.property
130
146
  @pulumi.getter
131
147
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -362,6 +378,7 @@ class BaremetalServerArgs:
362
378
  @pulumi.input_type
363
379
  class _BaremetalServerState:
364
380
  def __init__(__self__, *,
381
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
365
382
  description: Optional[pulumi.Input[_builtins.str]] = None,
366
383
  domain: Optional[pulumi.Input[_builtins.str]] = None,
367
384
  hostname: Optional[pulumi.Input[_builtins.str]] = None,
@@ -392,6 +409,7 @@ class _BaremetalServerState:
392
409
  zone: Optional[pulumi.Input[_builtins.str]] = None):
393
410
  """
394
411
  Input properties used for looking up and filtering BaremetalServer resources.
412
+ :param pulumi.Input[_builtins.str] cloud_init: Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
395
413
  :param pulumi.Input[_builtins.str] description: A description for the server.
396
414
  :param pulumi.Input[_builtins.str] domain: The domain of the server.
397
415
  :param pulumi.Input[_builtins.str] hostname: The hostname of the server.
@@ -428,6 +446,8 @@ class _BaremetalServerState:
428
446
  :param pulumi.Input[_builtins.str] user: User used for the installation.
429
447
  :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
430
448
  """
449
+ if cloud_init is not None:
450
+ pulumi.set(__self__, "cloud_init", cloud_init)
431
451
  if description is not None:
432
452
  pulumi.set(__self__, "description", description)
433
453
  if domain is not None:
@@ -485,6 +505,18 @@ class _BaremetalServerState:
485
505
  if zone is not None:
486
506
  pulumi.set(__self__, "zone", zone)
487
507
 
508
+ @_builtins.property
509
+ @pulumi.getter(name="cloudInit")
510
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
511
+ """
512
+ Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
513
+ """
514
+ return pulumi.get(self, "cloud_init")
515
+
516
+ @cloud_init.setter
517
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
518
+ pulumi.set(self, "cloud_init", value)
519
+
488
520
  @_builtins.property
489
521
  @pulumi.getter
490
522
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -840,6 +872,7 @@ class BaremetalServer(pulumi.CustomResource):
840
872
  def __init__(__self__,
841
873
  resource_name: str,
842
874
  opts: Optional[pulumi.ResourceOptions] = None,
875
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
843
876
  description: Optional[pulumi.Input[_builtins.str]] = None,
844
877
  hostname: Optional[pulumi.Input[_builtins.str]] = None,
845
878
  install_config_afterward: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -866,6 +899,62 @@ class BaremetalServer(pulumi.CustomResource):
866
899
 
867
900
  ## Example Usage
868
901
 
902
+ ### Basic
903
+
904
+ ### With option
905
+
906
+ ### With cloud-init
907
+
908
+ ```python
909
+ import pulumi
910
+ import pulumi_scaleway as scaleway
911
+ import pulumi_std as std
912
+ import pulumiverse_scaleway as scaleway
913
+
914
+ my_ssh_key = scaleway.iam.get_ssh_key(name="main")
915
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
916
+ name="Ubuntu",
917
+ version="22.04 LTS (Jammy Jellyfish)")
918
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
919
+ name="EM-I220E-NVME")
920
+ my_server_ci = scaleway.elasticmetal.Server("my_server_ci",
921
+ zone="fr-par-2",
922
+ offer=my_offer.offer_id,
923
+ os=my_os.os_id,
924
+ ssh_key_ids=[my_ssh_key.id],
925
+ cloud_init=std.index.file(input="userdata.yaml")["result"])
926
+ ```
927
+
928
+ ```python
929
+ import pulumi
930
+ import pulumi_scaleway as scaleway
931
+ import pulumiverse_scaleway as scaleway
932
+
933
+ my_ssh_key = scaleway.iam.get_ssh_key(name="main")
934
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
935
+ name="EM-I220E-NVME")
936
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
937
+ name="Ubuntu",
938
+ version="22.04 LTS (Jammy Jellyfish)")
939
+ my_server_ci = scaleway.elasticmetal.Server("my_server_ci",
940
+ zone="fr-par-2",
941
+ offer=my_offer.offer_id,
942
+ os=my_os.os_id,
943
+ ssh_key_ids=[my_ssh_key.id],
944
+ cloud_init=\"\"\"#cloud-config
945
+ packages:
946
+ - htop
947
+ - curl
948
+
949
+ runcmd:
950
+ - echo \\"Hello from raw cloud-init!\\" > /home/ubuntu/message.txt
951
+ \"\"\")
952
+ ```
953
+
954
+ ### With private network
955
+
956
+ ### With IPAM IP IDs
957
+
869
958
  ### Without install config
870
959
 
871
960
  ```python
@@ -969,6 +1058,7 @@ class BaremetalServer(pulumi.CustomResource):
969
1058
 
970
1059
  :param str resource_name: The name of the resource.
971
1060
  :param pulumi.ResourceOptions opts: Options for the resource.
1061
+ :param pulumi.Input[_builtins.str] cloud_init: Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
972
1062
  :param pulumi.Input[_builtins.str] description: A description for the server.
973
1063
  :param pulumi.Input[_builtins.str] hostname: The hostname of the server.
974
1064
  :param pulumi.Input[_builtins.bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
@@ -1008,6 +1098,62 @@ class BaremetalServer(pulumi.CustomResource):
1008
1098
 
1009
1099
  ## Example Usage
1010
1100
 
1101
+ ### Basic
1102
+
1103
+ ### With option
1104
+
1105
+ ### With cloud-init
1106
+
1107
+ ```python
1108
+ import pulumi
1109
+ import pulumi_scaleway as scaleway
1110
+ import pulumi_std as std
1111
+ import pulumiverse_scaleway as scaleway
1112
+
1113
+ my_ssh_key = scaleway.iam.get_ssh_key(name="main")
1114
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1115
+ name="Ubuntu",
1116
+ version="22.04 LTS (Jammy Jellyfish)")
1117
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1118
+ name="EM-I220E-NVME")
1119
+ my_server_ci = scaleway.elasticmetal.Server("my_server_ci",
1120
+ zone="fr-par-2",
1121
+ offer=my_offer.offer_id,
1122
+ os=my_os.os_id,
1123
+ ssh_key_ids=[my_ssh_key.id],
1124
+ cloud_init=std.index.file(input="userdata.yaml")["result"])
1125
+ ```
1126
+
1127
+ ```python
1128
+ import pulumi
1129
+ import pulumi_scaleway as scaleway
1130
+ import pulumiverse_scaleway as scaleway
1131
+
1132
+ my_ssh_key = scaleway.iam.get_ssh_key(name="main")
1133
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1134
+ name="EM-I220E-NVME")
1135
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1136
+ name="Ubuntu",
1137
+ version="22.04 LTS (Jammy Jellyfish)")
1138
+ my_server_ci = scaleway.elasticmetal.Server("my_server_ci",
1139
+ zone="fr-par-2",
1140
+ offer=my_offer.offer_id,
1141
+ os=my_os.os_id,
1142
+ ssh_key_ids=[my_ssh_key.id],
1143
+ cloud_init=\"\"\"#cloud-config
1144
+ packages:
1145
+ - htop
1146
+ - curl
1147
+
1148
+ runcmd:
1149
+ - echo \\"Hello from raw cloud-init!\\" > /home/ubuntu/message.txt
1150
+ \"\"\")
1151
+ ```
1152
+
1153
+ ### With private network
1154
+
1155
+ ### With IPAM IP IDs
1156
+
1011
1157
  ### Without install config
1012
1158
 
1013
1159
  ```python
@@ -1124,6 +1270,7 @@ class BaremetalServer(pulumi.CustomResource):
1124
1270
  def _internal_init(__self__,
1125
1271
  resource_name: str,
1126
1272
  opts: Optional[pulumi.ResourceOptions] = None,
1273
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1127
1274
  description: Optional[pulumi.Input[_builtins.str]] = None,
1128
1275
  hostname: Optional[pulumi.Input[_builtins.str]] = None,
1129
1276
  install_config_afterward: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -1154,6 +1301,7 @@ class BaremetalServer(pulumi.CustomResource):
1154
1301
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1155
1302
  __props__ = BaremetalServerArgs.__new__(BaremetalServerArgs)
1156
1303
 
1304
+ __props__.__dict__["cloud_init"] = cloud_init
1157
1305
  __props__.__dict__["description"] = description
1158
1306
  __props__.__dict__["hostname"] = hostname
1159
1307
  __props__.__dict__["install_config_afterward"] = install_config_afterward
@@ -1196,6 +1344,7 @@ class BaremetalServer(pulumi.CustomResource):
1196
1344
  def get(resource_name: str,
1197
1345
  id: pulumi.Input[str],
1198
1346
  opts: Optional[pulumi.ResourceOptions] = None,
1347
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1199
1348
  description: Optional[pulumi.Input[_builtins.str]] = None,
1200
1349
  domain: Optional[pulumi.Input[_builtins.str]] = None,
1201
1350
  hostname: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1231,6 +1380,7 @@ class BaremetalServer(pulumi.CustomResource):
1231
1380
  :param str resource_name: The unique name of the resulting resource.
1232
1381
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1233
1382
  :param pulumi.ResourceOptions opts: Options for the resource.
1383
+ :param pulumi.Input[_builtins.str] cloud_init: Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
1234
1384
  :param pulumi.Input[_builtins.str] description: A description for the server.
1235
1385
  :param pulumi.Input[_builtins.str] domain: The domain of the server.
1236
1386
  :param pulumi.Input[_builtins.str] hostname: The hostname of the server.
@@ -1271,6 +1421,7 @@ class BaremetalServer(pulumi.CustomResource):
1271
1421
 
1272
1422
  __props__ = _BaremetalServerState.__new__(_BaremetalServerState)
1273
1423
 
1424
+ __props__.__dict__["cloud_init"] = cloud_init
1274
1425
  __props__.__dict__["description"] = description
1275
1426
  __props__.__dict__["domain"] = domain
1276
1427
  __props__.__dict__["hostname"] = hostname
@@ -1301,6 +1452,14 @@ class BaremetalServer(pulumi.CustomResource):
1301
1452
  __props__.__dict__["zone"] = zone
1302
1453
  return BaremetalServer(resource_name, opts=opts, __props__=__props__)
1303
1454
 
1455
+ @_builtins.property
1456
+ @pulumi.getter(name="cloudInit")
1457
+ def cloud_init(self) -> pulumi.Output[_builtins.str]:
1458
+ """
1459
+ Configuration data to pass to cloud-init such as a YAML cloud config or a user-data script. Accepts either a string containing the content or a path to a file (for example `file("cloud-init.yml")`). Max length: 127998 characters. Updates to `cloud_init` will update the server user-data via the API and do not trigger a reinstall; however, a reboot of the server is required for the OS to re-run cloud-init and apply the changes. Only supported for Offers that have cloud-init enabled. You can check available offers with `scw baremetal list offers` command.
1460
+ """
1461
+ return pulumi.get(self, "cloud_init")
1462
+
1304
1463
  @_builtins.property
1305
1464
  @pulumi.getter
1306
1465
  def description(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -100,6 +100,8 @@ def get_consumptions(project_id: Optional[_builtins.str] = None,
100
100
  """
101
101
  Gets information about your Consumptions.
102
102
 
103
+ ## Example Usage
104
+
103
105
 
104
106
  :param _builtins.str project_id: `project_id`) The ID of the project the consumption list is associated with.
105
107
  """
@@ -119,6 +121,8 @@ def get_consumptions_output(project_id: Optional[pulumi.Input[Optional[_builtins
119
121
  """
120
122
  Gets information about your Consumptions.
121
123
 
124
+ ## Example Usage
125
+
122
126
 
123
127
  :param _builtins.str project_id: `project_id`) The ID of the project the consumption list is associated with.
124
128
  """
@@ -296,6 +296,45 @@ class Snapshot(pulumi.CustomResource):
296
296
  volume_id=block_volume.id)
297
297
  ```
298
298
 
299
+ ### How to import from Object Storage
300
+
301
+ ```python
302
+ import pulumi
303
+ import pulumiverse_scaleway as scaleway
304
+
305
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
306
+ qcow_object = scaleway.object.Item("qcow-object",
307
+ bucket=snapshot_bucket["name"],
308
+ key="my-snapshot.qcow2",
309
+ file="imported-snapshot/snapshot.qcow2")
310
+ imported = scaleway.block.Volume("imported",
311
+ iops=5000,
312
+ name="imported-from-qcow",
313
+ import_=[{
314
+ "bucket": "my-import-bucket",
315
+ "key": "imported-snapshot/snapshot.qcow2",
316
+ }])
317
+ ```
318
+
319
+ ### How to export to Object Storage
320
+
321
+ ```python
322
+ import pulumi
323
+ import pulumiverse_scaleway as scaleway
324
+
325
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
326
+ qcow_object = scaleway.object.Item("qcow-object",
327
+ bucket=snapshot_bucket["name"],
328
+ key="export/my-snapshot.qcow2")
329
+ to_export = scaleway.block.Volume("to_export",
330
+ iops=5000,
331
+ name="to-export",
332
+ export=[{
333
+ "bucket": "snapshot-bucket-to-import",
334
+ "key": "exports/my-snapshot.qcow2",
335
+ }])
336
+ ```
337
+
299
338
  ## Import
300
339
 
301
340
  This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`).
@@ -346,6 +385,45 @@ class Snapshot(pulumi.CustomResource):
346
385
  volume_id=block_volume.id)
347
386
  ```
348
387
 
388
+ ### How to import from Object Storage
389
+
390
+ ```python
391
+ import pulumi
392
+ import pulumiverse_scaleway as scaleway
393
+
394
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
395
+ qcow_object = scaleway.object.Item("qcow-object",
396
+ bucket=snapshot_bucket["name"],
397
+ key="my-snapshot.qcow2",
398
+ file="imported-snapshot/snapshot.qcow2")
399
+ imported = scaleway.block.Volume("imported",
400
+ iops=5000,
401
+ name="imported-from-qcow",
402
+ import_=[{
403
+ "bucket": "my-import-bucket",
404
+ "key": "imported-snapshot/snapshot.qcow2",
405
+ }])
406
+ ```
407
+
408
+ ### How to export to Object Storage
409
+
410
+ ```python
411
+ import pulumi
412
+ import pulumiverse_scaleway as scaleway
413
+
414
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
415
+ qcow_object = scaleway.object.Item("qcow-object",
416
+ bucket=snapshot_bucket["name"],
417
+ key="export/my-snapshot.qcow2")
418
+ to_export = scaleway.block.Volume("to_export",
419
+ iops=5000,
420
+ name="to-export",
421
+ export=[{
422
+ "bucket": "snapshot-bucket-to-import",
423
+ "key": "exports/my-snapshot.qcow2",
424
+ }])
425
+ ```
426
+
349
427
  ## Import
350
428
 
351
429
  This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`).
@@ -301,6 +301,45 @@ class BlockSnapshot(pulumi.CustomResource):
301
301
  volume_id=block_volume.id)
302
302
  ```
303
303
 
304
+ ### How to import from Object Storage
305
+
306
+ ```python
307
+ import pulumi
308
+ import pulumiverse_scaleway as scaleway
309
+
310
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
311
+ qcow_object = scaleway.object.Item("qcow-object",
312
+ bucket=snapshot_bucket["name"],
313
+ key="my-snapshot.qcow2",
314
+ file="imported-snapshot/snapshot.qcow2")
315
+ imported = scaleway.block.Volume("imported",
316
+ iops=5000,
317
+ name="imported-from-qcow",
318
+ import_=[{
319
+ "bucket": "my-import-bucket",
320
+ "key": "imported-snapshot/snapshot.qcow2",
321
+ }])
322
+ ```
323
+
324
+ ### How to export to Object Storage
325
+
326
+ ```python
327
+ import pulumi
328
+ import pulumiverse_scaleway as scaleway
329
+
330
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
331
+ qcow_object = scaleway.object.Item("qcow-object",
332
+ bucket=snapshot_bucket["name"],
333
+ key="export/my-snapshot.qcow2")
334
+ to_export = scaleway.block.Volume("to_export",
335
+ iops=5000,
336
+ name="to-export",
337
+ export=[{
338
+ "bucket": "snapshot-bucket-to-import",
339
+ "key": "exports/my-snapshot.qcow2",
340
+ }])
341
+ ```
342
+
304
343
  ## Import
305
344
 
306
345
  This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`).
@@ -351,6 +390,45 @@ class BlockSnapshot(pulumi.CustomResource):
351
390
  volume_id=block_volume.id)
352
391
  ```
353
392
 
393
+ ### How to import from Object Storage
394
+
395
+ ```python
396
+ import pulumi
397
+ import pulumiverse_scaleway as scaleway
398
+
399
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
400
+ qcow_object = scaleway.object.Item("qcow-object",
401
+ bucket=snapshot_bucket["name"],
402
+ key="my-snapshot.qcow2",
403
+ file="imported-snapshot/snapshot.qcow2")
404
+ imported = scaleway.block.Volume("imported",
405
+ iops=5000,
406
+ name="imported-from-qcow",
407
+ import_=[{
408
+ "bucket": "my-import-bucket",
409
+ "key": "imported-snapshot/snapshot.qcow2",
410
+ }])
411
+ ```
412
+
413
+ ### How to export to Object Storage
414
+
415
+ ```python
416
+ import pulumi
417
+ import pulumiverse_scaleway as scaleway
418
+
419
+ my_import_bucket = scaleway.object.Bucket("my-import-bucket", name="snapshot-bucket-to-import")
420
+ qcow_object = scaleway.object.Item("qcow-object",
421
+ bucket=snapshot_bucket["name"],
422
+ key="export/my-snapshot.qcow2")
423
+ to_export = scaleway.block.Volume("to_export",
424
+ iops=5000,
425
+ name="to-export",
426
+ export=[{
427
+ "bucket": "snapshot-bucket-to-import",
428
+ "key": "exports/my-snapshot.qcow2",
429
+ }])
430
+ ```
431
+
354
432
  ## Import
355
433
 
356
434
  This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`).
@@ -174,27 +174,6 @@ class CockpitGrafanaUser(pulumi.CustomResource):
174
174
  role: Optional[pulumi.Input[_builtins.str]] = None,
175
175
  __props__=None):
176
176
  """
177
- The `observability.GrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit.
178
-
179
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
180
-
181
- ## Example Usage
182
-
183
- ### Create a Grafana user
184
-
185
- The following command allows you to create a Grafana user within a specific Scaleway Project.
186
-
187
- ```python
188
- import pulumi
189
- import pulumiverse_scaleway as scaleway
190
-
191
- project = scaleway.account.Project("project", name="test project grafana user")
192
- main = scaleway.observability.GrafanaUser("main",
193
- project_id=project.id,
194
- login="my-awesome-user",
195
- role="editor")
196
- ```
197
-
198
177
  ## Import
199
178
 
200
179
  This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format.
@@ -218,27 +197,6 @@ class CockpitGrafanaUser(pulumi.CustomResource):
218
197
  args: CockpitGrafanaUserArgs,
219
198
  opts: Optional[pulumi.ResourceOptions] = None):
220
199
  """
221
- The `observability.GrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit.
222
-
223
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
224
-
225
- ## Example Usage
226
-
227
- ### Create a Grafana user
228
-
229
- The following command allows you to create a Grafana user within a specific Scaleway Project.
230
-
231
- ```python
232
- import pulumi
233
- import pulumiverse_scaleway as scaleway
234
-
235
- project = scaleway.account.Project("project", name="test project grafana user")
236
- main = scaleway.observability.GrafanaUser("main",
237
- project_id=project.id,
238
- login="my-awesome-user",
239
- role="editor")
240
- ```
241
-
242
200
  ## Import
243
201
 
244
202
  This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format.