pulumiverse-scaleway 1.29.0a1747948949__py3-none-any.whl → 1.29.0a1748333343__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. pulumiverse_scaleway/__init__.py +0 -1
  2. pulumiverse_scaleway/_inputs.py +106 -0
  3. pulumiverse_scaleway/account/__init__.py +2 -0
  4. pulumiverse_scaleway/account/get_projects.py +235 -0
  5. pulumiverse_scaleway/account/outputs.py +95 -0
  6. pulumiverse_scaleway/baremetal_server.py +20 -1
  7. pulumiverse_scaleway/block/__init__.py +2 -0
  8. pulumiverse_scaleway/block/_inputs.py +73 -0
  9. pulumiverse_scaleway/block/get_snapshot.py +13 -1
  10. pulumiverse_scaleway/block/outputs.py +79 -0
  11. pulumiverse_scaleway/block/snapshot.py +62 -14
  12. pulumiverse_scaleway/block_snapshot.py +62 -14
  13. pulumiverse_scaleway/container.py +2 -2
  14. pulumiverse_scaleway/containers/container.py +2 -2
  15. pulumiverse_scaleway/database_instance.py +20 -1
  16. pulumiverse_scaleway/databases/instance.py +20 -1
  17. pulumiverse_scaleway/domain/get_zone.py +7 -1
  18. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  19. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  20. pulumiverse_scaleway/elasticmetal/server.py +20 -1
  21. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  22. pulumiverse_scaleway/get_domain_zone.py +7 -1
  23. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  24. pulumiverse_scaleway/iam/user.py +468 -14
  25. pulumiverse_scaleway/iam_user.py +468 -14
  26. pulumiverse_scaleway/instance/private_nic.py +20 -1
  27. pulumiverse_scaleway/instance/server.py +20 -1
  28. pulumiverse_scaleway/instance/snapshot.py +28 -7
  29. pulumiverse_scaleway/instance/volume.py +28 -7
  30. pulumiverse_scaleway/instance_private_nic.py +20 -1
  31. pulumiverse_scaleway/instance_server.py +20 -1
  32. pulumiverse_scaleway/instance_snapshot.py +28 -7
  33. pulumiverse_scaleway/instance_volume.py +28 -7
  34. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  35. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  36. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  37. pulumiverse_scaleway/mongodb/instance.py +107 -7
  38. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  39. pulumiverse_scaleway/network/gateway_network.py +20 -1
  40. pulumiverse_scaleway/observability/__init__.py +0 -1
  41. pulumiverse_scaleway/outputs.py +122 -0
  42. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  43. pulumiverse_scaleway/redis/cluster.py +20 -1
  44. pulumiverse_scaleway/redis_cluster.py +20 -1
  45. pulumiverse_scaleway/vpc_gateway_network.py +20 -1
  46. {pulumiverse_scaleway-1.29.0a1747948949.dist-info → pulumiverse_scaleway-1.29.0a1748333343.dist-info}/METADATA +1 -1
  47. {pulumiverse_scaleway-1.29.0a1747948949.dist-info → pulumiverse_scaleway-1.29.0a1748333343.dist-info}/RECORD +49 -44
  48. {pulumiverse_scaleway-1.29.0a1747948949.dist-info → pulumiverse_scaleway-1.29.0a1748333343.dist-info}/WHEEL +1 -1
  49. {pulumiverse_scaleway-1.29.0a1747948949.dist-info → pulumiverse_scaleway-1.29.0a1748333343.dist-info}/top_level.txt +0 -0
@@ -60,7 +60,6 @@ from .get_billing_invoices import *
60
60
  from .get_block_snapshot import *
61
61
  from .get_block_volume import *
62
62
  from .get_cockpit import *
63
- from .get_cockpit_plan import *
64
63
  from .get_cockpit_source import *
65
64
  from .get_config import *
66
65
  from .get_container import *
@@ -29,6 +29,8 @@ __all__ = [
29
29
  'BaremetalServerPrivateIpArgsDict',
30
30
  'BaremetalServerPrivateNetworkArgs',
31
31
  'BaremetalServerPrivateNetworkArgsDict',
32
+ 'BlockSnapshotImportArgs',
33
+ 'BlockSnapshotImportArgsDict',
32
34
  'CockpitAlertManagerContactPointArgs',
33
35
  'CockpitAlertManagerContactPointArgsDict',
34
36
  'CockpitEndpointArgs',
@@ -193,6 +195,8 @@ __all__ = [
193
195
  'MnqSnsCredentialsPermissionsArgsDict',
194
196
  'MnqSqsCredentialsPermissionsArgs',
195
197
  'MnqSqsCredentialsPermissionsArgsDict',
198
+ 'MongoDbInstancePrivateIpArgs',
199
+ 'MongoDbInstancePrivateIpArgsDict',
196
200
  'MongoDbInstancePrivateNetworkArgs',
197
201
  'MongoDbInstancePrivateNetworkArgsDict',
198
202
  'MongoDbInstancePublicNetworkArgs',
@@ -942,6 +946,56 @@ class BaremetalServerPrivateNetworkArgs:
942
946
  pulumi.set(self, "vlan", value)
943
947
 
944
948
 
949
+ if not MYPY:
950
+ class BlockSnapshotImportArgsDict(TypedDict):
951
+ bucket: pulumi.Input[str]
952
+ """
953
+ Bucket containing qcow
954
+ """
955
+ key: pulumi.Input[str]
956
+ """
957
+ Key of the qcow file in the specified bucket
958
+ """
959
+ elif False:
960
+ BlockSnapshotImportArgsDict: TypeAlias = Mapping[str, Any]
961
+
962
+ @pulumi.input_type
963
+ class BlockSnapshotImportArgs:
964
+ def __init__(__self__, *,
965
+ bucket: pulumi.Input[str],
966
+ key: pulumi.Input[str]):
967
+ """
968
+ :param pulumi.Input[str] bucket: Bucket containing qcow
969
+ :param pulumi.Input[str] key: Key of the qcow file in the specified bucket
970
+ """
971
+ pulumi.set(__self__, "bucket", bucket)
972
+ pulumi.set(__self__, "key", key)
973
+
974
+ @property
975
+ @pulumi.getter
976
+ def bucket(self) -> pulumi.Input[str]:
977
+ """
978
+ Bucket containing qcow
979
+ """
980
+ return pulumi.get(self, "bucket")
981
+
982
+ @bucket.setter
983
+ def bucket(self, value: pulumi.Input[str]):
984
+ pulumi.set(self, "bucket", value)
985
+
986
+ @property
987
+ @pulumi.getter
988
+ def key(self) -> pulumi.Input[str]:
989
+ """
990
+ Key of the qcow file in the specified bucket
991
+ """
992
+ return pulumi.get(self, "key")
993
+
994
+ @key.setter
995
+ def key(self, value: pulumi.Input[str]):
996
+ pulumi.set(self, "key", value)
997
+
998
+
945
999
  if not MYPY:
946
1000
  class CockpitAlertManagerContactPointArgsDict(TypedDict):
947
1001
  email: NotRequired[pulumi.Input[str]]
@@ -8077,6 +8131,58 @@ class MnqSqsCredentialsPermissionsArgs:
8077
8131
  pulumi.set(self, "can_receive", value)
8078
8132
 
8079
8133
 
8134
+ if not MYPY:
8135
+ class MongoDbInstancePrivateIpArgsDict(TypedDict):
8136
+ address: NotRequired[pulumi.Input[str]]
8137
+ """
8138
+ The private IPv4 address.
8139
+ """
8140
+ id: NotRequired[pulumi.Input[str]]
8141
+ """
8142
+ The ID of the endpoint.
8143
+ """
8144
+ elif False:
8145
+ MongoDbInstancePrivateIpArgsDict: TypeAlias = Mapping[str, Any]
8146
+
8147
+ @pulumi.input_type
8148
+ class MongoDbInstancePrivateIpArgs:
8149
+ def __init__(__self__, *,
8150
+ address: Optional[pulumi.Input[str]] = None,
8151
+ id: Optional[pulumi.Input[str]] = None):
8152
+ """
8153
+ :param pulumi.Input[str] address: The private IPv4 address.
8154
+ :param pulumi.Input[str] id: The ID of the endpoint.
8155
+ """
8156
+ if address is not None:
8157
+ pulumi.set(__self__, "address", address)
8158
+ if id is not None:
8159
+ pulumi.set(__self__, "id", id)
8160
+
8161
+ @property
8162
+ @pulumi.getter
8163
+ def address(self) -> Optional[pulumi.Input[str]]:
8164
+ """
8165
+ The private IPv4 address.
8166
+ """
8167
+ return pulumi.get(self, "address")
8168
+
8169
+ @address.setter
8170
+ def address(self, value: Optional[pulumi.Input[str]]):
8171
+ pulumi.set(self, "address", value)
8172
+
8173
+ @property
8174
+ @pulumi.getter
8175
+ def id(self) -> Optional[pulumi.Input[str]]:
8176
+ """
8177
+ The ID of the endpoint.
8178
+ """
8179
+ return pulumi.get(self, "id")
8180
+
8181
+ @id.setter
8182
+ def id(self, value: Optional[pulumi.Input[str]]):
8183
+ pulumi.set(self, "id", value)
8184
+
8185
+
8080
8186
  if not MYPY:
8081
8187
  class MongoDbInstancePrivateNetworkArgsDict(TypedDict):
8082
8188
  pn_id: pulumi.Input[str]
@@ -7,6 +7,8 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .get_availability_zones import *
9
9
  from .get_project import *
10
+ from .get_projects import *
10
11
  from .get_ssh_key import *
11
12
  from .project import *
12
13
  from .ssh_key import *
14
+ from . import outputs
@@ -0,0 +1,235 @@
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
+
18
+ __all__ = [
19
+ 'GetProjectsResult',
20
+ 'AwaitableGetProjectsResult',
21
+ 'get_projects',
22
+ 'get_projects_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetProjectsResult:
27
+ """
28
+ A collection of values returned by getProjects.
29
+ """
30
+ def __init__(__self__, created_at=None, description=None, id=None, name=None, organization_id=None, projects=None, updated_at=None):
31
+ if created_at and not isinstance(created_at, str):
32
+ raise TypeError("Expected argument 'created_at' to be a str")
33
+ pulumi.set(__self__, "created_at", created_at)
34
+ if description and not isinstance(description, str):
35
+ raise TypeError("Expected argument 'description' to be a str")
36
+ pulumi.set(__self__, "description", description)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if name and not isinstance(name, str):
41
+ raise TypeError("Expected argument 'name' to be a str")
42
+ pulumi.set(__self__, "name", name)
43
+ if organization_id and not isinstance(organization_id, str):
44
+ raise TypeError("Expected argument 'organization_id' to be a str")
45
+ pulumi.set(__self__, "organization_id", organization_id)
46
+ if projects and not isinstance(projects, list):
47
+ raise TypeError("Expected argument 'projects' to be a list")
48
+ pulumi.set(__self__, "projects", projects)
49
+ if updated_at and not isinstance(updated_at, str):
50
+ raise TypeError("Expected argument 'updated_at' to be a str")
51
+ pulumi.set(__self__, "updated_at", updated_at)
52
+
53
+ @property
54
+ @pulumi.getter(name="createdAt")
55
+ def created_at(self) -> str:
56
+ """
57
+ (Computed) The date and time when the project was created.
58
+ """
59
+ return pulumi.get(self, "created_at")
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def description(self) -> str:
64
+ """
65
+ (Computed) The description of the project.
66
+ """
67
+ return pulumi.get(self, "description")
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def id(self) -> str:
72
+ """
73
+ The provider-assigned unique ID for this managed resource.
74
+ """
75
+ return pulumi.get(self, "id")
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def name(self) -> str:
80
+ """
81
+ (Computed) The name of the project.
82
+ """
83
+ return pulumi.get(self, "name")
84
+
85
+ @property
86
+ @pulumi.getter(name="organizationId")
87
+ def organization_id(self) -> str:
88
+ """
89
+ (Computed) The unique identifier of the organization with which the project is associated.
90
+ """
91
+ return pulumi.get(self, "organization_id")
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def projects(self) -> Sequence['outputs.GetProjectsProjectResult']:
96
+ """
97
+ (Computed) A list of projects. Each project has the following attributes:
98
+ """
99
+ return pulumi.get(self, "projects")
100
+
101
+ @property
102
+ @pulumi.getter(name="updatedAt")
103
+ def updated_at(self) -> str:
104
+ """
105
+ (Computed) The date and time when the project was updated.
106
+ """
107
+ return pulumi.get(self, "updated_at")
108
+
109
+
110
+ class AwaitableGetProjectsResult(GetProjectsResult):
111
+ # pylint: disable=using-constant-test
112
+ def __await__(self):
113
+ if False:
114
+ yield self
115
+ return GetProjectsResult(
116
+ created_at=self.created_at,
117
+ description=self.description,
118
+ id=self.id,
119
+ name=self.name,
120
+ organization_id=self.organization_id,
121
+ projects=self.projects,
122
+ updated_at=self.updated_at)
123
+
124
+
125
+ def get_projects(organization_id: Optional[str] = None,
126
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectsResult:
127
+ """
128
+ The `account_get_projects` data source is used to list all Scaleway projects in an Organization.
129
+
130
+ Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information.
131
+
132
+ ## Retrieve a Scaleway Projects
133
+
134
+ The following commands allow you to:
135
+
136
+ - retrieve all Projects in an Organization
137
+
138
+ ```python
139
+ import pulumi
140
+ import pulumi_scaleway as scaleway
141
+
142
+ # Get all Projects in an Organization
143
+ all = scaleway.account.get_projects(organization_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
144
+ ```
145
+
146
+ ## Example Usage
147
+
148
+ ### Deploy an SSH key in all your organization's projects
149
+
150
+ ```python
151
+ import pulumi
152
+ import pulumi_scaleway as scaleway
153
+ import pulumiverse_scaleway as scaleway
154
+
155
+ all = scaleway.account.get_projects()
156
+ main = []
157
+ for range in [{"value": i} for i in range(0, len(all.projects))]:
158
+ main.append(scaleway.account.SshKey(f"main-{range['value']}",
159
+ name="main",
160
+ public_key=public_key,
161
+ project_id=all.projects[range["value"]].id))
162
+ ```
163
+
164
+
165
+ :param str organization_id: The unique identifier of the Organization with which the Projects are associated.
166
+ If no default `organization_id` is set, one must be set explicitly in this datasource
167
+ """
168
+ __args__ = dict()
169
+ __args__['organizationId'] = organization_id
170
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
171
+ __ret__ = pulumi.runtime.invoke('scaleway:account/getProjects:getProjects', __args__, opts=opts, typ=GetProjectsResult).value
172
+
173
+ return AwaitableGetProjectsResult(
174
+ created_at=pulumi.get(__ret__, 'created_at'),
175
+ description=pulumi.get(__ret__, 'description'),
176
+ id=pulumi.get(__ret__, 'id'),
177
+ name=pulumi.get(__ret__, 'name'),
178
+ organization_id=pulumi.get(__ret__, 'organization_id'),
179
+ projects=pulumi.get(__ret__, 'projects'),
180
+ updated_at=pulumi.get(__ret__, 'updated_at'))
181
+ def get_projects_output(organization_id: Optional[pulumi.Input[Optional[str]]] = None,
182
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectsResult]:
183
+ """
184
+ The `account_get_projects` data source is used to list all Scaleway projects in an Organization.
185
+
186
+ Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information.
187
+
188
+ ## Retrieve a Scaleway Projects
189
+
190
+ The following commands allow you to:
191
+
192
+ - retrieve all Projects in an Organization
193
+
194
+ ```python
195
+ import pulumi
196
+ import pulumi_scaleway as scaleway
197
+
198
+ # Get all Projects in an Organization
199
+ all = scaleway.account.get_projects(organization_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
200
+ ```
201
+
202
+ ## Example Usage
203
+
204
+ ### Deploy an SSH key in all your organization's projects
205
+
206
+ ```python
207
+ import pulumi
208
+ import pulumi_scaleway as scaleway
209
+ import pulumiverse_scaleway as scaleway
210
+
211
+ all = scaleway.account.get_projects()
212
+ main = []
213
+ for range in [{"value": i} for i in range(0, len(all.projects))]:
214
+ main.append(scaleway.account.SshKey(f"main-{range['value']}",
215
+ name="main",
216
+ public_key=public_key,
217
+ project_id=all.projects[range["value"]].id))
218
+ ```
219
+
220
+
221
+ :param str organization_id: The unique identifier of the Organization with which the Projects are associated.
222
+ If no default `organization_id` is set, one must be set explicitly in this datasource
223
+ """
224
+ __args__ = dict()
225
+ __args__['organizationId'] = organization_id
226
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
227
+ __ret__ = pulumi.runtime.invoke_output('scaleway:account/getProjects:getProjects', __args__, opts=opts, typ=GetProjectsResult)
228
+ return __ret__.apply(lambda __response__: GetProjectsResult(
229
+ created_at=pulumi.get(__response__, 'created_at'),
230
+ description=pulumi.get(__response__, 'description'),
231
+ id=pulumi.get(__response__, 'id'),
232
+ name=pulumi.get(__response__, 'name'),
233
+ organization_id=pulumi.get(__response__, 'organization_id'),
234
+ projects=pulumi.get(__response__, 'projects'),
235
+ updated_at=pulumi.get(__response__, 'updated_at')))
@@ -0,0 +1,95 @@
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
+ 'GetProjectsProjectResult',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class GetProjectsProjectResult(dict):
23
+ def __init__(__self__, *,
24
+ created_at: str,
25
+ description: str,
26
+ id: str,
27
+ name: str,
28
+ organization_id: str,
29
+ updated_at: str):
30
+ """
31
+ :param str created_at: (Computed) The date and time when the project was created.
32
+ :param str description: (Computed) The description of the project.
33
+ :param str id: (Computed) The unique identifier of the project.
34
+ :param str name: (Computed) The name of the project.
35
+ :param str organization_id: The unique identifier of the Organization with which the Projects are associated.
36
+ If no default `organization_id` is set, one must be set explicitly in this datasource
37
+ :param str updated_at: (Computed) The date and time when the project was updated.
38
+ """
39
+ pulumi.set(__self__, "created_at", created_at)
40
+ pulumi.set(__self__, "description", description)
41
+ pulumi.set(__self__, "id", id)
42
+ pulumi.set(__self__, "name", name)
43
+ pulumi.set(__self__, "organization_id", organization_id)
44
+ pulumi.set(__self__, "updated_at", updated_at)
45
+
46
+ @property
47
+ @pulumi.getter(name="createdAt")
48
+ def created_at(self) -> str:
49
+ """
50
+ (Computed) The date and time when the project was created.
51
+ """
52
+ return pulumi.get(self, "created_at")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def description(self) -> str:
57
+ """
58
+ (Computed) The description of the project.
59
+ """
60
+ return pulumi.get(self, "description")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def id(self) -> str:
65
+ """
66
+ (Computed) The unique identifier of the project.
67
+ """
68
+ return pulumi.get(self, "id")
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def name(self) -> str:
73
+ """
74
+ (Computed) The name of the project.
75
+ """
76
+ return pulumi.get(self, "name")
77
+
78
+ @property
79
+ @pulumi.getter(name="organizationId")
80
+ def organization_id(self) -> str:
81
+ """
82
+ The unique identifier of the Organization with which the Projects are associated.
83
+ If no default `organization_id` is set, one must be set explicitly in this datasource
84
+ """
85
+ return pulumi.get(self, "organization_id")
86
+
87
+ @property
88
+ @pulumi.getter(name="updatedAt")
89
+ def updated_at(self) -> str:
90
+ """
91
+ (Computed) The date and time when the project was updated.
92
+ """
93
+ return pulumi.get(self, "updated_at")
94
+
95
+
@@ -30,6 +30,7 @@ class BaremetalServerArgs:
30
30
  os: Optional[pulumi.Input[str]] = None,
31
31
  partitioning: Optional[pulumi.Input[str]] = None,
32
32
  password: Optional[pulumi.Input[str]] = None,
33
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]] = None,
33
34
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
34
35
  project_id: Optional[pulumi.Input[str]] = None,
35
36
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -56,6 +57,7 @@ class BaremetalServerArgs:
56
57
  > **Important:** Updates to `os` will reinstall the server.
57
58
  :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
58
59
  :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
60
+ :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
59
61
  :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
60
62
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
61
63
  :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
@@ -84,6 +86,8 @@ class BaremetalServerArgs:
84
86
  pulumi.set(__self__, "partitioning", partitioning)
85
87
  if password is not None:
86
88
  pulumi.set(__self__, "password", password)
89
+ if private_ips is not None:
90
+ pulumi.set(__self__, "private_ips", private_ips)
87
91
  if private_networks is not None:
88
92
  pulumi.set(__self__, "private_networks", private_networks)
89
93
  if project_id is not None:
@@ -217,6 +221,18 @@ class BaremetalServerArgs:
217
221
  def password(self, value: Optional[pulumi.Input[str]]):
218
222
  pulumi.set(self, "password", value)
219
223
 
224
+ @property
225
+ @pulumi.getter(name="privateIps")
226
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]:
227
+ """
228
+ The list of private IPv4 and IPv6 addresses associated with the resource.
229
+ """
230
+ return pulumi.get(self, "private_ips")
231
+
232
+ @private_ips.setter
233
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]):
234
+ pulumi.set(self, "private_ips", value)
235
+
220
236
  @property
221
237
  @pulumi.getter(name="privateNetworks")
222
238
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]:
@@ -800,6 +816,7 @@ class BaremetalServer(pulumi.CustomResource):
800
816
  os: Optional[pulumi.Input[str]] = None,
801
817
  partitioning: Optional[pulumi.Input[str]] = None,
802
818
  password: Optional[pulumi.Input[str]] = None,
819
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
803
820
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
804
821
  project_id: Optional[pulumi.Input[str]] = None,
805
822
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -933,6 +950,7 @@ class BaremetalServer(pulumi.CustomResource):
933
950
  > **Important:** Updates to `os` will reinstall the server.
934
951
  :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
935
952
  :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
953
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
936
954
  :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/)
937
955
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
938
956
  :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
@@ -1080,6 +1098,7 @@ class BaremetalServer(pulumi.CustomResource):
1080
1098
  os: Optional[pulumi.Input[str]] = None,
1081
1099
  partitioning: Optional[pulumi.Input[str]] = None,
1082
1100
  password: Optional[pulumi.Input[str]] = None,
1101
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
1083
1102
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1084
1103
  project_id: Optional[pulumi.Input[str]] = None,
1085
1104
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -1110,6 +1129,7 @@ class BaremetalServer(pulumi.CustomResource):
1110
1129
  __props__.__dict__["os"] = os
1111
1130
  __props__.__dict__["partitioning"] = partitioning
1112
1131
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
1132
+ __props__.__dict__["private_ips"] = private_ips
1113
1133
  __props__.__dict__["private_networks"] = private_networks
1114
1134
  __props__.__dict__["project_id"] = project_id
1115
1135
  __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
@@ -1127,7 +1147,6 @@ class BaremetalServer(pulumi.CustomResource):
1127
1147
  __props__.__dict__["offer_name"] = None
1128
1148
  __props__.__dict__["organization_id"] = None
1129
1149
  __props__.__dict__["os_name"] = None
1130
- __props__.__dict__["private_ips"] = None
1131
1150
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password", "servicePassword"])
1132
1151
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1133
1152
  super(BaremetalServer, __self__).__init__(
@@ -9,3 +9,5 @@ from .get_snapshot import *
9
9
  from .get_volume import *
10
10
  from .snapshot import *
11
11
  from .volume import *
12
+ from ._inputs import *
13
+ from . import outputs
@@ -0,0 +1,73 @@
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
+ 'SnapshotImportArgs',
19
+ 'SnapshotImportArgsDict',
20
+ ]
21
+
22
+ MYPY = False
23
+
24
+ if not MYPY:
25
+ class SnapshotImportArgsDict(TypedDict):
26
+ bucket: pulumi.Input[str]
27
+ """
28
+ Bucket containing qcow
29
+ """
30
+ key: pulumi.Input[str]
31
+ """
32
+ Key of the qcow file in the specified bucket
33
+ """
34
+ elif False:
35
+ SnapshotImportArgsDict: TypeAlias = Mapping[str, Any]
36
+
37
+ @pulumi.input_type
38
+ class SnapshotImportArgs:
39
+ def __init__(__self__, *,
40
+ bucket: pulumi.Input[str],
41
+ key: pulumi.Input[str]):
42
+ """
43
+ :param pulumi.Input[str] bucket: Bucket containing qcow
44
+ :param pulumi.Input[str] key: Key of the qcow file in the specified bucket
45
+ """
46
+ pulumi.set(__self__, "bucket", bucket)
47
+ pulumi.set(__self__, "key", key)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def bucket(self) -> pulumi.Input[str]:
52
+ """
53
+ Bucket containing qcow
54
+ """
55
+ return pulumi.get(self, "bucket")
56
+
57
+ @bucket.setter
58
+ def bucket(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "bucket", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def key(self) -> pulumi.Input[str]:
64
+ """
65
+ Key of the qcow file in the specified bucket
66
+ """
67
+ return pulumi.get(self, "key")
68
+
69
+ @key.setter
70
+ def key(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "key", value)
72
+
73
+