pulumiverse-scaleway 1.28.0a1747119212__py3-none-any.whl → 1.29.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.
Files changed (102) hide show
  1. pulumiverse_scaleway/__init__.py +16 -1
  2. pulumiverse_scaleway/_inputs.py +604 -6
  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 +67 -258
  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 +61 -21
  16. pulumiverse_scaleway/databases/_inputs.py +54 -0
  17. pulumiverse_scaleway/databases/get_instance.py +12 -1
  18. pulumiverse_scaleway/databases/instance.py +61 -21
  19. pulumiverse_scaleway/databases/outputs.py +62 -0
  20. pulumiverse_scaleway/databases/snapshot.py +2 -2
  21. pulumiverse_scaleway/domain/get_zone.py +7 -1
  22. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  23. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  24. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  25. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  26. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  27. pulumiverse_scaleway/elasticmetal/server.py +67 -258
  28. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  29. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  30. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  31. pulumiverse_scaleway/get_database_instance.py +12 -1
  32. pulumiverse_scaleway/get_domain_zone.py +7 -1
  33. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  34. pulumiverse_scaleway/get_instance_server.py +12 -1
  35. pulumiverse_scaleway/get_lb_route.py +12 -1
  36. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  37. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  38. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  39. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  40. pulumiverse_scaleway/iam/user.py +468 -14
  41. pulumiverse_scaleway/iam_user.py +468 -14
  42. pulumiverse_scaleway/inference/__init__.py +2 -0
  43. pulumiverse_scaleway/inference/_inputs.py +128 -0
  44. pulumiverse_scaleway/inference/deployment.py +70 -55
  45. pulumiverse_scaleway/inference/get_model.py +299 -0
  46. pulumiverse_scaleway/inference/model.py +683 -0
  47. pulumiverse_scaleway/inference/outputs.py +184 -0
  48. pulumiverse_scaleway/inference_deployment.py +70 -55
  49. pulumiverse_scaleway/instance/_inputs.py +108 -0
  50. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  51. pulumiverse_scaleway/instance/get_server.py +12 -1
  52. pulumiverse_scaleway/instance/outputs.py +124 -0
  53. pulumiverse_scaleway/instance/private_nic.py +49 -0
  54. pulumiverse_scaleway/instance/server.py +47 -0
  55. pulumiverse_scaleway/instance/snapshot.py +28 -7
  56. pulumiverse_scaleway/instance/volume.py +28 -7
  57. pulumiverse_scaleway/instance_private_nic.py +49 -0
  58. pulumiverse_scaleway/instance_server.py +47 -0
  59. pulumiverse_scaleway/instance_snapshot.py +28 -7
  60. pulumiverse_scaleway/instance_volume.py +28 -7
  61. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  62. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  63. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  64. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  65. pulumiverse_scaleway/loadbalancer.py +28 -0
  66. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  67. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  68. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  69. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  70. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  71. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  72. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  73. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  74. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  75. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  76. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  77. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  78. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  79. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  80. pulumiverse_scaleway/mongodb/instance.py +107 -7
  81. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  82. pulumiverse_scaleway/network/_inputs.py +54 -0
  83. pulumiverse_scaleway/network/gateway_network.py +47 -0
  84. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  85. pulumiverse_scaleway/network/outputs.py +62 -0
  86. pulumiverse_scaleway/network/route.py +90 -2
  87. pulumiverse_scaleway/observability/__init__.py +0 -1
  88. pulumiverse_scaleway/observability/get_plan.py +2 -38
  89. pulumiverse_scaleway/outputs.py +718 -27
  90. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  91. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  92. pulumiverse_scaleway/redis/_inputs.py +60 -6
  93. pulumiverse_scaleway/redis/cluster.py +47 -0
  94. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  95. pulumiverse_scaleway/redis/outputs.py +66 -4
  96. pulumiverse_scaleway/redis_cluster.py +47 -0
  97. pulumiverse_scaleway/vpc_gateway_network.py +47 -0
  98. pulumiverse_scaleway/vpc_route.py +90 -2
  99. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  100. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
  101. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  102. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -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
+