pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.27.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.
- pulumiverse_scaleway/__init__.py +105 -0
- pulumiverse_scaleway/_inputs.py +776 -0
- pulumiverse_scaleway/apple_silicon_server.py +105 -0
- pulumiverse_scaleway/applesilicon/server.py +105 -0
- pulumiverse_scaleway/baremetal_server.py +82 -0
- pulumiverse_scaleway/cockpit.py +7 -0
- pulumiverse_scaleway/domain/__init__.py +1 -0
- pulumiverse_scaleway/domain/_inputs.py +2697 -0
- pulumiverse_scaleway/domain/outputs.py +2145 -0
- pulumiverse_scaleway/domain/registration.py +777 -0
- pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
- pulumiverse_scaleway/edge_services_cache_stage.py +584 -0
- pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
- pulumiverse_scaleway/edge_services_head_stage.py +258 -0
- pulumiverse_scaleway/edge_services_pipeline.py +478 -0
- pulumiverse_scaleway/edge_services_plan.py +239 -0
- pulumiverse_scaleway/edge_services_route_stage.py +422 -0
- pulumiverse_scaleway/edge_services_tls_stage.py +640 -0
- pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
- pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
- pulumiverse_scaleway/elasticmetal/ip.py +13 -7
- pulumiverse_scaleway/elasticmetal/server.py +82 -0
- pulumiverse_scaleway/flexible_ip.py +13 -7
- pulumiverse_scaleway/get_cockpit_plan.py +1 -0
- pulumiverse_scaleway/get_instance_server.py +12 -1
- pulumiverse_scaleway/get_lb_frontend.py +12 -1
- pulumiverse_scaleway/get_lb_route.py +12 -1
- pulumiverse_scaleway/get_secret.py +15 -4
- pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/hosting/hosting.py +2 -2
- pulumiverse_scaleway/instance/get_server.py +12 -1
- pulumiverse_scaleway/instance/outputs.py +0 -11
- pulumiverse_scaleway/instance/server.py +54 -7
- pulumiverse_scaleway/instance_server.py +54 -7
- pulumiverse_scaleway/job/_inputs.py +113 -0
- pulumiverse_scaleway/job/definition.py +107 -0
- pulumiverse_scaleway/job/outputs.py +88 -0
- pulumiverse_scaleway/job_definition.py +107 -0
- pulumiverse_scaleway/loadbalancer_backend.py +2 -2
- pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
- pulumiverse_scaleway/loadbalancer_route.py +48 -1
- pulumiverse_scaleway/loadbalancers/backend.py +2 -2
- pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
- pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
- pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
- pulumiverse_scaleway/loadbalancers/route.py +48 -1
- pulumiverse_scaleway/network/__init__.py +1 -0
- pulumiverse_scaleway/network/_inputs.py +194 -0
- pulumiverse_scaleway/network/acl.py +415 -0
- pulumiverse_scaleway/network/gateway_network.py +104 -122
- pulumiverse_scaleway/network/get_public_gateway.py +34 -1
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/network/outputs.py +139 -0
- pulumiverse_scaleway/network/public_gateway.py +124 -21
- pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/observability/cockpit.py +7 -0
- pulumiverse_scaleway/observability/get_plan.py +1 -0
- pulumiverse_scaleway/outputs.py +750 -13
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/secret.py +22 -2
- pulumiverse_scaleway/secret_version.py +6 -6
- pulumiverse_scaleway/secrets/_inputs.py +154 -0
- pulumiverse_scaleway/secrets/get_secret.py +15 -4
- pulumiverse_scaleway/secrets/outputs.py +200 -0
- pulumiverse_scaleway/secrets/secret.py +22 -2
- pulumiverse_scaleway/tem/__init__.py +2 -0
- pulumiverse_scaleway/tem/blocked_list.py +442 -0
- pulumiverse_scaleway/tem/domain.py +7 -0
- pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
- pulumiverse_scaleway/tem_domain.py +7 -0
- pulumiverse_scaleway/vpc_gateway_network.py +104 -122
- pulumiverse_scaleway/vpc_public_gateway.py +124 -21
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
- pulumiverse_scaleway/webhosting.py +2 -2
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/RECORD +85 -71
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,8 @@ from .. import _utilities
|
|
17
17
|
__all__ = [
|
18
18
|
'DefinitionCronArgs',
|
19
19
|
'DefinitionCronArgsDict',
|
20
|
+
'DefinitionSecretReferenceArgs',
|
21
|
+
'DefinitionSecretReferenceArgsDict',
|
20
22
|
]
|
21
23
|
|
22
24
|
MYPY = False
|
@@ -71,3 +73,114 @@ class DefinitionCronArgs:
|
|
71
73
|
pulumi.set(self, "timezone", value)
|
72
74
|
|
73
75
|
|
76
|
+
if not MYPY:
|
77
|
+
class DefinitionSecretReferenceArgsDict(TypedDict):
|
78
|
+
secret_id: pulumi.Input[str]
|
79
|
+
"""
|
80
|
+
The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
|
81
|
+
"""
|
82
|
+
environment: NotRequired[pulumi.Input[str]]
|
83
|
+
"""
|
84
|
+
An environment variable containing the secret value. Must be specified if `file` is not specified.
|
85
|
+
"""
|
86
|
+
file: NotRequired[pulumi.Input[str]]
|
87
|
+
"""
|
88
|
+
The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
|
89
|
+
"""
|
90
|
+
secret_reference_id: NotRequired[pulumi.Input[str]]
|
91
|
+
"""
|
92
|
+
The secret reference UUID that is automatically generated by the provider.
|
93
|
+
"""
|
94
|
+
secret_version: NotRequired[pulumi.Input[str]]
|
95
|
+
"""
|
96
|
+
The secret version.
|
97
|
+
"""
|
98
|
+
elif False:
|
99
|
+
DefinitionSecretReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
100
|
+
|
101
|
+
@pulumi.input_type
|
102
|
+
class DefinitionSecretReferenceArgs:
|
103
|
+
def __init__(__self__, *,
|
104
|
+
secret_id: pulumi.Input[str],
|
105
|
+
environment: Optional[pulumi.Input[str]] = None,
|
106
|
+
file: Optional[pulumi.Input[str]] = None,
|
107
|
+
secret_reference_id: Optional[pulumi.Input[str]] = None,
|
108
|
+
secret_version: Optional[pulumi.Input[str]] = None):
|
109
|
+
"""
|
110
|
+
:param pulumi.Input[str] secret_id: The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
|
111
|
+
:param pulumi.Input[str] environment: An environment variable containing the secret value. Must be specified if `file` is not specified.
|
112
|
+
:param pulumi.Input[str] file: The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
|
113
|
+
:param pulumi.Input[str] secret_reference_id: The secret reference UUID that is automatically generated by the provider.
|
114
|
+
:param pulumi.Input[str] secret_version: The secret version.
|
115
|
+
"""
|
116
|
+
pulumi.set(__self__, "secret_id", secret_id)
|
117
|
+
if environment is not None:
|
118
|
+
pulumi.set(__self__, "environment", environment)
|
119
|
+
if file is not None:
|
120
|
+
pulumi.set(__self__, "file", file)
|
121
|
+
if secret_reference_id is not None:
|
122
|
+
pulumi.set(__self__, "secret_reference_id", secret_reference_id)
|
123
|
+
if secret_version is not None:
|
124
|
+
pulumi.set(__self__, "secret_version", secret_version)
|
125
|
+
|
126
|
+
@property
|
127
|
+
@pulumi.getter(name="secretId")
|
128
|
+
def secret_id(self) -> pulumi.Input[str]:
|
129
|
+
"""
|
130
|
+
The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
|
131
|
+
"""
|
132
|
+
return pulumi.get(self, "secret_id")
|
133
|
+
|
134
|
+
@secret_id.setter
|
135
|
+
def secret_id(self, value: pulumi.Input[str]):
|
136
|
+
pulumi.set(self, "secret_id", value)
|
137
|
+
|
138
|
+
@property
|
139
|
+
@pulumi.getter
|
140
|
+
def environment(self) -> Optional[pulumi.Input[str]]:
|
141
|
+
"""
|
142
|
+
An environment variable containing the secret value. Must be specified if `file` is not specified.
|
143
|
+
"""
|
144
|
+
return pulumi.get(self, "environment")
|
145
|
+
|
146
|
+
@environment.setter
|
147
|
+
def environment(self, value: Optional[pulumi.Input[str]]):
|
148
|
+
pulumi.set(self, "environment", value)
|
149
|
+
|
150
|
+
@property
|
151
|
+
@pulumi.getter
|
152
|
+
def file(self) -> Optional[pulumi.Input[str]]:
|
153
|
+
"""
|
154
|
+
The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
|
155
|
+
"""
|
156
|
+
return pulumi.get(self, "file")
|
157
|
+
|
158
|
+
@file.setter
|
159
|
+
def file(self, value: Optional[pulumi.Input[str]]):
|
160
|
+
pulumi.set(self, "file", value)
|
161
|
+
|
162
|
+
@property
|
163
|
+
@pulumi.getter(name="secretReferenceId")
|
164
|
+
def secret_reference_id(self) -> Optional[pulumi.Input[str]]:
|
165
|
+
"""
|
166
|
+
The secret reference UUID that is automatically generated by the provider.
|
167
|
+
"""
|
168
|
+
return pulumi.get(self, "secret_reference_id")
|
169
|
+
|
170
|
+
@secret_reference_id.setter
|
171
|
+
def secret_reference_id(self, value: Optional[pulumi.Input[str]]):
|
172
|
+
pulumi.set(self, "secret_reference_id", value)
|
173
|
+
|
174
|
+
@property
|
175
|
+
@pulumi.getter(name="secretVersion")
|
176
|
+
def secret_version(self) -> Optional[pulumi.Input[str]]:
|
177
|
+
"""
|
178
|
+
The secret version.
|
179
|
+
"""
|
180
|
+
return pulumi.get(self, "secret_version")
|
181
|
+
|
182
|
+
@secret_version.setter
|
183
|
+
def secret_version(self, value: Optional[pulumi.Input[str]]):
|
184
|
+
pulumi.set(self, "secret_version", value)
|
185
|
+
|
186
|
+
|
@@ -31,6 +31,7 @@ class DefinitionArgs:
|
|
31
31
|
name: Optional[pulumi.Input[str]] = None,
|
32
32
|
project_id: Optional[pulumi.Input[str]] = None,
|
33
33
|
region: Optional[pulumi.Input[str]] = None,
|
34
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]] = None,
|
34
35
|
timeout: Optional[pulumi.Input[str]] = None):
|
35
36
|
"""
|
36
37
|
The set of arguments for constructing a Definition resource.
|
@@ -44,6 +45,7 @@ class DefinitionArgs:
|
|
44
45
|
:param pulumi.Input[str] name: The name of the job.
|
45
46
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
46
47
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]] secret_references: A reference to a secret stored in Secret Manager.
|
47
49
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
48
50
|
"""
|
49
51
|
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
@@ -64,6 +66,8 @@ class DefinitionArgs:
|
|
64
66
|
pulumi.set(__self__, "project_id", project_id)
|
65
67
|
if region is not None:
|
66
68
|
pulumi.set(__self__, "region", region)
|
69
|
+
if secret_references is not None:
|
70
|
+
pulumi.set(__self__, "secret_references", secret_references)
|
67
71
|
if timeout is not None:
|
68
72
|
pulumi.set(__self__, "timeout", timeout)
|
69
73
|
|
@@ -187,6 +191,18 @@ class DefinitionArgs:
|
|
187
191
|
def region(self, value: Optional[pulumi.Input[str]]):
|
188
192
|
pulumi.set(self, "region", value)
|
189
193
|
|
194
|
+
@property
|
195
|
+
@pulumi.getter(name="secretReferences")
|
196
|
+
def secret_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]]:
|
197
|
+
"""
|
198
|
+
A reference to a secret stored in Secret Manager.
|
199
|
+
"""
|
200
|
+
return pulumi.get(self, "secret_references")
|
201
|
+
|
202
|
+
@secret_references.setter
|
203
|
+
def secret_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]]):
|
204
|
+
pulumi.set(self, "secret_references", value)
|
205
|
+
|
190
206
|
@property
|
191
207
|
@pulumi.getter
|
192
208
|
def timeout(self) -> Optional[pulumi.Input[str]]:
|
@@ -213,6 +229,7 @@ class _DefinitionState:
|
|
213
229
|
name: Optional[pulumi.Input[str]] = None,
|
214
230
|
project_id: Optional[pulumi.Input[str]] = None,
|
215
231
|
region: Optional[pulumi.Input[str]] = None,
|
232
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]] = None,
|
216
233
|
timeout: Optional[pulumi.Input[str]] = None):
|
217
234
|
"""
|
218
235
|
Input properties used for looking up and filtering Definition resources.
|
@@ -226,6 +243,7 @@ class _DefinitionState:
|
|
226
243
|
:param pulumi.Input[str] name: The name of the job.
|
227
244
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
228
245
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
246
|
+
:param pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]] secret_references: A reference to a secret stored in Secret Manager.
|
229
247
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
230
248
|
"""
|
231
249
|
if command is not None:
|
@@ -248,6 +266,8 @@ class _DefinitionState:
|
|
248
266
|
pulumi.set(__self__, "project_id", project_id)
|
249
267
|
if region is not None:
|
250
268
|
pulumi.set(__self__, "region", region)
|
269
|
+
if secret_references is not None:
|
270
|
+
pulumi.set(__self__, "secret_references", secret_references)
|
251
271
|
if timeout is not None:
|
252
272
|
pulumi.set(__self__, "timeout", timeout)
|
253
273
|
|
@@ -371,6 +391,18 @@ class _DefinitionState:
|
|
371
391
|
def region(self, value: Optional[pulumi.Input[str]]):
|
372
392
|
pulumi.set(self, "region", value)
|
373
393
|
|
394
|
+
@property
|
395
|
+
@pulumi.getter(name="secretReferences")
|
396
|
+
def secret_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]]:
|
397
|
+
"""
|
398
|
+
A reference to a secret stored in Secret Manager.
|
399
|
+
"""
|
400
|
+
return pulumi.get(self, "secret_references")
|
401
|
+
|
402
|
+
@secret_references.setter
|
403
|
+
def secret_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DefinitionSecretReferenceArgs']]]]):
|
404
|
+
pulumi.set(self, "secret_references", value)
|
405
|
+
|
374
406
|
@property
|
375
407
|
@pulumi.getter
|
376
408
|
def timeout(self) -> Optional[pulumi.Input[str]]:
|
@@ -399,6 +431,7 @@ class Definition(pulumi.CustomResource):
|
|
399
431
|
name: Optional[pulumi.Input[str]] = None,
|
400
432
|
project_id: Optional[pulumi.Input[str]] = None,
|
401
433
|
region: Optional[pulumi.Input[str]] = None,
|
434
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DefinitionSecretReferenceArgs', 'DefinitionSecretReferenceArgsDict']]]]] = None,
|
402
435
|
timeout: Optional[pulumi.Input[str]] = None,
|
403
436
|
__props__=None):
|
404
437
|
"""
|
@@ -428,6 +461,36 @@ class Definition(pulumi.CustomResource):
|
|
428
461
|
})
|
429
462
|
```
|
430
463
|
|
464
|
+
### With Secret Reference
|
465
|
+
|
466
|
+
```python
|
467
|
+
import pulumi
|
468
|
+
import pulumiverse_scaleway as scaleway
|
469
|
+
|
470
|
+
main = scaleway.job.Definition("main",
|
471
|
+
name="testjob",
|
472
|
+
cpu_limit=140,
|
473
|
+
memory_limit=256,
|
474
|
+
image_uri="docker.io/alpine:latest",
|
475
|
+
command="ls",
|
476
|
+
timeout="10m",
|
477
|
+
cron={
|
478
|
+
"schedule": "5 4 1 * *",
|
479
|
+
"timezone": "Europe/Paris",
|
480
|
+
},
|
481
|
+
secret_references=[
|
482
|
+
{
|
483
|
+
"secret_id": "11111111-1111-1111-1111-111111111111",
|
484
|
+
"file": "/home/dev/secret_file",
|
485
|
+
},
|
486
|
+
{
|
487
|
+
"secret_id": job_secret["id"],
|
488
|
+
"secret_version": "1",
|
489
|
+
"environment": "FOO",
|
490
|
+
},
|
491
|
+
])
|
492
|
+
```
|
493
|
+
|
431
494
|
## Import
|
432
495
|
|
433
496
|
Serverless Jobs can be imported using the `{region}/{id}`, e.g.
|
@@ -450,6 +513,7 @@ class Definition(pulumi.CustomResource):
|
|
450
513
|
:param pulumi.Input[str] name: The name of the job.
|
451
514
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
452
515
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
516
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['DefinitionSecretReferenceArgs', 'DefinitionSecretReferenceArgsDict']]]] secret_references: A reference to a secret stored in Secret Manager.
|
453
517
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
454
518
|
"""
|
455
519
|
...
|
@@ -485,6 +549,36 @@ class Definition(pulumi.CustomResource):
|
|
485
549
|
})
|
486
550
|
```
|
487
551
|
|
552
|
+
### With Secret Reference
|
553
|
+
|
554
|
+
```python
|
555
|
+
import pulumi
|
556
|
+
import pulumiverse_scaleway as scaleway
|
557
|
+
|
558
|
+
main = scaleway.job.Definition("main",
|
559
|
+
name="testjob",
|
560
|
+
cpu_limit=140,
|
561
|
+
memory_limit=256,
|
562
|
+
image_uri="docker.io/alpine:latest",
|
563
|
+
command="ls",
|
564
|
+
timeout="10m",
|
565
|
+
cron={
|
566
|
+
"schedule": "5 4 1 * *",
|
567
|
+
"timezone": "Europe/Paris",
|
568
|
+
},
|
569
|
+
secret_references=[
|
570
|
+
{
|
571
|
+
"secret_id": "11111111-1111-1111-1111-111111111111",
|
572
|
+
"file": "/home/dev/secret_file",
|
573
|
+
},
|
574
|
+
{
|
575
|
+
"secret_id": job_secret["id"],
|
576
|
+
"secret_version": "1",
|
577
|
+
"environment": "FOO",
|
578
|
+
},
|
579
|
+
])
|
580
|
+
```
|
581
|
+
|
488
582
|
## Import
|
489
583
|
|
490
584
|
Serverless Jobs can be imported using the `{region}/{id}`, e.g.
|
@@ -520,6 +614,7 @@ class Definition(pulumi.CustomResource):
|
|
520
614
|
name: Optional[pulumi.Input[str]] = None,
|
521
615
|
project_id: Optional[pulumi.Input[str]] = None,
|
522
616
|
region: Optional[pulumi.Input[str]] = None,
|
617
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DefinitionSecretReferenceArgs', 'DefinitionSecretReferenceArgsDict']]]]] = None,
|
523
618
|
timeout: Optional[pulumi.Input[str]] = None,
|
524
619
|
__props__=None):
|
525
620
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
@@ -544,6 +639,7 @@ class Definition(pulumi.CustomResource):
|
|
544
639
|
__props__.__dict__["name"] = name
|
545
640
|
__props__.__dict__["project_id"] = project_id
|
546
641
|
__props__.__dict__["region"] = region
|
642
|
+
__props__.__dict__["secret_references"] = secret_references
|
547
643
|
__props__.__dict__["timeout"] = timeout
|
548
644
|
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/jobDefinition:JobDefinition")])
|
549
645
|
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
@@ -567,6 +663,7 @@ class Definition(pulumi.CustomResource):
|
|
567
663
|
name: Optional[pulumi.Input[str]] = None,
|
568
664
|
project_id: Optional[pulumi.Input[str]] = None,
|
569
665
|
region: Optional[pulumi.Input[str]] = None,
|
666
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DefinitionSecretReferenceArgs', 'DefinitionSecretReferenceArgsDict']]]]] = None,
|
570
667
|
timeout: Optional[pulumi.Input[str]] = None) -> 'Definition':
|
571
668
|
"""
|
572
669
|
Get an existing Definition resource's state with the given name, id, and optional extra
|
@@ -585,6 +682,7 @@ class Definition(pulumi.CustomResource):
|
|
585
682
|
:param pulumi.Input[str] name: The name of the job.
|
586
683
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
587
684
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
685
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['DefinitionSecretReferenceArgs', 'DefinitionSecretReferenceArgsDict']]]] secret_references: A reference to a secret stored in Secret Manager.
|
588
686
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
589
687
|
"""
|
590
688
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -601,6 +699,7 @@ class Definition(pulumi.CustomResource):
|
|
601
699
|
__props__.__dict__["name"] = name
|
602
700
|
__props__.__dict__["project_id"] = project_id
|
603
701
|
__props__.__dict__["region"] = region
|
702
|
+
__props__.__dict__["secret_references"] = secret_references
|
604
703
|
__props__.__dict__["timeout"] = timeout
|
605
704
|
return Definition(resource_name, opts=opts, __props__=__props__)
|
606
705
|
|
@@ -684,6 +783,14 @@ class Definition(pulumi.CustomResource):
|
|
684
783
|
"""
|
685
784
|
return pulumi.get(self, "region")
|
686
785
|
|
786
|
+
@property
|
787
|
+
@pulumi.getter(name="secretReferences")
|
788
|
+
def secret_references(self) -> pulumi.Output[Optional[Sequence['outputs.DefinitionSecretReference']]]:
|
789
|
+
"""
|
790
|
+
A reference to a secret stored in Secret Manager.
|
791
|
+
"""
|
792
|
+
return pulumi.get(self, "secret_references")
|
793
|
+
|
687
794
|
@property
|
688
795
|
@pulumi.getter
|
689
796
|
def timeout(self) -> pulumi.Output[str]:
|
@@ -16,6 +16,7 @@ from .. import _utilities
|
|
16
16
|
|
17
17
|
__all__ = [
|
18
18
|
'DefinitionCron',
|
19
|
+
'DefinitionSecretReference',
|
19
20
|
]
|
20
21
|
|
21
22
|
@pulumi.output_type
|
@@ -47,3 +48,90 @@ class DefinitionCron(dict):
|
|
47
48
|
return pulumi.get(self, "timezone")
|
48
49
|
|
49
50
|
|
51
|
+
@pulumi.output_type
|
52
|
+
class DefinitionSecretReference(dict):
|
53
|
+
@staticmethod
|
54
|
+
def __key_warning(key: str):
|
55
|
+
suggest = None
|
56
|
+
if key == "secretId":
|
57
|
+
suggest = "secret_id"
|
58
|
+
elif key == "secretReferenceId":
|
59
|
+
suggest = "secret_reference_id"
|
60
|
+
elif key == "secretVersion":
|
61
|
+
suggest = "secret_version"
|
62
|
+
|
63
|
+
if suggest:
|
64
|
+
pulumi.log.warn(f"Key '{key}' not found in DefinitionSecretReference. Access the value via the '{suggest}' property getter instead.")
|
65
|
+
|
66
|
+
def __getitem__(self, key: str) -> Any:
|
67
|
+
DefinitionSecretReference.__key_warning(key)
|
68
|
+
return super().__getitem__(key)
|
69
|
+
|
70
|
+
def get(self, key: str, default = None) -> Any:
|
71
|
+
DefinitionSecretReference.__key_warning(key)
|
72
|
+
return super().get(key, default)
|
73
|
+
|
74
|
+
def __init__(__self__, *,
|
75
|
+
secret_id: str,
|
76
|
+
environment: Optional[str] = None,
|
77
|
+
file: Optional[str] = None,
|
78
|
+
secret_reference_id: Optional[str] = None,
|
79
|
+
secret_version: Optional[str] = None):
|
80
|
+
"""
|
81
|
+
:param str secret_id: The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
|
82
|
+
:param str environment: An environment variable containing the secret value. Must be specified if `file` is not specified.
|
83
|
+
:param str file: The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
|
84
|
+
:param str secret_reference_id: The secret reference UUID that is automatically generated by the provider.
|
85
|
+
:param str secret_version: The secret version.
|
86
|
+
"""
|
87
|
+
pulumi.set(__self__, "secret_id", secret_id)
|
88
|
+
if environment is not None:
|
89
|
+
pulumi.set(__self__, "environment", environment)
|
90
|
+
if file is not None:
|
91
|
+
pulumi.set(__self__, "file", file)
|
92
|
+
if secret_reference_id is not None:
|
93
|
+
pulumi.set(__self__, "secret_reference_id", secret_reference_id)
|
94
|
+
if secret_version is not None:
|
95
|
+
pulumi.set(__self__, "secret_version", secret_version)
|
96
|
+
|
97
|
+
@property
|
98
|
+
@pulumi.getter(name="secretId")
|
99
|
+
def secret_id(self) -> str:
|
100
|
+
"""
|
101
|
+
The secret unique identifier, it could be formatted as region/UUID or UUID. In case the region is passed, it must be the same as the job definition. You could reference the same secret multiple times in the same job definition.
|
102
|
+
"""
|
103
|
+
return pulumi.get(self, "secret_id")
|
104
|
+
|
105
|
+
@property
|
106
|
+
@pulumi.getter
|
107
|
+
def environment(self) -> Optional[str]:
|
108
|
+
"""
|
109
|
+
An environment variable containing the secret value. Must be specified if `file` is not specified.
|
110
|
+
"""
|
111
|
+
return pulumi.get(self, "environment")
|
112
|
+
|
113
|
+
@property
|
114
|
+
@pulumi.getter
|
115
|
+
def file(self) -> Optional[str]:
|
116
|
+
"""
|
117
|
+
The absolute file path where the secret will be mounted. Must be specified if `environment` is not specified.
|
118
|
+
"""
|
119
|
+
return pulumi.get(self, "file")
|
120
|
+
|
121
|
+
@property
|
122
|
+
@pulumi.getter(name="secretReferenceId")
|
123
|
+
def secret_reference_id(self) -> Optional[str]:
|
124
|
+
"""
|
125
|
+
The secret reference UUID that is automatically generated by the provider.
|
126
|
+
"""
|
127
|
+
return pulumi.get(self, "secret_reference_id")
|
128
|
+
|
129
|
+
@property
|
130
|
+
@pulumi.getter(name="secretVersion")
|
131
|
+
def secret_version(self) -> Optional[str]:
|
132
|
+
"""
|
133
|
+
The secret version.
|
134
|
+
"""
|
135
|
+
return pulumi.get(self, "secret_version")
|
136
|
+
|
137
|
+
|
@@ -31,6 +31,7 @@ class JobDefinitionArgs:
|
|
31
31
|
name: Optional[pulumi.Input[str]] = None,
|
32
32
|
project_id: Optional[pulumi.Input[str]] = None,
|
33
33
|
region: Optional[pulumi.Input[str]] = None,
|
34
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]] = None,
|
34
35
|
timeout: Optional[pulumi.Input[str]] = None):
|
35
36
|
"""
|
36
37
|
The set of arguments for constructing a JobDefinition resource.
|
@@ -44,6 +45,7 @@ class JobDefinitionArgs:
|
|
44
45
|
:param pulumi.Input[str] name: The name of the job.
|
45
46
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
46
47
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]] secret_references: A reference to a secret stored in Secret Manager.
|
47
49
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
48
50
|
"""
|
49
51
|
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
@@ -64,6 +66,8 @@ class JobDefinitionArgs:
|
|
64
66
|
pulumi.set(__self__, "project_id", project_id)
|
65
67
|
if region is not None:
|
66
68
|
pulumi.set(__self__, "region", region)
|
69
|
+
if secret_references is not None:
|
70
|
+
pulumi.set(__self__, "secret_references", secret_references)
|
67
71
|
if timeout is not None:
|
68
72
|
pulumi.set(__self__, "timeout", timeout)
|
69
73
|
|
@@ -187,6 +191,18 @@ class JobDefinitionArgs:
|
|
187
191
|
def region(self, value: Optional[pulumi.Input[str]]):
|
188
192
|
pulumi.set(self, "region", value)
|
189
193
|
|
194
|
+
@property
|
195
|
+
@pulumi.getter(name="secretReferences")
|
196
|
+
def secret_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]]:
|
197
|
+
"""
|
198
|
+
A reference to a secret stored in Secret Manager.
|
199
|
+
"""
|
200
|
+
return pulumi.get(self, "secret_references")
|
201
|
+
|
202
|
+
@secret_references.setter
|
203
|
+
def secret_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]]):
|
204
|
+
pulumi.set(self, "secret_references", value)
|
205
|
+
|
190
206
|
@property
|
191
207
|
@pulumi.getter
|
192
208
|
def timeout(self) -> Optional[pulumi.Input[str]]:
|
@@ -213,6 +229,7 @@ class _JobDefinitionState:
|
|
213
229
|
name: Optional[pulumi.Input[str]] = None,
|
214
230
|
project_id: Optional[pulumi.Input[str]] = None,
|
215
231
|
region: Optional[pulumi.Input[str]] = None,
|
232
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]] = None,
|
216
233
|
timeout: Optional[pulumi.Input[str]] = None):
|
217
234
|
"""
|
218
235
|
Input properties used for looking up and filtering JobDefinition resources.
|
@@ -226,6 +243,7 @@ class _JobDefinitionState:
|
|
226
243
|
:param pulumi.Input[str] name: The name of the job.
|
227
244
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
228
245
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
246
|
+
:param pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]] secret_references: A reference to a secret stored in Secret Manager.
|
229
247
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
230
248
|
"""
|
231
249
|
if command is not None:
|
@@ -248,6 +266,8 @@ class _JobDefinitionState:
|
|
248
266
|
pulumi.set(__self__, "project_id", project_id)
|
249
267
|
if region is not None:
|
250
268
|
pulumi.set(__self__, "region", region)
|
269
|
+
if secret_references is not None:
|
270
|
+
pulumi.set(__self__, "secret_references", secret_references)
|
251
271
|
if timeout is not None:
|
252
272
|
pulumi.set(__self__, "timeout", timeout)
|
253
273
|
|
@@ -371,6 +391,18 @@ class _JobDefinitionState:
|
|
371
391
|
def region(self, value: Optional[pulumi.Input[str]]):
|
372
392
|
pulumi.set(self, "region", value)
|
373
393
|
|
394
|
+
@property
|
395
|
+
@pulumi.getter(name="secretReferences")
|
396
|
+
def secret_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]]:
|
397
|
+
"""
|
398
|
+
A reference to a secret stored in Secret Manager.
|
399
|
+
"""
|
400
|
+
return pulumi.get(self, "secret_references")
|
401
|
+
|
402
|
+
@secret_references.setter
|
403
|
+
def secret_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionSecretReferenceArgs']]]]):
|
404
|
+
pulumi.set(self, "secret_references", value)
|
405
|
+
|
374
406
|
@property
|
375
407
|
@pulumi.getter
|
376
408
|
def timeout(self) -> Optional[pulumi.Input[str]]:
|
@@ -404,6 +436,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
404
436
|
name: Optional[pulumi.Input[str]] = None,
|
405
437
|
project_id: Optional[pulumi.Input[str]] = None,
|
406
438
|
region: Optional[pulumi.Input[str]] = None,
|
439
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobDefinitionSecretReferenceArgs', 'JobDefinitionSecretReferenceArgsDict']]]]] = None,
|
407
440
|
timeout: Optional[pulumi.Input[str]] = None,
|
408
441
|
__props__=None):
|
409
442
|
"""
|
@@ -433,6 +466,36 @@ class JobDefinition(pulumi.CustomResource):
|
|
433
466
|
})
|
434
467
|
```
|
435
468
|
|
469
|
+
### With Secret Reference
|
470
|
+
|
471
|
+
```python
|
472
|
+
import pulumi
|
473
|
+
import pulumiverse_scaleway as scaleway
|
474
|
+
|
475
|
+
main = scaleway.job.Definition("main",
|
476
|
+
name="testjob",
|
477
|
+
cpu_limit=140,
|
478
|
+
memory_limit=256,
|
479
|
+
image_uri="docker.io/alpine:latest",
|
480
|
+
command="ls",
|
481
|
+
timeout="10m",
|
482
|
+
cron={
|
483
|
+
"schedule": "5 4 1 * *",
|
484
|
+
"timezone": "Europe/Paris",
|
485
|
+
},
|
486
|
+
secret_references=[
|
487
|
+
{
|
488
|
+
"secret_id": "11111111-1111-1111-1111-111111111111",
|
489
|
+
"file": "/home/dev/secret_file",
|
490
|
+
},
|
491
|
+
{
|
492
|
+
"secret_id": job_secret["id"],
|
493
|
+
"secret_version": "1",
|
494
|
+
"environment": "FOO",
|
495
|
+
},
|
496
|
+
])
|
497
|
+
```
|
498
|
+
|
436
499
|
## Import
|
437
500
|
|
438
501
|
Serverless Jobs can be imported using the `{region}/{id}`, e.g.
|
@@ -455,6 +518,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
455
518
|
:param pulumi.Input[str] name: The name of the job.
|
456
519
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
457
520
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
521
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['JobDefinitionSecretReferenceArgs', 'JobDefinitionSecretReferenceArgsDict']]]] secret_references: A reference to a secret stored in Secret Manager.
|
458
522
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
459
523
|
"""
|
460
524
|
...
|
@@ -490,6 +554,36 @@ class JobDefinition(pulumi.CustomResource):
|
|
490
554
|
})
|
491
555
|
```
|
492
556
|
|
557
|
+
### With Secret Reference
|
558
|
+
|
559
|
+
```python
|
560
|
+
import pulumi
|
561
|
+
import pulumiverse_scaleway as scaleway
|
562
|
+
|
563
|
+
main = scaleway.job.Definition("main",
|
564
|
+
name="testjob",
|
565
|
+
cpu_limit=140,
|
566
|
+
memory_limit=256,
|
567
|
+
image_uri="docker.io/alpine:latest",
|
568
|
+
command="ls",
|
569
|
+
timeout="10m",
|
570
|
+
cron={
|
571
|
+
"schedule": "5 4 1 * *",
|
572
|
+
"timezone": "Europe/Paris",
|
573
|
+
},
|
574
|
+
secret_references=[
|
575
|
+
{
|
576
|
+
"secret_id": "11111111-1111-1111-1111-111111111111",
|
577
|
+
"file": "/home/dev/secret_file",
|
578
|
+
},
|
579
|
+
{
|
580
|
+
"secret_id": job_secret["id"],
|
581
|
+
"secret_version": "1",
|
582
|
+
"environment": "FOO",
|
583
|
+
},
|
584
|
+
])
|
585
|
+
```
|
586
|
+
|
493
587
|
## Import
|
494
588
|
|
495
589
|
Serverless Jobs can be imported using the `{region}/{id}`, e.g.
|
@@ -525,6 +619,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
525
619
|
name: Optional[pulumi.Input[str]] = None,
|
526
620
|
project_id: Optional[pulumi.Input[str]] = None,
|
527
621
|
region: Optional[pulumi.Input[str]] = None,
|
622
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobDefinitionSecretReferenceArgs', 'JobDefinitionSecretReferenceArgsDict']]]]] = None,
|
528
623
|
timeout: Optional[pulumi.Input[str]] = None,
|
529
624
|
__props__=None):
|
530
625
|
pulumi.log.warn("""JobDefinition is deprecated: scaleway.index/jobdefinition.JobDefinition has been deprecated in favor of scaleway.job/definition.Definition""")
|
@@ -550,6 +645,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
550
645
|
__props__.__dict__["name"] = name
|
551
646
|
__props__.__dict__["project_id"] = project_id
|
552
647
|
__props__.__dict__["region"] = region
|
648
|
+
__props__.__dict__["secret_references"] = secret_references
|
553
649
|
__props__.__dict__["timeout"] = timeout
|
554
650
|
super(JobDefinition, __self__).__init__(
|
555
651
|
'scaleway:index/jobDefinition:JobDefinition',
|
@@ -571,6 +667,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
571
667
|
name: Optional[pulumi.Input[str]] = None,
|
572
668
|
project_id: Optional[pulumi.Input[str]] = None,
|
573
669
|
region: Optional[pulumi.Input[str]] = None,
|
670
|
+
secret_references: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobDefinitionSecretReferenceArgs', 'JobDefinitionSecretReferenceArgsDict']]]]] = None,
|
574
671
|
timeout: Optional[pulumi.Input[str]] = None) -> 'JobDefinition':
|
575
672
|
"""
|
576
673
|
Get an existing JobDefinition resource's state with the given name, id, and optional extra
|
@@ -589,6 +686,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
589
686
|
:param pulumi.Input[str] name: The name of the job.
|
590
687
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the Job is associated with.
|
591
688
|
:param pulumi.Input[str] region: `region`) The region of the Job.
|
689
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['JobDefinitionSecretReferenceArgs', 'JobDefinitionSecretReferenceArgsDict']]]] secret_references: A reference to a secret stored in Secret Manager.
|
592
690
|
:param pulumi.Input[str] timeout: The job run timeout, in Go Time format (ex: `2h30m25s`)
|
593
691
|
"""
|
594
692
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -605,6 +703,7 @@ class JobDefinition(pulumi.CustomResource):
|
|
605
703
|
__props__.__dict__["name"] = name
|
606
704
|
__props__.__dict__["project_id"] = project_id
|
607
705
|
__props__.__dict__["region"] = region
|
706
|
+
__props__.__dict__["secret_references"] = secret_references
|
608
707
|
__props__.__dict__["timeout"] = timeout
|
609
708
|
return JobDefinition(resource_name, opts=opts, __props__=__props__)
|
610
709
|
|
@@ -688,6 +787,14 @@ class JobDefinition(pulumi.CustomResource):
|
|
688
787
|
"""
|
689
788
|
return pulumi.get(self, "region")
|
690
789
|
|
790
|
+
@property
|
791
|
+
@pulumi.getter(name="secretReferences")
|
792
|
+
def secret_references(self) -> pulumi.Output[Optional[Sequence['outputs.JobDefinitionSecretReference']]]:
|
793
|
+
"""
|
794
|
+
A reference to a secret stored in Secret Manager.
|
795
|
+
"""
|
796
|
+
return pulumi.get(self, "secret_references")
|
797
|
+
|
691
798
|
@property
|
692
799
|
@pulumi.getter
|
693
800
|
def timeout(self) -> pulumi.Output[str]:
|