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,168 @@
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
+
17
+ __all__ = [
18
+ 'GetBaremetalOptionResult',
19
+ 'AwaitableGetBaremetalOptionResult',
20
+ 'get_baremetal_option',
21
+ 'get_baremetal_option_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetBaremetalOptionResult:
26
+ """
27
+ A collection of values returned by getBaremetalOption.
28
+ """
29
+ def __init__(__self__, id=None, manageable=None, name=None, option_id=None, zone=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if manageable and not isinstance(manageable, bool):
34
+ raise TypeError("Expected argument 'manageable' to be a bool")
35
+ pulumi.set(__self__, "manageable", manageable)
36
+ if name and not isinstance(name, str):
37
+ raise TypeError("Expected argument 'name' to be a str")
38
+ pulumi.set(__self__, "name", name)
39
+ if option_id and not isinstance(option_id, str):
40
+ raise TypeError("Expected argument 'option_id' to be a str")
41
+ pulumi.set(__self__, "option_id", option_id)
42
+ if zone and not isinstance(zone, str):
43
+ raise TypeError("Expected argument 'zone' to be a str")
44
+ pulumi.set(__self__, "zone", zone)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def id(self) -> str:
49
+ """
50
+ The provider-assigned unique ID for this managed resource.
51
+ """
52
+ return pulumi.get(self, "id")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def manageable(self) -> bool:
57
+ """
58
+ Is false if the option could not be added or removed.
59
+ """
60
+ return pulumi.get(self, "manageable")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def name(self) -> Optional[str]:
65
+ """
66
+ The name of the option.
67
+ """
68
+ return pulumi.get(self, "name")
69
+
70
+ @property
71
+ @pulumi.getter(name="optionId")
72
+ def option_id(self) -> Optional[str]:
73
+ return pulumi.get(self, "option_id")
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def zone(self) -> str:
78
+ return pulumi.get(self, "zone")
79
+
80
+
81
+ class AwaitableGetBaremetalOptionResult(GetBaremetalOptionResult):
82
+ # pylint: disable=using-constant-test
83
+ def __await__(self):
84
+ if False:
85
+ yield self
86
+ return GetBaremetalOptionResult(
87
+ id=self.id,
88
+ manageable=self.manageable,
89
+ name=self.name,
90
+ option_id=self.option_id,
91
+ zone=self.zone)
92
+
93
+
94
+ def get_baremetal_option(name: Optional[str] = None,
95
+ option_id: Optional[str] = None,
96
+ zone: Optional[str] = None,
97
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBaremetalOptionResult:
98
+ """
99
+ Gets information about a baremetal option.
100
+ For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).
101
+
102
+ ## Example Usage
103
+
104
+ ```python
105
+ import pulumi
106
+ import pulumi_scaleway as scaleway
107
+
108
+ # Get info by option name
109
+ by_name = scaleway.get_baremetal_option(name="Remote Access")
110
+ # Get info by option id
111
+ by_id = scaleway.get_baremetal_option(option_id="931df052-d713-4674-8b58-96a63244c8e2")
112
+ ```
113
+
114
+
115
+ :param str name: The option name. Only one of `name` and `option_id` should be specified.
116
+ :param str option_id: The option id. Only one of `name` and `option_id` should be specified.
117
+ :param str zone: `zone`) The zone in which the option exists.
118
+ """
119
+ __args__ = dict()
120
+ __args__['name'] = name
121
+ __args__['optionId'] = option_id
122
+ __args__['zone'] = zone
123
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
124
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getBaremetalOption:getBaremetalOption', __args__, opts=opts, typ=GetBaremetalOptionResult).value
125
+
126
+ return AwaitableGetBaremetalOptionResult(
127
+ id=pulumi.get(__ret__, 'id'),
128
+ manageable=pulumi.get(__ret__, 'manageable'),
129
+ name=pulumi.get(__ret__, 'name'),
130
+ option_id=pulumi.get(__ret__, 'option_id'),
131
+ zone=pulumi.get(__ret__, 'zone'))
132
+ def get_baremetal_option_output(name: Optional[pulumi.Input[Optional[str]]] = None,
133
+ option_id: Optional[pulumi.Input[Optional[str]]] = None,
134
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
135
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalOptionResult]:
136
+ """
137
+ Gets information about a baremetal option.
138
+ For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).
139
+
140
+ ## Example Usage
141
+
142
+ ```python
143
+ import pulumi
144
+ import pulumi_scaleway as scaleway
145
+
146
+ # Get info by option name
147
+ by_name = scaleway.get_baremetal_option(name="Remote Access")
148
+ # Get info by option id
149
+ by_id = scaleway.get_baremetal_option(option_id="931df052-d713-4674-8b58-96a63244c8e2")
150
+ ```
151
+
152
+
153
+ :param str name: The option name. Only one of `name` and `option_id` should be specified.
154
+ :param str option_id: The option id. Only one of `name` and `option_id` should be specified.
155
+ :param str zone: `zone`) The zone in which the option exists.
156
+ """
157
+ __args__ = dict()
158
+ __args__['name'] = name
159
+ __args__['optionId'] = option_id
160
+ __args__['zone'] = zone
161
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
162
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalOption:getBaremetalOption', __args__, opts=opts, typ=GetBaremetalOptionResult)
163
+ return __ret__.apply(lambda __response__: GetBaremetalOptionResult(
164
+ id=pulumi.get(__response__, 'id'),
165
+ manageable=pulumi.get(__response__, 'manageable'),
166
+ name=pulumi.get(__response__, 'name'),
167
+ option_id=pulumi.get(__response__, 'option_id'),
168
+ zone=pulumi.get(__response__, 'zone')))
@@ -0,0 +1,174 @@
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
+
17
+ __all__ = [
18
+ 'GetBaremetalOsResult',
19
+ 'AwaitableGetBaremetalOsResult',
20
+ 'get_baremetal_os',
21
+ 'get_baremetal_os_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetBaremetalOsResult:
26
+ """
27
+ A collection of values returned by getBaremetalOs.
28
+ """
29
+ def __init__(__self__, id=None, name=None, os_id=None, version=None, zone=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if name and not isinstance(name, str):
34
+ raise TypeError("Expected argument 'name' to be a str")
35
+ pulumi.set(__self__, "name", name)
36
+ if os_id and not isinstance(os_id, str):
37
+ raise TypeError("Expected argument 'os_id' to be a str")
38
+ pulumi.set(__self__, "os_id", os_id)
39
+ if version and not isinstance(version, str):
40
+ raise TypeError("Expected argument 'version' to be a str")
41
+ pulumi.set(__self__, "version", version)
42
+ if zone and not isinstance(zone, str):
43
+ raise TypeError("Expected argument 'zone' to be a str")
44
+ pulumi.set(__self__, "zone", zone)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def id(self) -> str:
49
+ """
50
+ The provider-assigned unique ID for this managed resource.
51
+ """
52
+ return pulumi.get(self, "id")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def name(self) -> Optional[str]:
57
+ return pulumi.get(self, "name")
58
+
59
+ @property
60
+ @pulumi.getter(name="osId")
61
+ def os_id(self) -> Optional[str]:
62
+ return pulumi.get(self, "os_id")
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def version(self) -> Optional[str]:
67
+ return pulumi.get(self, "version")
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def zone(self) -> str:
72
+ return pulumi.get(self, "zone")
73
+
74
+
75
+ class AwaitableGetBaremetalOsResult(GetBaremetalOsResult):
76
+ # pylint: disable=using-constant-test
77
+ def __await__(self):
78
+ if False:
79
+ yield self
80
+ return GetBaremetalOsResult(
81
+ id=self.id,
82
+ name=self.name,
83
+ os_id=self.os_id,
84
+ version=self.version,
85
+ zone=self.zone)
86
+
87
+
88
+ def get_baremetal_os(name: Optional[str] = None,
89
+ os_id: Optional[str] = None,
90
+ version: Optional[str] = None,
91
+ zone: Optional[str] = None,
92
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBaremetalOsResult:
93
+ """
94
+ Gets information about a baremetal operating system.
95
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses).
96
+
97
+ You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw baremetal os list` to list all available operating systems.
98
+
99
+ ## Example Usage
100
+
101
+ ```python
102
+ import pulumi
103
+ import pulumi_scaleway as scaleway
104
+
105
+ # Get info by os name and version
106
+ by_name = scaleway.get_baremetal_os(name="Ubuntu",
107
+ version="20.04 LTS (Focal Fossa)")
108
+ # Get info by os id
109
+ by_id = scaleway.get_baremetal_os(os_id="03b7f4ba-a6a1-4305-984e-b54fafbf1681")
110
+ ```
111
+
112
+
113
+ :param str name: The os name. Only one of `name` and `os_id` should be specified.
114
+ :param str os_id: The operating system id. Only one of `name` and `os_id` should be specified.
115
+ :param str version: The os version.
116
+ :param str zone: `zone`) The zone in which the os exists.
117
+ """
118
+ __args__ = dict()
119
+ __args__['name'] = name
120
+ __args__['osId'] = os_id
121
+ __args__['version'] = version
122
+ __args__['zone'] = zone
123
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
124
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getBaremetalOs:getBaremetalOs', __args__, opts=opts, typ=GetBaremetalOsResult).value
125
+
126
+ return AwaitableGetBaremetalOsResult(
127
+ id=pulumi.get(__ret__, 'id'),
128
+ name=pulumi.get(__ret__, 'name'),
129
+ os_id=pulumi.get(__ret__, 'os_id'),
130
+ version=pulumi.get(__ret__, 'version'),
131
+ zone=pulumi.get(__ret__, 'zone'))
132
+ def get_baremetal_os_output(name: Optional[pulumi.Input[Optional[str]]] = None,
133
+ os_id: Optional[pulumi.Input[Optional[str]]] = None,
134
+ version: Optional[pulumi.Input[Optional[str]]] = None,
135
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
136
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalOsResult]:
137
+ """
138
+ Gets information about a baremetal operating system.
139
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses).
140
+
141
+ You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw baremetal os list` to list all available operating systems.
142
+
143
+ ## Example Usage
144
+
145
+ ```python
146
+ import pulumi
147
+ import pulumi_scaleway as scaleway
148
+
149
+ # Get info by os name and version
150
+ by_name = scaleway.get_baremetal_os(name="Ubuntu",
151
+ version="20.04 LTS (Focal Fossa)")
152
+ # Get info by os id
153
+ by_id = scaleway.get_baremetal_os(os_id="03b7f4ba-a6a1-4305-984e-b54fafbf1681")
154
+ ```
155
+
156
+
157
+ :param str name: The os name. Only one of `name` and `os_id` should be specified.
158
+ :param str os_id: The operating system id. Only one of `name` and `os_id` should be specified.
159
+ :param str version: The os version.
160
+ :param str zone: `zone`) The zone in which the os exists.
161
+ """
162
+ __args__ = dict()
163
+ __args__['name'] = name
164
+ __args__['osId'] = os_id
165
+ __args__['version'] = version
166
+ __args__['zone'] = zone
167
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
168
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalOs:getBaremetalOs', __args__, opts=opts, typ=GetBaremetalOsResult)
169
+ return __ret__.apply(lambda __response__: GetBaremetalOsResult(
170
+ id=pulumi.get(__response__, 'id'),
171
+ name=pulumi.get(__response__, 'name'),
172
+ os_id=pulumi.get(__response__, 'os_id'),
173
+ version=pulumi.get(__response__, 'version'),
174
+ zone=pulumi.get(__response__, 'zone')))