pulumiverse-scaleway 1.16.0__py3-none-any.whl

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

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