pulumiverse-scaleway 1.23.0a1736837529__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1641 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1579 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['BaremetalServerArgs', 'BaremetalServer']
20
+
21
+ @pulumi.input_type
22
+ class BaremetalServerArgs:
23
+ def __init__(__self__, *,
24
+ offer: pulumi.Input[str],
25
+ description: Optional[pulumi.Input[str]] = None,
26
+ hostname: Optional[pulumi.Input[str]] = None,
27
+ install_config_afterward: Optional[pulumi.Input[bool]] = None,
28
+ name: Optional[pulumi.Input[str]] = None,
29
+ options: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]] = None,
30
+ os: Optional[pulumi.Input[str]] = None,
31
+ partitioning: Optional[pulumi.Input[str]] = None,
32
+ password: Optional[pulumi.Input[str]] = None,
33
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
34
+ project_id: Optional[pulumi.Input[str]] = None,
35
+ reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
36
+ service_password: Optional[pulumi.Input[str]] = None,
37
+ service_user: Optional[pulumi.Input[str]] = None,
38
+ ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
39
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
40
+ user: Optional[pulumi.Input[str]] = None,
41
+ zone: Optional[pulumi.Input[str]] = None):
42
+ """
43
+ The set of arguments for constructing a BaremetalServer resource.
44
+ :param pulumi.Input[str] offer: The offer name or UUID of the baremetal server.
45
+ 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.
46
+
47
+ > **Important:** Updates to `offer` will recreate the server.
48
+ :param pulumi.Input[str] description: A description for the server.
49
+ :param pulumi.Input[str] hostname: The hostname of the server.
50
+ :param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
51
+ :param pulumi.Input[str] name: The name of the server.
52
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]] options: The options to enable on the server.
53
+ > The `options` block supports:
54
+ :param pulumi.Input[str] os: The UUID of the os to install on the server.
55
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
56
+ > **Important:** Updates to `os` will reinstall the server.
57
+ :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
58
+ :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
59
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
60
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
61
+ :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
62
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
63
+ :param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
64
+ :param pulumi.Input[str] service_user: User used for the service to install.
65
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
66
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
67
+ :param pulumi.Input[str] user: User used for the installation.
68
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
69
+ """
70
+ pulumi.set(__self__, "offer", offer)
71
+ if description is not None:
72
+ pulumi.set(__self__, "description", description)
73
+ if hostname is not None:
74
+ pulumi.set(__self__, "hostname", hostname)
75
+ if install_config_afterward is not None:
76
+ pulumi.set(__self__, "install_config_afterward", install_config_afterward)
77
+ if name is not None:
78
+ pulumi.set(__self__, "name", name)
79
+ if options is not None:
80
+ pulumi.set(__self__, "options", options)
81
+ if os is not None:
82
+ pulumi.set(__self__, "os", os)
83
+ if partitioning is not None:
84
+ pulumi.set(__self__, "partitioning", partitioning)
85
+ if password is not None:
86
+ pulumi.set(__self__, "password", password)
87
+ if private_networks is not None:
88
+ pulumi.set(__self__, "private_networks", private_networks)
89
+ if project_id is not None:
90
+ pulumi.set(__self__, "project_id", project_id)
91
+ if reinstall_on_config_changes is not None:
92
+ pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
93
+ if service_password is not None:
94
+ pulumi.set(__self__, "service_password", service_password)
95
+ if service_user is not None:
96
+ pulumi.set(__self__, "service_user", service_user)
97
+ if ssh_key_ids is not None:
98
+ pulumi.set(__self__, "ssh_key_ids", ssh_key_ids)
99
+ if tags is not None:
100
+ pulumi.set(__self__, "tags", tags)
101
+ if user is not None:
102
+ pulumi.set(__self__, "user", user)
103
+ if zone is not None:
104
+ pulumi.set(__self__, "zone", zone)
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def offer(self) -> pulumi.Input[str]:
109
+ """
110
+ The offer name or UUID of the baremetal server.
111
+ 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.
112
+
113
+ > **Important:** Updates to `offer` will recreate the server.
114
+ """
115
+ return pulumi.get(self, "offer")
116
+
117
+ @offer.setter
118
+ def offer(self, value: pulumi.Input[str]):
119
+ pulumi.set(self, "offer", value)
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def description(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ A description for the server.
126
+ """
127
+ return pulumi.get(self, "description")
128
+
129
+ @description.setter
130
+ def description(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "description", value)
132
+
133
+ @property
134
+ @pulumi.getter
135
+ def hostname(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ The hostname of the server.
138
+ """
139
+ return pulumi.get(self, "hostname")
140
+
141
+ @hostname.setter
142
+ def hostname(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "hostname", value)
144
+
145
+ @property
146
+ @pulumi.getter(name="installConfigAfterward")
147
+ def install_config_afterward(self) -> Optional[pulumi.Input[bool]]:
148
+ """
149
+ If True, this boolean allows to create a server without the install config if you want to provide it later.
150
+ """
151
+ return pulumi.get(self, "install_config_afterward")
152
+
153
+ @install_config_afterward.setter
154
+ def install_config_afterward(self, value: Optional[pulumi.Input[bool]]):
155
+ pulumi.set(self, "install_config_afterward", value)
156
+
157
+ @property
158
+ @pulumi.getter
159
+ def name(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ The name of the server.
162
+ """
163
+ return pulumi.get(self, "name")
164
+
165
+ @name.setter
166
+ def name(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "name", value)
168
+
169
+ @property
170
+ @pulumi.getter
171
+ def options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]]:
172
+ """
173
+ The options to enable on the server.
174
+ > The `options` block supports:
175
+ """
176
+ return pulumi.get(self, "options")
177
+
178
+ @options.setter
179
+ def options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]]):
180
+ pulumi.set(self, "options", value)
181
+
182
+ @property
183
+ @pulumi.getter
184
+ def os(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ The UUID of the os to install on the server.
187
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
188
+ > **Important:** Updates to `os` will reinstall the server.
189
+ """
190
+ return pulumi.get(self, "os")
191
+
192
+ @os.setter
193
+ def os(self, value: Optional[pulumi.Input[str]]):
194
+ pulumi.set(self, "os", value)
195
+
196
+ @property
197
+ @pulumi.getter
198
+ def partitioning(self) -> Optional[pulumi.Input[str]]:
199
+ """
200
+ The partitioning schema in JSON format
201
+ """
202
+ return pulumi.get(self, "partitioning")
203
+
204
+ @partitioning.setter
205
+ def partitioning(self, value: Optional[pulumi.Input[str]]):
206
+ pulumi.set(self, "partitioning", value)
207
+
208
+ @property
209
+ @pulumi.getter
210
+ def password(self) -> Optional[pulumi.Input[str]]:
211
+ """
212
+ Password used for the installation. May be required depending on used os.
213
+ """
214
+ return pulumi.get(self, "password")
215
+
216
+ @password.setter
217
+ def password(self, value: Optional[pulumi.Input[str]]):
218
+ pulumi.set(self, "password", value)
219
+
220
+ @property
221
+ @pulumi.getter(name="privateNetworks")
222
+ def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]:
223
+ """
224
+ The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
225
+ """
226
+ return pulumi.get(self, "private_networks")
227
+
228
+ @private_networks.setter
229
+ def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]):
230
+ pulumi.set(self, "private_networks", value)
231
+
232
+ @property
233
+ @pulumi.getter(name="projectId")
234
+ def project_id(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ `project_id`) The ID of the project the server is associated with.
237
+ """
238
+ return pulumi.get(self, "project_id")
239
+
240
+ @project_id.setter
241
+ def project_id(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "project_id", value)
243
+
244
+ @property
245
+ @pulumi.getter(name="reinstallOnConfigChanges")
246
+ def reinstall_on_config_changes(self) -> Optional[pulumi.Input[bool]]:
247
+ """
248
+ If True, this boolean allows to reinstall the server on install config changes.
249
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
250
+ """
251
+ return pulumi.get(self, "reinstall_on_config_changes")
252
+
253
+ @reinstall_on_config_changes.setter
254
+ def reinstall_on_config_changes(self, value: Optional[pulumi.Input[bool]]):
255
+ pulumi.set(self, "reinstall_on_config_changes", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="servicePassword")
259
+ def service_password(self) -> Optional[pulumi.Input[str]]:
260
+ """
261
+ Password used for the service to install. May be required depending on used os.
262
+ """
263
+ return pulumi.get(self, "service_password")
264
+
265
+ @service_password.setter
266
+ def service_password(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "service_password", value)
268
+
269
+ @property
270
+ @pulumi.getter(name="serviceUser")
271
+ def service_user(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ User used for the service to install.
274
+ """
275
+ return pulumi.get(self, "service_user")
276
+
277
+ @service_user.setter
278
+ def service_user(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "service_user", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="sshKeyIds")
283
+ def ssh_key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
284
+ """
285
+ List of SSH keys allowed to connect to the server.
286
+ """
287
+ return pulumi.get(self, "ssh_key_ids")
288
+
289
+ @ssh_key_ids.setter
290
+ def ssh_key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
291
+ pulumi.set(self, "ssh_key_ids", value)
292
+
293
+ @property
294
+ @pulumi.getter
295
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
296
+ """
297
+ The tags associated with the server.
298
+ """
299
+ return pulumi.get(self, "tags")
300
+
301
+ @tags.setter
302
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
303
+ pulumi.set(self, "tags", value)
304
+
305
+ @property
306
+ @pulumi.getter
307
+ def user(self) -> Optional[pulumi.Input[str]]:
308
+ """
309
+ User used for the installation.
310
+ """
311
+ return pulumi.get(self, "user")
312
+
313
+ @user.setter
314
+ def user(self, value: Optional[pulumi.Input[str]]):
315
+ pulumi.set(self, "user", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def zone(self) -> Optional[pulumi.Input[str]]:
320
+ """
321
+ `zone`) The zone in which the server should be created.
322
+ """
323
+ return pulumi.get(self, "zone")
324
+
325
+ @zone.setter
326
+ def zone(self, value: Optional[pulumi.Input[str]]):
327
+ pulumi.set(self, "zone", value)
328
+
329
+
330
+ @pulumi.input_type
331
+ class _BaremetalServerState:
332
+ def __init__(__self__, *,
333
+ description: Optional[pulumi.Input[str]] = None,
334
+ domain: Optional[pulumi.Input[str]] = None,
335
+ hostname: Optional[pulumi.Input[str]] = None,
336
+ install_config_afterward: Optional[pulumi.Input[bool]] = None,
337
+ ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpArgs']]]] = None,
338
+ ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv4Args']]]] = None,
339
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv6Args']]]] = None,
340
+ name: Optional[pulumi.Input[str]] = None,
341
+ offer: Optional[pulumi.Input[str]] = None,
342
+ offer_id: Optional[pulumi.Input[str]] = None,
343
+ offer_name: Optional[pulumi.Input[str]] = None,
344
+ options: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]] = None,
345
+ organization_id: Optional[pulumi.Input[str]] = None,
346
+ os: Optional[pulumi.Input[str]] = None,
347
+ os_name: Optional[pulumi.Input[str]] = None,
348
+ partitioning: Optional[pulumi.Input[str]] = None,
349
+ password: Optional[pulumi.Input[str]] = None,
350
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
351
+ project_id: Optional[pulumi.Input[str]] = None,
352
+ reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
353
+ service_password: Optional[pulumi.Input[str]] = None,
354
+ service_user: Optional[pulumi.Input[str]] = None,
355
+ ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
356
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
357
+ user: Optional[pulumi.Input[str]] = None,
358
+ zone: Optional[pulumi.Input[str]] = None):
359
+ """
360
+ Input properties used for looking up and filtering BaremetalServer resources.
361
+ :param pulumi.Input[str] description: A description for the server.
362
+ :param pulumi.Input[str] domain: The domain of the server.
363
+ :param pulumi.Input[str] hostname: The hostname of the server.
364
+ :param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
365
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpArgs']]] ips: (List of) The IPs of the server.
366
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv4Args']]] ipv4s: (List of) The IPv4 addresses of the server.
367
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv6Args']]] ipv6s: (List of) The IPv6 addresses of the server.
368
+ :param pulumi.Input[str] name: The name of the server.
369
+ :param pulumi.Input[str] offer: The offer name or UUID of the baremetal server.
370
+ 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.
371
+
372
+ > **Important:** Updates to `offer` will recreate the server.
373
+ :param pulumi.Input[str] offer_id: The ID of the offer.
374
+ :param pulumi.Input[str] offer_name: The name of the offer.
375
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]] options: The options to enable on the server.
376
+ > The `options` block supports:
377
+ :param pulumi.Input[str] organization_id: The organization ID the server is associated with.
378
+ :param pulumi.Input[str] os: The UUID of the os to install on the server.
379
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
380
+ > **Important:** Updates to `os` will reinstall the server.
381
+ :param pulumi.Input[str] os_name: The name of the os.
382
+ :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
383
+ :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
384
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
385
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
386
+ :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
387
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
388
+ :param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
389
+ :param pulumi.Input[str] service_user: User used for the service to install.
390
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
391
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
392
+ :param pulumi.Input[str] user: User used for the installation.
393
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
394
+ """
395
+ if description is not None:
396
+ pulumi.set(__self__, "description", description)
397
+ if domain is not None:
398
+ pulumi.set(__self__, "domain", domain)
399
+ if hostname is not None:
400
+ pulumi.set(__self__, "hostname", hostname)
401
+ if install_config_afterward is not None:
402
+ pulumi.set(__self__, "install_config_afterward", install_config_afterward)
403
+ if ips is not None:
404
+ pulumi.set(__self__, "ips", ips)
405
+ if ipv4s is not None:
406
+ pulumi.set(__self__, "ipv4s", ipv4s)
407
+ if ipv6s is not None:
408
+ pulumi.set(__self__, "ipv6s", ipv6s)
409
+ if name is not None:
410
+ pulumi.set(__self__, "name", name)
411
+ if offer is not None:
412
+ pulumi.set(__self__, "offer", offer)
413
+ if offer_id is not None:
414
+ pulumi.set(__self__, "offer_id", offer_id)
415
+ if offer_name is not None:
416
+ pulumi.set(__self__, "offer_name", offer_name)
417
+ if options is not None:
418
+ pulumi.set(__self__, "options", options)
419
+ if organization_id is not None:
420
+ pulumi.set(__self__, "organization_id", organization_id)
421
+ if os is not None:
422
+ pulumi.set(__self__, "os", os)
423
+ if os_name is not None:
424
+ pulumi.set(__self__, "os_name", os_name)
425
+ if partitioning is not None:
426
+ pulumi.set(__self__, "partitioning", partitioning)
427
+ if password is not None:
428
+ pulumi.set(__self__, "password", password)
429
+ if private_networks is not None:
430
+ pulumi.set(__self__, "private_networks", private_networks)
431
+ if project_id is not None:
432
+ pulumi.set(__self__, "project_id", project_id)
433
+ if reinstall_on_config_changes is not None:
434
+ pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
435
+ if service_password is not None:
436
+ pulumi.set(__self__, "service_password", service_password)
437
+ if service_user is not None:
438
+ pulumi.set(__self__, "service_user", service_user)
439
+ if ssh_key_ids is not None:
440
+ pulumi.set(__self__, "ssh_key_ids", ssh_key_ids)
441
+ if tags is not None:
442
+ pulumi.set(__self__, "tags", tags)
443
+ if user is not None:
444
+ pulumi.set(__self__, "user", user)
445
+ if zone is not None:
446
+ pulumi.set(__self__, "zone", zone)
447
+
448
+ @property
449
+ @pulumi.getter
450
+ def description(self) -> Optional[pulumi.Input[str]]:
451
+ """
452
+ A description for the server.
453
+ """
454
+ return pulumi.get(self, "description")
455
+
456
+ @description.setter
457
+ def description(self, value: Optional[pulumi.Input[str]]):
458
+ pulumi.set(self, "description", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def domain(self) -> Optional[pulumi.Input[str]]:
463
+ """
464
+ The domain of the server.
465
+ """
466
+ return pulumi.get(self, "domain")
467
+
468
+ @domain.setter
469
+ def domain(self, value: Optional[pulumi.Input[str]]):
470
+ pulumi.set(self, "domain", value)
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def hostname(self) -> Optional[pulumi.Input[str]]:
475
+ """
476
+ The hostname of the server.
477
+ """
478
+ return pulumi.get(self, "hostname")
479
+
480
+ @hostname.setter
481
+ def hostname(self, value: Optional[pulumi.Input[str]]):
482
+ pulumi.set(self, "hostname", value)
483
+
484
+ @property
485
+ @pulumi.getter(name="installConfigAfterward")
486
+ def install_config_afterward(self) -> Optional[pulumi.Input[bool]]:
487
+ """
488
+ If True, this boolean allows to create a server without the install config if you want to provide it later.
489
+ """
490
+ return pulumi.get(self, "install_config_afterward")
491
+
492
+ @install_config_afterward.setter
493
+ def install_config_afterward(self, value: Optional[pulumi.Input[bool]]):
494
+ pulumi.set(self, "install_config_afterward", value)
495
+
496
+ @property
497
+ @pulumi.getter
498
+ def ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpArgs']]]]:
499
+ """
500
+ (List of) The IPs of the server.
501
+ """
502
+ return pulumi.get(self, "ips")
503
+
504
+ @ips.setter
505
+ def ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpArgs']]]]):
506
+ pulumi.set(self, "ips", value)
507
+
508
+ @property
509
+ @pulumi.getter
510
+ def ipv4s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv4Args']]]]:
511
+ """
512
+ (List of) The IPv4 addresses of the server.
513
+ """
514
+ return pulumi.get(self, "ipv4s")
515
+
516
+ @ipv4s.setter
517
+ def ipv4s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv4Args']]]]):
518
+ pulumi.set(self, "ipv4s", value)
519
+
520
+ @property
521
+ @pulumi.getter
522
+ def ipv6s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv6Args']]]]:
523
+ """
524
+ (List of) The IPv6 addresses of the server.
525
+ """
526
+ return pulumi.get(self, "ipv6s")
527
+
528
+ @ipv6s.setter
529
+ def ipv6s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerIpv6Args']]]]):
530
+ pulumi.set(self, "ipv6s", value)
531
+
532
+ @property
533
+ @pulumi.getter
534
+ def name(self) -> Optional[pulumi.Input[str]]:
535
+ """
536
+ The name of the server.
537
+ """
538
+ return pulumi.get(self, "name")
539
+
540
+ @name.setter
541
+ def name(self, value: Optional[pulumi.Input[str]]):
542
+ pulumi.set(self, "name", value)
543
+
544
+ @property
545
+ @pulumi.getter
546
+ def offer(self) -> Optional[pulumi.Input[str]]:
547
+ """
548
+ The offer name or UUID of the baremetal server.
549
+ 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.
550
+
551
+ > **Important:** Updates to `offer` will recreate the server.
552
+ """
553
+ return pulumi.get(self, "offer")
554
+
555
+ @offer.setter
556
+ def offer(self, value: Optional[pulumi.Input[str]]):
557
+ pulumi.set(self, "offer", value)
558
+
559
+ @property
560
+ @pulumi.getter(name="offerId")
561
+ def offer_id(self) -> Optional[pulumi.Input[str]]:
562
+ """
563
+ The ID of the offer.
564
+ """
565
+ return pulumi.get(self, "offer_id")
566
+
567
+ @offer_id.setter
568
+ def offer_id(self, value: Optional[pulumi.Input[str]]):
569
+ pulumi.set(self, "offer_id", value)
570
+
571
+ @property
572
+ @pulumi.getter(name="offerName")
573
+ def offer_name(self) -> Optional[pulumi.Input[str]]:
574
+ """
575
+ The name of the offer.
576
+ """
577
+ return pulumi.get(self, "offer_name")
578
+
579
+ @offer_name.setter
580
+ def offer_name(self, value: Optional[pulumi.Input[str]]):
581
+ pulumi.set(self, "offer_name", value)
582
+
583
+ @property
584
+ @pulumi.getter
585
+ def options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]]:
586
+ """
587
+ The options to enable on the server.
588
+ > The `options` block supports:
589
+ """
590
+ return pulumi.get(self, "options")
591
+
592
+ @options.setter
593
+ def options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerOptionArgs']]]]):
594
+ pulumi.set(self, "options", value)
595
+
596
+ @property
597
+ @pulumi.getter(name="organizationId")
598
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
599
+ """
600
+ The organization ID the server is associated with.
601
+ """
602
+ return pulumi.get(self, "organization_id")
603
+
604
+ @organization_id.setter
605
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
606
+ pulumi.set(self, "organization_id", value)
607
+
608
+ @property
609
+ @pulumi.getter
610
+ def os(self) -> Optional[pulumi.Input[str]]:
611
+ """
612
+ The UUID of the os to install on the server.
613
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
614
+ > **Important:** Updates to `os` will reinstall the server.
615
+ """
616
+ return pulumi.get(self, "os")
617
+
618
+ @os.setter
619
+ def os(self, value: Optional[pulumi.Input[str]]):
620
+ pulumi.set(self, "os", value)
621
+
622
+ @property
623
+ @pulumi.getter(name="osName")
624
+ def os_name(self) -> Optional[pulumi.Input[str]]:
625
+ """
626
+ The name of the os.
627
+ """
628
+ return pulumi.get(self, "os_name")
629
+
630
+ @os_name.setter
631
+ def os_name(self, value: Optional[pulumi.Input[str]]):
632
+ pulumi.set(self, "os_name", value)
633
+
634
+ @property
635
+ @pulumi.getter
636
+ def partitioning(self) -> Optional[pulumi.Input[str]]:
637
+ """
638
+ The partitioning schema in JSON format
639
+ """
640
+ return pulumi.get(self, "partitioning")
641
+
642
+ @partitioning.setter
643
+ def partitioning(self, value: Optional[pulumi.Input[str]]):
644
+ pulumi.set(self, "partitioning", value)
645
+
646
+ @property
647
+ @pulumi.getter
648
+ def password(self) -> Optional[pulumi.Input[str]]:
649
+ """
650
+ Password used for the installation. May be required depending on used os.
651
+ """
652
+ return pulumi.get(self, "password")
653
+
654
+ @password.setter
655
+ def password(self, value: Optional[pulumi.Input[str]]):
656
+ pulumi.set(self, "password", value)
657
+
658
+ @property
659
+ @pulumi.getter(name="privateNetworks")
660
+ def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]:
661
+ """
662
+ The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
663
+ """
664
+ return pulumi.get(self, "private_networks")
665
+
666
+ @private_networks.setter
667
+ def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]):
668
+ pulumi.set(self, "private_networks", value)
669
+
670
+ @property
671
+ @pulumi.getter(name="projectId")
672
+ def project_id(self) -> Optional[pulumi.Input[str]]:
673
+ """
674
+ `project_id`) The ID of the project the server is associated with.
675
+ """
676
+ return pulumi.get(self, "project_id")
677
+
678
+ @project_id.setter
679
+ def project_id(self, value: Optional[pulumi.Input[str]]):
680
+ pulumi.set(self, "project_id", value)
681
+
682
+ @property
683
+ @pulumi.getter(name="reinstallOnConfigChanges")
684
+ def reinstall_on_config_changes(self) -> Optional[pulumi.Input[bool]]:
685
+ """
686
+ If True, this boolean allows to reinstall the server on install config changes.
687
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
688
+ """
689
+ return pulumi.get(self, "reinstall_on_config_changes")
690
+
691
+ @reinstall_on_config_changes.setter
692
+ def reinstall_on_config_changes(self, value: Optional[pulumi.Input[bool]]):
693
+ pulumi.set(self, "reinstall_on_config_changes", value)
694
+
695
+ @property
696
+ @pulumi.getter(name="servicePassword")
697
+ def service_password(self) -> Optional[pulumi.Input[str]]:
698
+ """
699
+ Password used for the service to install. May be required depending on used os.
700
+ """
701
+ return pulumi.get(self, "service_password")
702
+
703
+ @service_password.setter
704
+ def service_password(self, value: Optional[pulumi.Input[str]]):
705
+ pulumi.set(self, "service_password", value)
706
+
707
+ @property
708
+ @pulumi.getter(name="serviceUser")
709
+ def service_user(self) -> Optional[pulumi.Input[str]]:
710
+ """
711
+ User used for the service to install.
712
+ """
713
+ return pulumi.get(self, "service_user")
714
+
715
+ @service_user.setter
716
+ def service_user(self, value: Optional[pulumi.Input[str]]):
717
+ pulumi.set(self, "service_user", value)
718
+
719
+ @property
720
+ @pulumi.getter(name="sshKeyIds")
721
+ def ssh_key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
722
+ """
723
+ List of SSH keys allowed to connect to the server.
724
+ """
725
+ return pulumi.get(self, "ssh_key_ids")
726
+
727
+ @ssh_key_ids.setter
728
+ def ssh_key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
729
+ pulumi.set(self, "ssh_key_ids", value)
730
+
731
+ @property
732
+ @pulumi.getter
733
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
734
+ """
735
+ The tags associated with the server.
736
+ """
737
+ return pulumi.get(self, "tags")
738
+
739
+ @tags.setter
740
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
741
+ pulumi.set(self, "tags", value)
742
+
743
+ @property
744
+ @pulumi.getter
745
+ def user(self) -> Optional[pulumi.Input[str]]:
746
+ """
747
+ User used for the installation.
748
+ """
749
+ return pulumi.get(self, "user")
750
+
751
+ @user.setter
752
+ def user(self, value: Optional[pulumi.Input[str]]):
753
+ pulumi.set(self, "user", value)
754
+
755
+ @property
756
+ @pulumi.getter
757
+ def zone(self) -> Optional[pulumi.Input[str]]:
758
+ """
759
+ `zone`) The zone in which the server should be created.
760
+ """
761
+ return pulumi.get(self, "zone")
762
+
763
+ @zone.setter
764
+ def zone(self, value: Optional[pulumi.Input[str]]):
765
+ pulumi.set(self, "zone", value)
766
+
767
+
768
+ class BaremetalServer(pulumi.CustomResource):
769
+ @overload
770
+ def __init__(__self__,
771
+ resource_name: str,
772
+ opts: Optional[pulumi.ResourceOptions] = None,
773
+ description: Optional[pulumi.Input[str]] = None,
774
+ hostname: Optional[pulumi.Input[str]] = None,
775
+ install_config_afterward: Optional[pulumi.Input[bool]] = None,
776
+ name: Optional[pulumi.Input[str]] = None,
777
+ offer: Optional[pulumi.Input[str]] = None,
778
+ options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerOptionArgs', 'BaremetalServerOptionArgsDict']]]]] = None,
779
+ os: Optional[pulumi.Input[str]] = None,
780
+ partitioning: Optional[pulumi.Input[str]] = None,
781
+ password: Optional[pulumi.Input[str]] = None,
782
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
783
+ project_id: Optional[pulumi.Input[str]] = None,
784
+ reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
785
+ service_password: Optional[pulumi.Input[str]] = None,
786
+ service_user: Optional[pulumi.Input[str]] = None,
787
+ ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
788
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
789
+ user: Optional[pulumi.Input[str]] = None,
790
+ zone: Optional[pulumi.Input[str]] = None,
791
+ __props__=None):
792
+ """
793
+ Creates and manages Scaleway Compute Baremetal servers. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).
794
+
795
+ ## Example Usage
796
+
797
+ ### Basic
798
+
799
+ ```python
800
+ import pulumi
801
+ import pulumi_scaleway as scaleway
802
+ import pulumiverse_scaleway as scaleway
803
+
804
+ main = scaleway.get_iam_ssh_key(name="main")
805
+ base = scaleway.BaremetalServer("base",
806
+ zone="fr-par-2",
807
+ offer="GP-BM1-S",
808
+ os="d17d6872-0412-45d9-a198-af82c34d3c5c",
809
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
810
+ ```
811
+
812
+ ### With option
813
+
814
+ ```python
815
+ import pulumi
816
+ import pulumi_scaleway as scaleway
817
+ import pulumiverse_scaleway as scaleway
818
+
819
+ main = scaleway.get_iam_ssh_key(name="main")
820
+ my_os = scaleway.get_baremetal_os(zone="fr-par-2",
821
+ name="Ubuntu",
822
+ version="22.04 LTS (Jammy Jellyfish)")
823
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
824
+ name="EM-B112X-SSD")
825
+ private_network = scaleway.get_baremetal_option(zone="fr-par-2",
826
+ name="Private Network")
827
+ remote_access = scaleway.get_baremetal_option(zone="fr-par-2",
828
+ name="Remote Access")
829
+ base = scaleway.BaremetalServer("base",
830
+ zone="fr-par-2",
831
+ offer=my_offer.offer_id,
832
+ os=my_os.os_id,
833
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
834
+ options=[
835
+ {
836
+ "id": private_network.option_id,
837
+ },
838
+ {
839
+ "id": remote_access.option_id,
840
+ },
841
+ ])
842
+ ```
843
+
844
+ ### With private network
845
+
846
+ ```python
847
+ import pulumi
848
+ import pulumi_scaleway as scaleway
849
+ import pulumiverse_scaleway as scaleway
850
+
851
+ main = scaleway.get_iam_ssh_key(name="main")
852
+ my_os = scaleway.get_baremetal_os(zone="fr-par-2",
853
+ name="Ubuntu",
854
+ version="22.04 LTS (Jammy Jellyfish)")
855
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
856
+ name="EM-B112X-SSD")
857
+ private_network = scaleway.get_baremetal_option(zone="fr-par-2",
858
+ name="Private Network")
859
+ pn = scaleway.VpcPrivateNetwork("pn",
860
+ region="fr-par",
861
+ name="baremetal_private_network")
862
+ base = scaleway.BaremetalServer("base",
863
+ zone="fr-par-2",
864
+ offer=my_offer.offer_id,
865
+ os=my_os.os_id,
866
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
867
+ options=[{
868
+ "id": private_network.option_id,
869
+ }],
870
+ private_networks=[{
871
+ "id": pn.id,
872
+ }])
873
+ ```
874
+
875
+ ### With IPAM IP IDs
876
+
877
+ ```python
878
+ import pulumi
879
+ import pulumi_scaleway as scaleway
880
+ import pulumiverse_scaleway as scaleway
881
+
882
+ vpc01 = scaleway.Vpc("vpc01", name="vpc_baremetal")
883
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
884
+ name="private_network_baremetal",
885
+ ipv4_subnet={
886
+ "subnet": "172.16.64.0/22",
887
+ },
888
+ vpc_id=vpc01.id)
889
+ ip01 = scaleway.IpamIp("ip01",
890
+ address="172.16.64.7",
891
+ sources=[{
892
+ "private_network_id": pn01.id,
893
+ }])
894
+ my_key = scaleway.get_iam_ssh_key(name="main")
895
+ my_os = scaleway.get_baremetal_os(zone="fr-par-1",
896
+ name="Ubuntu",
897
+ version="22.04 LTS (Jammy Jellyfish)")
898
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-1",
899
+ name="EM-A115X-SSD")
900
+ private_network = scaleway.get_baremetal_option(zone="fr-par-1",
901
+ name="Private Network")
902
+ base = scaleway.BaremetalServer("base",
903
+ zone="fr-par-2",
904
+ offer=my_offer.offer_id,
905
+ os=my_os.os_id,
906
+ ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
907
+ options=[{
908
+ "id": private_network.option_id,
909
+ }],
910
+ private_networks=[{
911
+ "id": pn01.id,
912
+ "ipam_ip_ids": [ip01.id],
913
+ }])
914
+ ```
915
+
916
+ ### Without install config
917
+
918
+ ```python
919
+ import pulumi
920
+ import pulumi_scaleway as scaleway
921
+ import pulumiverse_scaleway as scaleway
922
+
923
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
924
+ name="EM-B112X-SSD")
925
+ base = scaleway.BaremetalServer("base",
926
+ zone="fr-par-2",
927
+ offer=my_offer.offer_id,
928
+ install_config_afterward=True)
929
+ ```
930
+
931
+ ### With custom partitioning
932
+
933
+ ```python
934
+ import pulumi
935
+ import pulumi_scaleway as scaleway
936
+ import pulumiverse_scaleway as scaleway
937
+
938
+ config = pulumi.Config()
939
+ config_custom_partitioning = config.get("configCustomPartitioning")
940
+ if config_custom_partitioning is None:
941
+ config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
942
+ my_os = scaleway.get_baremetal_os(zone="fr-par-1",
943
+ name="Ubuntu",
944
+ version="22.04 LTS (Jammy Jellyfish)")
945
+ main = scaleway.IamSshKey("main", name="main")
946
+ base = scaleway.BaremetalServer("base",
947
+ name="%s",
948
+ zone="fr-par-1",
949
+ description="test a description",
950
+ offer="EM-B220E-NVME",
951
+ os=my_os.os_id,
952
+ partitioning=config_custom_partitioning,
953
+ tags=[
954
+ "terraform-test",
955
+ "scaleway_baremetal_server",
956
+ "minimal",
957
+ ],
958
+ ssh_key_ids=[main.id])
959
+ ```
960
+
961
+ ## Import
962
+
963
+ Baremetal servers can be imported using the `{zone}/{id}`, e.g.
964
+
965
+ bash
966
+
967
+ ```sh
968
+ $ pulumi import scaleway:index/baremetalServer:BaremetalServer web fr-par-2/11111111-1111-1111-1111-111111111111
969
+ ```
970
+
971
+ :param str resource_name: The name of the resource.
972
+ :param pulumi.ResourceOptions opts: Options for the resource.
973
+ :param pulumi.Input[str] description: A description for the server.
974
+ :param pulumi.Input[str] hostname: The hostname of the server.
975
+ :param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
976
+ :param pulumi.Input[str] name: The name of the server.
977
+ :param pulumi.Input[str] offer: The offer name or UUID of the baremetal server.
978
+ 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.
979
+
980
+ > **Important:** Updates to `offer` will recreate the server.
981
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerOptionArgs', 'BaremetalServerOptionArgsDict']]]] options: The options to enable on the server.
982
+ > The `options` block supports:
983
+ :param pulumi.Input[str] os: The UUID of the os to install on the server.
984
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
985
+ > **Important:** Updates to `os` will reinstall the server.
986
+ :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
987
+ :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
988
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
989
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
990
+ :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
991
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
992
+ :param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
993
+ :param pulumi.Input[str] service_user: User used for the service to install.
994
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
995
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
996
+ :param pulumi.Input[str] user: User used for the installation.
997
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
998
+ """
999
+ ...
1000
+ @overload
1001
+ def __init__(__self__,
1002
+ resource_name: str,
1003
+ args: BaremetalServerArgs,
1004
+ opts: Optional[pulumi.ResourceOptions] = None):
1005
+ """
1006
+ Creates and manages Scaleway Compute Baremetal servers. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).
1007
+
1008
+ ## Example Usage
1009
+
1010
+ ### Basic
1011
+
1012
+ ```python
1013
+ import pulumi
1014
+ import pulumi_scaleway as scaleway
1015
+ import pulumiverse_scaleway as scaleway
1016
+
1017
+ main = scaleway.get_iam_ssh_key(name="main")
1018
+ base = scaleway.BaremetalServer("base",
1019
+ zone="fr-par-2",
1020
+ offer="GP-BM1-S",
1021
+ os="d17d6872-0412-45d9-a198-af82c34d3c5c",
1022
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
1023
+ ```
1024
+
1025
+ ### With option
1026
+
1027
+ ```python
1028
+ import pulumi
1029
+ import pulumi_scaleway as scaleway
1030
+ import pulumiverse_scaleway as scaleway
1031
+
1032
+ main = scaleway.get_iam_ssh_key(name="main")
1033
+ my_os = scaleway.get_baremetal_os(zone="fr-par-2",
1034
+ name="Ubuntu",
1035
+ version="22.04 LTS (Jammy Jellyfish)")
1036
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
1037
+ name="EM-B112X-SSD")
1038
+ private_network = scaleway.get_baremetal_option(zone="fr-par-2",
1039
+ name="Private Network")
1040
+ remote_access = scaleway.get_baremetal_option(zone="fr-par-2",
1041
+ name="Remote Access")
1042
+ base = scaleway.BaremetalServer("base",
1043
+ zone="fr-par-2",
1044
+ offer=my_offer.offer_id,
1045
+ os=my_os.os_id,
1046
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1047
+ options=[
1048
+ {
1049
+ "id": private_network.option_id,
1050
+ },
1051
+ {
1052
+ "id": remote_access.option_id,
1053
+ },
1054
+ ])
1055
+ ```
1056
+
1057
+ ### With private network
1058
+
1059
+ ```python
1060
+ import pulumi
1061
+ import pulumi_scaleway as scaleway
1062
+ import pulumiverse_scaleway as scaleway
1063
+
1064
+ main = scaleway.get_iam_ssh_key(name="main")
1065
+ my_os = scaleway.get_baremetal_os(zone="fr-par-2",
1066
+ name="Ubuntu",
1067
+ version="22.04 LTS (Jammy Jellyfish)")
1068
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
1069
+ name="EM-B112X-SSD")
1070
+ private_network = scaleway.get_baremetal_option(zone="fr-par-2",
1071
+ name="Private Network")
1072
+ pn = scaleway.VpcPrivateNetwork("pn",
1073
+ region="fr-par",
1074
+ name="baremetal_private_network")
1075
+ base = scaleway.BaremetalServer("base",
1076
+ zone="fr-par-2",
1077
+ offer=my_offer.offer_id,
1078
+ os=my_os.os_id,
1079
+ ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1080
+ options=[{
1081
+ "id": private_network.option_id,
1082
+ }],
1083
+ private_networks=[{
1084
+ "id": pn.id,
1085
+ }])
1086
+ ```
1087
+
1088
+ ### With IPAM IP IDs
1089
+
1090
+ ```python
1091
+ import pulumi
1092
+ import pulumi_scaleway as scaleway
1093
+ import pulumiverse_scaleway as scaleway
1094
+
1095
+ vpc01 = scaleway.Vpc("vpc01", name="vpc_baremetal")
1096
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
1097
+ name="private_network_baremetal",
1098
+ ipv4_subnet={
1099
+ "subnet": "172.16.64.0/22",
1100
+ },
1101
+ vpc_id=vpc01.id)
1102
+ ip01 = scaleway.IpamIp("ip01",
1103
+ address="172.16.64.7",
1104
+ sources=[{
1105
+ "private_network_id": pn01.id,
1106
+ }])
1107
+ my_key = scaleway.get_iam_ssh_key(name="main")
1108
+ my_os = scaleway.get_baremetal_os(zone="fr-par-1",
1109
+ name="Ubuntu",
1110
+ version="22.04 LTS (Jammy Jellyfish)")
1111
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-1",
1112
+ name="EM-A115X-SSD")
1113
+ private_network = scaleway.get_baremetal_option(zone="fr-par-1",
1114
+ name="Private Network")
1115
+ base = scaleway.BaremetalServer("base",
1116
+ zone="fr-par-2",
1117
+ offer=my_offer.offer_id,
1118
+ os=my_os.os_id,
1119
+ ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
1120
+ options=[{
1121
+ "id": private_network.option_id,
1122
+ }],
1123
+ private_networks=[{
1124
+ "id": pn01.id,
1125
+ "ipam_ip_ids": [ip01.id],
1126
+ }])
1127
+ ```
1128
+
1129
+ ### Without install config
1130
+
1131
+ ```python
1132
+ import pulumi
1133
+ import pulumi_scaleway as scaleway
1134
+ import pulumiverse_scaleway as scaleway
1135
+
1136
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
1137
+ name="EM-B112X-SSD")
1138
+ base = scaleway.BaremetalServer("base",
1139
+ zone="fr-par-2",
1140
+ offer=my_offer.offer_id,
1141
+ install_config_afterward=True)
1142
+ ```
1143
+
1144
+ ### With custom partitioning
1145
+
1146
+ ```python
1147
+ import pulumi
1148
+ import pulumi_scaleway as scaleway
1149
+ import pulumiverse_scaleway as scaleway
1150
+
1151
+ config = pulumi.Config()
1152
+ config_custom_partitioning = config.get("configCustomPartitioning")
1153
+ if config_custom_partitioning is None:
1154
+ config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
1155
+ my_os = scaleway.get_baremetal_os(zone="fr-par-1",
1156
+ name="Ubuntu",
1157
+ version="22.04 LTS (Jammy Jellyfish)")
1158
+ main = scaleway.IamSshKey("main", name="main")
1159
+ base = scaleway.BaremetalServer("base",
1160
+ name="%s",
1161
+ zone="fr-par-1",
1162
+ description="test a description",
1163
+ offer="EM-B220E-NVME",
1164
+ os=my_os.os_id,
1165
+ partitioning=config_custom_partitioning,
1166
+ tags=[
1167
+ "terraform-test",
1168
+ "scaleway_baremetal_server",
1169
+ "minimal",
1170
+ ],
1171
+ ssh_key_ids=[main.id])
1172
+ ```
1173
+
1174
+ ## Import
1175
+
1176
+ Baremetal servers can be imported using the `{zone}/{id}`, e.g.
1177
+
1178
+ bash
1179
+
1180
+ ```sh
1181
+ $ pulumi import scaleway:index/baremetalServer:BaremetalServer web fr-par-2/11111111-1111-1111-1111-111111111111
1182
+ ```
1183
+
1184
+ :param str resource_name: The name of the resource.
1185
+ :param BaremetalServerArgs args: The arguments to use to populate this resource's properties.
1186
+ :param pulumi.ResourceOptions opts: Options for the resource.
1187
+ """
1188
+ ...
1189
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1190
+ resource_args, opts = _utilities.get_resource_args_opts(BaremetalServerArgs, pulumi.ResourceOptions, *args, **kwargs)
1191
+ if resource_args is not None:
1192
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1193
+ else:
1194
+ __self__._internal_init(resource_name, *args, **kwargs)
1195
+
1196
+ def _internal_init(__self__,
1197
+ resource_name: str,
1198
+ opts: Optional[pulumi.ResourceOptions] = None,
1199
+ description: Optional[pulumi.Input[str]] = None,
1200
+ hostname: Optional[pulumi.Input[str]] = None,
1201
+ install_config_afterward: Optional[pulumi.Input[bool]] = None,
1202
+ name: Optional[pulumi.Input[str]] = None,
1203
+ offer: Optional[pulumi.Input[str]] = None,
1204
+ options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerOptionArgs', 'BaremetalServerOptionArgsDict']]]]] = None,
1205
+ os: Optional[pulumi.Input[str]] = None,
1206
+ partitioning: Optional[pulumi.Input[str]] = None,
1207
+ password: Optional[pulumi.Input[str]] = None,
1208
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1209
+ project_id: Optional[pulumi.Input[str]] = None,
1210
+ reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
1211
+ service_password: Optional[pulumi.Input[str]] = None,
1212
+ service_user: Optional[pulumi.Input[str]] = None,
1213
+ ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1214
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1215
+ user: Optional[pulumi.Input[str]] = None,
1216
+ zone: Optional[pulumi.Input[str]] = None,
1217
+ __props__=None):
1218
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1219
+ if not isinstance(opts, pulumi.ResourceOptions):
1220
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1221
+ if opts.id is None:
1222
+ if __props__ is not None:
1223
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1224
+ __props__ = BaremetalServerArgs.__new__(BaremetalServerArgs)
1225
+
1226
+ __props__.__dict__["description"] = description
1227
+ __props__.__dict__["hostname"] = hostname
1228
+ __props__.__dict__["install_config_afterward"] = install_config_afterward
1229
+ __props__.__dict__["name"] = name
1230
+ if offer is None and not opts.urn:
1231
+ raise TypeError("Missing required property 'offer'")
1232
+ __props__.__dict__["offer"] = offer
1233
+ __props__.__dict__["options"] = options
1234
+ __props__.__dict__["os"] = os
1235
+ __props__.__dict__["partitioning"] = partitioning
1236
+ __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
1237
+ __props__.__dict__["private_networks"] = private_networks
1238
+ __props__.__dict__["project_id"] = project_id
1239
+ __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
1240
+ __props__.__dict__["service_password"] = None if service_password is None else pulumi.Output.secret(service_password)
1241
+ __props__.__dict__["service_user"] = service_user
1242
+ __props__.__dict__["ssh_key_ids"] = ssh_key_ids
1243
+ __props__.__dict__["tags"] = tags
1244
+ __props__.__dict__["user"] = user
1245
+ __props__.__dict__["zone"] = zone
1246
+ __props__.__dict__["domain"] = None
1247
+ __props__.__dict__["ips"] = None
1248
+ __props__.__dict__["ipv4s"] = None
1249
+ __props__.__dict__["ipv6s"] = None
1250
+ __props__.__dict__["offer_id"] = None
1251
+ __props__.__dict__["offer_name"] = None
1252
+ __props__.__dict__["organization_id"] = None
1253
+ __props__.__dict__["os_name"] = None
1254
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password", "servicePassword"])
1255
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1256
+ super(BaremetalServer, __self__).__init__(
1257
+ 'scaleway:index/baremetalServer:BaremetalServer',
1258
+ resource_name,
1259
+ __props__,
1260
+ opts)
1261
+
1262
+ @staticmethod
1263
+ def get(resource_name: str,
1264
+ id: pulumi.Input[str],
1265
+ opts: Optional[pulumi.ResourceOptions] = None,
1266
+ description: Optional[pulumi.Input[str]] = None,
1267
+ domain: Optional[pulumi.Input[str]] = None,
1268
+ hostname: Optional[pulumi.Input[str]] = None,
1269
+ install_config_afterward: Optional[pulumi.Input[bool]] = None,
1270
+ ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpArgs', 'BaremetalServerIpArgsDict']]]]] = None,
1271
+ ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpv4Args', 'BaremetalServerIpv4ArgsDict']]]]] = None,
1272
+ ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpv6Args', 'BaremetalServerIpv6ArgsDict']]]]] = None,
1273
+ name: Optional[pulumi.Input[str]] = None,
1274
+ offer: Optional[pulumi.Input[str]] = None,
1275
+ offer_id: Optional[pulumi.Input[str]] = None,
1276
+ offer_name: Optional[pulumi.Input[str]] = None,
1277
+ options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerOptionArgs', 'BaremetalServerOptionArgsDict']]]]] = None,
1278
+ organization_id: Optional[pulumi.Input[str]] = None,
1279
+ os: Optional[pulumi.Input[str]] = None,
1280
+ os_name: Optional[pulumi.Input[str]] = None,
1281
+ partitioning: Optional[pulumi.Input[str]] = None,
1282
+ password: Optional[pulumi.Input[str]] = None,
1283
+ private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1284
+ project_id: Optional[pulumi.Input[str]] = None,
1285
+ reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
1286
+ service_password: Optional[pulumi.Input[str]] = None,
1287
+ service_user: Optional[pulumi.Input[str]] = None,
1288
+ ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1289
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1290
+ user: Optional[pulumi.Input[str]] = None,
1291
+ zone: Optional[pulumi.Input[str]] = None) -> 'BaremetalServer':
1292
+ """
1293
+ Get an existing BaremetalServer resource's state with the given name, id, and optional extra
1294
+ properties used to qualify the lookup.
1295
+
1296
+ :param str resource_name: The unique name of the resulting resource.
1297
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1298
+ :param pulumi.ResourceOptions opts: Options for the resource.
1299
+ :param pulumi.Input[str] description: A description for the server.
1300
+ :param pulumi.Input[str] domain: The domain of the server.
1301
+ :param pulumi.Input[str] hostname: The hostname of the server.
1302
+ :param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
1303
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpArgs', 'BaremetalServerIpArgsDict']]]] ips: (List of) The IPs of the server.
1304
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpv4Args', 'BaremetalServerIpv4ArgsDict']]]] ipv4s: (List of) The IPv4 addresses of the server.
1305
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerIpv6Args', 'BaremetalServerIpv6ArgsDict']]]] ipv6s: (List of) The IPv6 addresses of the server.
1306
+ :param pulumi.Input[str] name: The name of the server.
1307
+ :param pulumi.Input[str] offer: The offer name or UUID of the baremetal server.
1308
+ 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.
1309
+
1310
+ > **Important:** Updates to `offer` will recreate the server.
1311
+ :param pulumi.Input[str] offer_id: The ID of the offer.
1312
+ :param pulumi.Input[str] offer_name: The name of the offer.
1313
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerOptionArgs', 'BaremetalServerOptionArgsDict']]]] options: The options to enable on the server.
1314
+ > The `options` block supports:
1315
+ :param pulumi.Input[str] organization_id: The organization ID the server is associated with.
1316
+ :param pulumi.Input[str] os: The UUID of the os to install on the server.
1317
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
1318
+ > **Important:** Updates to `os` will reinstall the server.
1319
+ :param pulumi.Input[str] os_name: The name of the os.
1320
+ :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
1321
+ :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
1322
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
1323
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1324
+ :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
1325
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
1326
+ :param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
1327
+ :param pulumi.Input[str] service_user: User used for the service to install.
1328
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
1329
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
1330
+ :param pulumi.Input[str] user: User used for the installation.
1331
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
1332
+ """
1333
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1334
+
1335
+ __props__ = _BaremetalServerState.__new__(_BaremetalServerState)
1336
+
1337
+ __props__.__dict__["description"] = description
1338
+ __props__.__dict__["domain"] = domain
1339
+ __props__.__dict__["hostname"] = hostname
1340
+ __props__.__dict__["install_config_afterward"] = install_config_afterward
1341
+ __props__.__dict__["ips"] = ips
1342
+ __props__.__dict__["ipv4s"] = ipv4s
1343
+ __props__.__dict__["ipv6s"] = ipv6s
1344
+ __props__.__dict__["name"] = name
1345
+ __props__.__dict__["offer"] = offer
1346
+ __props__.__dict__["offer_id"] = offer_id
1347
+ __props__.__dict__["offer_name"] = offer_name
1348
+ __props__.__dict__["options"] = options
1349
+ __props__.__dict__["organization_id"] = organization_id
1350
+ __props__.__dict__["os"] = os
1351
+ __props__.__dict__["os_name"] = os_name
1352
+ __props__.__dict__["partitioning"] = partitioning
1353
+ __props__.__dict__["password"] = password
1354
+ __props__.__dict__["private_networks"] = private_networks
1355
+ __props__.__dict__["project_id"] = project_id
1356
+ __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
1357
+ __props__.__dict__["service_password"] = service_password
1358
+ __props__.__dict__["service_user"] = service_user
1359
+ __props__.__dict__["ssh_key_ids"] = ssh_key_ids
1360
+ __props__.__dict__["tags"] = tags
1361
+ __props__.__dict__["user"] = user
1362
+ __props__.__dict__["zone"] = zone
1363
+ return BaremetalServer(resource_name, opts=opts, __props__=__props__)
1364
+
1365
+ @property
1366
+ @pulumi.getter
1367
+ def description(self) -> pulumi.Output[Optional[str]]:
1368
+ """
1369
+ A description for the server.
1370
+ """
1371
+ return pulumi.get(self, "description")
1372
+
1373
+ @property
1374
+ @pulumi.getter
1375
+ def domain(self) -> pulumi.Output[str]:
1376
+ """
1377
+ The domain of the server.
1378
+ """
1379
+ return pulumi.get(self, "domain")
1380
+
1381
+ @property
1382
+ @pulumi.getter
1383
+ def hostname(self) -> pulumi.Output[Optional[str]]:
1384
+ """
1385
+ The hostname of the server.
1386
+ """
1387
+ return pulumi.get(self, "hostname")
1388
+
1389
+ @property
1390
+ @pulumi.getter(name="installConfigAfterward")
1391
+ def install_config_afterward(self) -> pulumi.Output[Optional[bool]]:
1392
+ """
1393
+ If True, this boolean allows to create a server without the install config if you want to provide it later.
1394
+ """
1395
+ return pulumi.get(self, "install_config_afterward")
1396
+
1397
+ @property
1398
+ @pulumi.getter
1399
+ def ips(self) -> pulumi.Output[Sequence['outputs.BaremetalServerIp']]:
1400
+ """
1401
+ (List of) The IPs of the server.
1402
+ """
1403
+ return pulumi.get(self, "ips")
1404
+
1405
+ @property
1406
+ @pulumi.getter
1407
+ def ipv4s(self) -> pulumi.Output[Sequence['outputs.BaremetalServerIpv4']]:
1408
+ """
1409
+ (List of) The IPv4 addresses of the server.
1410
+ """
1411
+ return pulumi.get(self, "ipv4s")
1412
+
1413
+ @property
1414
+ @pulumi.getter
1415
+ def ipv6s(self) -> pulumi.Output[Sequence['outputs.BaremetalServerIpv6']]:
1416
+ """
1417
+ (List of) The IPv6 addresses of the server.
1418
+ """
1419
+ return pulumi.get(self, "ipv6s")
1420
+
1421
+ @property
1422
+ @pulumi.getter
1423
+ def name(self) -> pulumi.Output[str]:
1424
+ """
1425
+ The name of the server.
1426
+ """
1427
+ return pulumi.get(self, "name")
1428
+
1429
+ @property
1430
+ @pulumi.getter
1431
+ def offer(self) -> pulumi.Output[str]:
1432
+ """
1433
+ The offer name or UUID of the baremetal server.
1434
+ 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.
1435
+
1436
+ > **Important:** Updates to `offer` will recreate the server.
1437
+ """
1438
+ return pulumi.get(self, "offer")
1439
+
1440
+ @property
1441
+ @pulumi.getter(name="offerId")
1442
+ def offer_id(self) -> pulumi.Output[str]:
1443
+ """
1444
+ The ID of the offer.
1445
+ """
1446
+ return pulumi.get(self, "offer_id")
1447
+
1448
+ @property
1449
+ @pulumi.getter(name="offerName")
1450
+ def offer_name(self) -> pulumi.Output[str]:
1451
+ """
1452
+ The name of the offer.
1453
+ """
1454
+ return pulumi.get(self, "offer_name")
1455
+
1456
+ @property
1457
+ @pulumi.getter
1458
+ def options(self) -> pulumi.Output[Optional[Sequence['outputs.BaremetalServerOption']]]:
1459
+ """
1460
+ The options to enable on the server.
1461
+ > The `options` block supports:
1462
+ """
1463
+ return pulumi.get(self, "options")
1464
+
1465
+ @property
1466
+ @pulumi.getter(name="organizationId")
1467
+ def organization_id(self) -> pulumi.Output[str]:
1468
+ """
1469
+ The organization ID the server is associated with.
1470
+ """
1471
+ return pulumi.get(self, "organization_id")
1472
+
1473
+ @property
1474
+ @pulumi.getter
1475
+ def os(self) -> pulumi.Output[Optional[str]]:
1476
+ """
1477
+ The UUID of the os to install on the server.
1478
+ Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
1479
+ > **Important:** Updates to `os` will reinstall the server.
1480
+ """
1481
+ return pulumi.get(self, "os")
1482
+
1483
+ @property
1484
+ @pulumi.getter(name="osName")
1485
+ def os_name(self) -> pulumi.Output[str]:
1486
+ """
1487
+ The name of the os.
1488
+ """
1489
+ return pulumi.get(self, "os_name")
1490
+
1491
+ @property
1492
+ @pulumi.getter
1493
+ def partitioning(self) -> pulumi.Output[Optional[str]]:
1494
+ """
1495
+ The partitioning schema in JSON format
1496
+ """
1497
+ return pulumi.get(self, "partitioning")
1498
+
1499
+ @property
1500
+ @pulumi.getter
1501
+ def password(self) -> pulumi.Output[Optional[str]]:
1502
+ """
1503
+ Password used for the installation. May be required depending on used os.
1504
+ """
1505
+ return pulumi.get(self, "password")
1506
+
1507
+ @property
1508
+ @pulumi.getter(name="privateNetworks")
1509
+ def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.BaremetalServerPrivateNetwork']]]:
1510
+ """
1511
+ The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
1512
+ """
1513
+ return pulumi.get(self, "private_networks")
1514
+
1515
+ @property
1516
+ @pulumi.getter(name="projectId")
1517
+ def project_id(self) -> pulumi.Output[str]:
1518
+ """
1519
+ `project_id`) The ID of the project the server is associated with.
1520
+ """
1521
+ return pulumi.get(self, "project_id")
1522
+
1523
+ @property
1524
+ @pulumi.getter(name="reinstallOnConfigChanges")
1525
+ def reinstall_on_config_changes(self) -> pulumi.Output[Optional[bool]]:
1526
+ """
1527
+ If True, this boolean allows to reinstall the server on install config changes.
1528
+ > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
1529
+ """
1530
+ return pulumi.get(self, "reinstall_on_config_changes")
1531
+
1532
+ @property
1533
+ @pulumi.getter(name="servicePassword")
1534
+ def service_password(self) -> pulumi.Output[Optional[str]]:
1535
+ """
1536
+ Password used for the service to install. May be required depending on used os.
1537
+ """
1538
+ return pulumi.get(self, "service_password")
1539
+
1540
+ @property
1541
+ @pulumi.getter(name="serviceUser")
1542
+ def service_user(self) -> pulumi.Output[str]:
1543
+ """
1544
+ User used for the service to install.
1545
+ """
1546
+ return pulumi.get(self, "service_user")
1547
+
1548
+ @property
1549
+ @pulumi.getter(name="sshKeyIds")
1550
+ def ssh_key_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1551
+ """
1552
+ List of SSH keys allowed to connect to the server.
1553
+ """
1554
+ return pulumi.get(self, "ssh_key_ids")
1555
+
1556
+ @property
1557
+ @pulumi.getter
1558
+ def tags(self) -> pulumi.Output[Sequence[str]]:
1559
+ """
1560
+ The tags associated with the server.
1561
+ """
1562
+ return pulumi.get(self, "tags")
1563
+
1564
+ @property
1565
+ @pulumi.getter
1566
+ def user(self) -> pulumi.Output[str]:
1567
+ """
1568
+ User used for the installation.
1569
+ """
1570
+ return pulumi.get(self, "user")
1571
+
1572
+ @property
1573
+ @pulumi.getter
1574
+ def zone(self) -> pulumi.Output[str]:
1575
+ """
1576
+ `zone`) The zone in which the server should be created.
1577
+ """
1578
+ return pulumi.get(self, "zone")
1579
+