pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.26.0a1743166124__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 +663 -0
- pulumiverse_scaleway/apple_silicon_server.py +105 -0
- pulumiverse_scaleway/applesilicon/server.py +105 -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 +490 -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 +436 -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 +546 -0
- pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
- pulumiverse_scaleway/elasticmetal/ip.py +13 -7
- pulumiverse_scaleway/flexible_ip.py +13 -7
- 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/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/outputs.py +662 -2
- 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-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/RECORD +66 -53
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.26.0a1743166124.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,777 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['RegistrationArgs', 'Registration']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class RegistrationArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
domain_names: pulumi.Input[Sequence[pulumi.Input[str]]],
|
25
|
+
auto_renew: Optional[pulumi.Input[bool]] = None,
|
26
|
+
dnssec: Optional[pulumi.Input[bool]] = None,
|
27
|
+
duration_in_years: Optional[pulumi.Input[int]] = None,
|
28
|
+
owner_contact: Optional[pulumi.Input['RegistrationOwnerContactArgs']] = None,
|
29
|
+
owner_contact_id: Optional[pulumi.Input[str]] = None,
|
30
|
+
project_id: Optional[pulumi.Input[str]] = None):
|
31
|
+
"""
|
32
|
+
The set of arguments for constructing a Registration resource.
|
33
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: : A list of domain names to be registered.
|
34
|
+
:param pulumi.Input[bool] auto_renew: : Enables or disables auto-renewal.
|
35
|
+
:param pulumi.Input[bool] dnssec: : Enables or disables DNSSEC.
|
36
|
+
:param pulumi.Input[int] duration_in_years: : The registration period in years.
|
37
|
+
:param pulumi.Input['RegistrationOwnerContactArgs'] owner_contact: : Details of the owner contact.
|
38
|
+
:param pulumi.Input[str] owner_contact_id: : The ID of an existing owner contact.
|
39
|
+
:param pulumi.Input[str] project_id: : The Scaleway project ID.
|
40
|
+
"""
|
41
|
+
pulumi.set(__self__, "domain_names", domain_names)
|
42
|
+
if auto_renew is not None:
|
43
|
+
pulumi.set(__self__, "auto_renew", auto_renew)
|
44
|
+
if dnssec is not None:
|
45
|
+
pulumi.set(__self__, "dnssec", dnssec)
|
46
|
+
if duration_in_years is not None:
|
47
|
+
pulumi.set(__self__, "duration_in_years", duration_in_years)
|
48
|
+
if owner_contact is not None:
|
49
|
+
pulumi.set(__self__, "owner_contact", owner_contact)
|
50
|
+
if owner_contact_id is not None:
|
51
|
+
pulumi.set(__self__, "owner_contact_id", owner_contact_id)
|
52
|
+
if project_id is not None:
|
53
|
+
pulumi.set(__self__, "project_id", project_id)
|
54
|
+
|
55
|
+
@property
|
56
|
+
@pulumi.getter(name="domainNames")
|
57
|
+
def domain_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
58
|
+
"""
|
59
|
+
: A list of domain names to be registered.
|
60
|
+
"""
|
61
|
+
return pulumi.get(self, "domain_names")
|
62
|
+
|
63
|
+
@domain_names.setter
|
64
|
+
def domain_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
65
|
+
pulumi.set(self, "domain_names", value)
|
66
|
+
|
67
|
+
@property
|
68
|
+
@pulumi.getter(name="autoRenew")
|
69
|
+
def auto_renew(self) -> Optional[pulumi.Input[bool]]:
|
70
|
+
"""
|
71
|
+
: Enables or disables auto-renewal.
|
72
|
+
"""
|
73
|
+
return pulumi.get(self, "auto_renew")
|
74
|
+
|
75
|
+
@auto_renew.setter
|
76
|
+
def auto_renew(self, value: Optional[pulumi.Input[bool]]):
|
77
|
+
pulumi.set(self, "auto_renew", value)
|
78
|
+
|
79
|
+
@property
|
80
|
+
@pulumi.getter
|
81
|
+
def dnssec(self) -> Optional[pulumi.Input[bool]]:
|
82
|
+
"""
|
83
|
+
: Enables or disables DNSSEC.
|
84
|
+
"""
|
85
|
+
return pulumi.get(self, "dnssec")
|
86
|
+
|
87
|
+
@dnssec.setter
|
88
|
+
def dnssec(self, value: Optional[pulumi.Input[bool]]):
|
89
|
+
pulumi.set(self, "dnssec", value)
|
90
|
+
|
91
|
+
@property
|
92
|
+
@pulumi.getter(name="durationInYears")
|
93
|
+
def duration_in_years(self) -> Optional[pulumi.Input[int]]:
|
94
|
+
"""
|
95
|
+
: The registration period in years.
|
96
|
+
"""
|
97
|
+
return pulumi.get(self, "duration_in_years")
|
98
|
+
|
99
|
+
@duration_in_years.setter
|
100
|
+
def duration_in_years(self, value: Optional[pulumi.Input[int]]):
|
101
|
+
pulumi.set(self, "duration_in_years", value)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter(name="ownerContact")
|
105
|
+
def owner_contact(self) -> Optional[pulumi.Input['RegistrationOwnerContactArgs']]:
|
106
|
+
"""
|
107
|
+
: Details of the owner contact.
|
108
|
+
"""
|
109
|
+
return pulumi.get(self, "owner_contact")
|
110
|
+
|
111
|
+
@owner_contact.setter
|
112
|
+
def owner_contact(self, value: Optional[pulumi.Input['RegistrationOwnerContactArgs']]):
|
113
|
+
pulumi.set(self, "owner_contact", value)
|
114
|
+
|
115
|
+
@property
|
116
|
+
@pulumi.getter(name="ownerContactId")
|
117
|
+
def owner_contact_id(self) -> Optional[pulumi.Input[str]]:
|
118
|
+
"""
|
119
|
+
: The ID of an existing owner contact.
|
120
|
+
"""
|
121
|
+
return pulumi.get(self, "owner_contact_id")
|
122
|
+
|
123
|
+
@owner_contact_id.setter
|
124
|
+
def owner_contact_id(self, value: Optional[pulumi.Input[str]]):
|
125
|
+
pulumi.set(self, "owner_contact_id", value)
|
126
|
+
|
127
|
+
@property
|
128
|
+
@pulumi.getter(name="projectId")
|
129
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
130
|
+
"""
|
131
|
+
: The Scaleway project ID.
|
132
|
+
"""
|
133
|
+
return pulumi.get(self, "project_id")
|
134
|
+
|
135
|
+
@project_id.setter
|
136
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
137
|
+
pulumi.set(self, "project_id", value)
|
138
|
+
|
139
|
+
|
140
|
+
@pulumi.input_type
|
141
|
+
class _RegistrationState:
|
142
|
+
def __init__(__self__, *,
|
143
|
+
administrative_contacts: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationAdministrativeContactArgs']]]] = None,
|
144
|
+
auto_renew: Optional[pulumi.Input[bool]] = None,
|
145
|
+
dnssec: Optional[pulumi.Input[bool]] = None,
|
146
|
+
domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
147
|
+
ds_records: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationDsRecordArgs']]]] = None,
|
148
|
+
duration_in_years: Optional[pulumi.Input[int]] = None,
|
149
|
+
owner_contact: Optional[pulumi.Input['RegistrationOwnerContactArgs']] = None,
|
150
|
+
owner_contact_id: Optional[pulumi.Input[str]] = None,
|
151
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
152
|
+
task_id: Optional[pulumi.Input[str]] = None,
|
153
|
+
technical_contacts: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationTechnicalContactArgs']]]] = None):
|
154
|
+
"""
|
155
|
+
Input properties used for looking up and filtering Registration resources.
|
156
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegistrationAdministrativeContactArgs']]] administrative_contacts: : Administrative contact information.
|
157
|
+
:param pulumi.Input[bool] auto_renew: : Enables or disables auto-renewal.
|
158
|
+
:param pulumi.Input[bool] dnssec: : Enables or disables DNSSEC.
|
159
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: : A list of domain names to be registered.
|
160
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegistrationDsRecordArgs']]] ds_records: DNSSEC DS record configuration.
|
161
|
+
:param pulumi.Input[int] duration_in_years: : The registration period in years.
|
162
|
+
:param pulumi.Input['RegistrationOwnerContactArgs'] owner_contact: : Details of the owner contact.
|
163
|
+
:param pulumi.Input[str] owner_contact_id: : The ID of an existing owner contact.
|
164
|
+
:param pulumi.Input[str] project_id: : The Scaleway project ID.
|
165
|
+
:param pulumi.Input[str] task_id: ID of the task that created the domain.
|
166
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegistrationTechnicalContactArgs']]] technical_contacts: : Technical contact information.
|
167
|
+
"""
|
168
|
+
if administrative_contacts is not None:
|
169
|
+
pulumi.set(__self__, "administrative_contacts", administrative_contacts)
|
170
|
+
if auto_renew is not None:
|
171
|
+
pulumi.set(__self__, "auto_renew", auto_renew)
|
172
|
+
if dnssec is not None:
|
173
|
+
pulumi.set(__self__, "dnssec", dnssec)
|
174
|
+
if domain_names is not None:
|
175
|
+
pulumi.set(__self__, "domain_names", domain_names)
|
176
|
+
if ds_records is not None:
|
177
|
+
pulumi.set(__self__, "ds_records", ds_records)
|
178
|
+
if duration_in_years is not None:
|
179
|
+
pulumi.set(__self__, "duration_in_years", duration_in_years)
|
180
|
+
if owner_contact is not None:
|
181
|
+
pulumi.set(__self__, "owner_contact", owner_contact)
|
182
|
+
if owner_contact_id is not None:
|
183
|
+
pulumi.set(__self__, "owner_contact_id", owner_contact_id)
|
184
|
+
if project_id is not None:
|
185
|
+
pulumi.set(__self__, "project_id", project_id)
|
186
|
+
if task_id is not None:
|
187
|
+
pulumi.set(__self__, "task_id", task_id)
|
188
|
+
if technical_contacts is not None:
|
189
|
+
pulumi.set(__self__, "technical_contacts", technical_contacts)
|
190
|
+
|
191
|
+
@property
|
192
|
+
@pulumi.getter(name="administrativeContacts")
|
193
|
+
def administrative_contacts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationAdministrativeContactArgs']]]]:
|
194
|
+
"""
|
195
|
+
: Administrative contact information.
|
196
|
+
"""
|
197
|
+
return pulumi.get(self, "administrative_contacts")
|
198
|
+
|
199
|
+
@administrative_contacts.setter
|
200
|
+
def administrative_contacts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationAdministrativeContactArgs']]]]):
|
201
|
+
pulumi.set(self, "administrative_contacts", value)
|
202
|
+
|
203
|
+
@property
|
204
|
+
@pulumi.getter(name="autoRenew")
|
205
|
+
def auto_renew(self) -> Optional[pulumi.Input[bool]]:
|
206
|
+
"""
|
207
|
+
: Enables or disables auto-renewal.
|
208
|
+
"""
|
209
|
+
return pulumi.get(self, "auto_renew")
|
210
|
+
|
211
|
+
@auto_renew.setter
|
212
|
+
def auto_renew(self, value: Optional[pulumi.Input[bool]]):
|
213
|
+
pulumi.set(self, "auto_renew", value)
|
214
|
+
|
215
|
+
@property
|
216
|
+
@pulumi.getter
|
217
|
+
def dnssec(self) -> Optional[pulumi.Input[bool]]:
|
218
|
+
"""
|
219
|
+
: Enables or disables DNSSEC.
|
220
|
+
"""
|
221
|
+
return pulumi.get(self, "dnssec")
|
222
|
+
|
223
|
+
@dnssec.setter
|
224
|
+
def dnssec(self, value: Optional[pulumi.Input[bool]]):
|
225
|
+
pulumi.set(self, "dnssec", value)
|
226
|
+
|
227
|
+
@property
|
228
|
+
@pulumi.getter(name="domainNames")
|
229
|
+
def domain_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
230
|
+
"""
|
231
|
+
: A list of domain names to be registered.
|
232
|
+
"""
|
233
|
+
return pulumi.get(self, "domain_names")
|
234
|
+
|
235
|
+
@domain_names.setter
|
236
|
+
def domain_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
237
|
+
pulumi.set(self, "domain_names", value)
|
238
|
+
|
239
|
+
@property
|
240
|
+
@pulumi.getter(name="dsRecords")
|
241
|
+
def ds_records(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationDsRecordArgs']]]]:
|
242
|
+
"""
|
243
|
+
DNSSEC DS record configuration.
|
244
|
+
"""
|
245
|
+
return pulumi.get(self, "ds_records")
|
246
|
+
|
247
|
+
@ds_records.setter
|
248
|
+
def ds_records(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationDsRecordArgs']]]]):
|
249
|
+
pulumi.set(self, "ds_records", value)
|
250
|
+
|
251
|
+
@property
|
252
|
+
@pulumi.getter(name="durationInYears")
|
253
|
+
def duration_in_years(self) -> Optional[pulumi.Input[int]]:
|
254
|
+
"""
|
255
|
+
: The registration period in years.
|
256
|
+
"""
|
257
|
+
return pulumi.get(self, "duration_in_years")
|
258
|
+
|
259
|
+
@duration_in_years.setter
|
260
|
+
def duration_in_years(self, value: Optional[pulumi.Input[int]]):
|
261
|
+
pulumi.set(self, "duration_in_years", value)
|
262
|
+
|
263
|
+
@property
|
264
|
+
@pulumi.getter(name="ownerContact")
|
265
|
+
def owner_contact(self) -> Optional[pulumi.Input['RegistrationOwnerContactArgs']]:
|
266
|
+
"""
|
267
|
+
: Details of the owner contact.
|
268
|
+
"""
|
269
|
+
return pulumi.get(self, "owner_contact")
|
270
|
+
|
271
|
+
@owner_contact.setter
|
272
|
+
def owner_contact(self, value: Optional[pulumi.Input['RegistrationOwnerContactArgs']]):
|
273
|
+
pulumi.set(self, "owner_contact", value)
|
274
|
+
|
275
|
+
@property
|
276
|
+
@pulumi.getter(name="ownerContactId")
|
277
|
+
def owner_contact_id(self) -> Optional[pulumi.Input[str]]:
|
278
|
+
"""
|
279
|
+
: The ID of an existing owner contact.
|
280
|
+
"""
|
281
|
+
return pulumi.get(self, "owner_contact_id")
|
282
|
+
|
283
|
+
@owner_contact_id.setter
|
284
|
+
def owner_contact_id(self, value: Optional[pulumi.Input[str]]):
|
285
|
+
pulumi.set(self, "owner_contact_id", value)
|
286
|
+
|
287
|
+
@property
|
288
|
+
@pulumi.getter(name="projectId")
|
289
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
290
|
+
"""
|
291
|
+
: The Scaleway project ID.
|
292
|
+
"""
|
293
|
+
return pulumi.get(self, "project_id")
|
294
|
+
|
295
|
+
@project_id.setter
|
296
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
297
|
+
pulumi.set(self, "project_id", value)
|
298
|
+
|
299
|
+
@property
|
300
|
+
@pulumi.getter(name="taskId")
|
301
|
+
def task_id(self) -> Optional[pulumi.Input[str]]:
|
302
|
+
"""
|
303
|
+
ID of the task that created the domain.
|
304
|
+
"""
|
305
|
+
return pulumi.get(self, "task_id")
|
306
|
+
|
307
|
+
@task_id.setter
|
308
|
+
def task_id(self, value: Optional[pulumi.Input[str]]):
|
309
|
+
pulumi.set(self, "task_id", value)
|
310
|
+
|
311
|
+
@property
|
312
|
+
@pulumi.getter(name="technicalContacts")
|
313
|
+
def technical_contacts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationTechnicalContactArgs']]]]:
|
314
|
+
"""
|
315
|
+
: Technical contact information.
|
316
|
+
"""
|
317
|
+
return pulumi.get(self, "technical_contacts")
|
318
|
+
|
319
|
+
@technical_contacts.setter
|
320
|
+
def technical_contacts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistrationTechnicalContactArgs']]]]):
|
321
|
+
pulumi.set(self, "technical_contacts", value)
|
322
|
+
|
323
|
+
|
324
|
+
class Registration(pulumi.CustomResource):
|
325
|
+
@overload
|
326
|
+
def __init__(__self__,
|
327
|
+
resource_name: str,
|
328
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
329
|
+
auto_renew: Optional[pulumi.Input[bool]] = None,
|
330
|
+
dnssec: Optional[pulumi.Input[bool]] = None,
|
331
|
+
domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
332
|
+
duration_in_years: Optional[pulumi.Input[int]] = None,
|
333
|
+
owner_contact: Optional[pulumi.Input[Union['RegistrationOwnerContactArgs', 'RegistrationOwnerContactArgsDict']]] = None,
|
334
|
+
owner_contact_id: Optional[pulumi.Input[str]] = None,
|
335
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
336
|
+
__props__=None):
|
337
|
+
"""
|
338
|
+
The `domain.Registration` resource allows you to purchase and manage domain registrations with Scaleway. Using this resource you can register one or more domains for a specified duration, configure auto-renewal and DNSSEC options, and set contact information. You can supply an owner contact either by providing an existing contact ID or by specifying the complete contact details. The resource automatically returns additional contact information (administrative and technical) as provided by the Scaleway API.
|
339
|
+
|
340
|
+
Refer to the [Domains and DNS documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and the [API documentation](https://developers.scaleway.com/) for more details.
|
341
|
+
|
342
|
+
## Example Usage
|
343
|
+
|
344
|
+
### Purchase a Single Domain
|
345
|
+
|
346
|
+
The following example purchases a domain with a one-year registration period and specifies the owner contact details. Administrative and technical contacts are returned by the API.
|
347
|
+
|
348
|
+
```python
|
349
|
+
import pulumi
|
350
|
+
import pulumiverse_scaleway as scaleway
|
351
|
+
|
352
|
+
test = scaleway.domain.Registration("test",
|
353
|
+
domain_names=["example.com"],
|
354
|
+
duration_in_years=1,
|
355
|
+
owner_contact={
|
356
|
+
"legal_form": "individual",
|
357
|
+
"firstname": "John",
|
358
|
+
"lastname": "DOE",
|
359
|
+
"email": "john.doe@example.com",
|
360
|
+
"phone_number": "+1.23456789",
|
361
|
+
"address_line1": "123 Main Street",
|
362
|
+
"city": "Paris",
|
363
|
+
"zip": "75001",
|
364
|
+
"country": "FR",
|
365
|
+
"vat_identification_code": "FR12345678901",
|
366
|
+
"company_identification_code": "123456789",
|
367
|
+
})
|
368
|
+
```
|
369
|
+
|
370
|
+
### Update Domain Settings
|
371
|
+
|
372
|
+
You can update the resource to enable auto-renewal and DNSSEC:
|
373
|
+
|
374
|
+
```python
|
375
|
+
import pulumi
|
376
|
+
import pulumiverse_scaleway as scaleway
|
377
|
+
|
378
|
+
test = scaleway.domain.Registration("test",
|
379
|
+
domain_names=["example.com"],
|
380
|
+
duration_in_years=1,
|
381
|
+
owner_contact={
|
382
|
+
"legal_form": "individual",
|
383
|
+
"firstname": "John",
|
384
|
+
"lastname": "DOE",
|
385
|
+
"email": "john.doe@example.com",
|
386
|
+
"phone_number": "+1.23456789",
|
387
|
+
"address_line1": "123 Main Street",
|
388
|
+
"city": "Paris",
|
389
|
+
"zip": "75001",
|
390
|
+
"country": "FR",
|
391
|
+
"vat_identification_code": "FR12345678901",
|
392
|
+
"company_identification_code": "123456789",
|
393
|
+
},
|
394
|
+
auto_renew=True,
|
395
|
+
dnssec=True)
|
396
|
+
```
|
397
|
+
|
398
|
+
### Purchase Multiple Domains
|
399
|
+
|
400
|
+
The following example registers several domains in one go:
|
401
|
+
|
402
|
+
```python
|
403
|
+
import pulumi
|
404
|
+
import pulumiverse_scaleway as scaleway
|
405
|
+
|
406
|
+
multi = scaleway.domain.Registration("multi",
|
407
|
+
domain_names=[
|
408
|
+
"domain1.com",
|
409
|
+
"domain2.com",
|
410
|
+
"domain3.com",
|
411
|
+
],
|
412
|
+
duration_in_years=1,
|
413
|
+
owner_contact={
|
414
|
+
"legal_form": "individual",
|
415
|
+
"firstname": "John",
|
416
|
+
"lastname": "DOE",
|
417
|
+
"email": "john.doe@example.com",
|
418
|
+
"phone_number": "+1.23456789",
|
419
|
+
"address_line1": "123 Main Street",
|
420
|
+
"city": "Paris",
|
421
|
+
"zip": "75001",
|
422
|
+
"country": "FR",
|
423
|
+
"vat_identification_code": "FR12345678901",
|
424
|
+
"company_identification_code": "123456789",
|
425
|
+
})
|
426
|
+
```
|
427
|
+
|
428
|
+
## Contact Blocks
|
429
|
+
|
430
|
+
Each contact block supports the following attributes:
|
431
|
+
|
432
|
+
- `legal_form` (Required, String): Legal form of the contact.
|
433
|
+
- `firstname` (Required, String): First name.
|
434
|
+
- `lastname` (Required, String): Last name.
|
435
|
+
- `company_name` (Optional, String): Company name.
|
436
|
+
- `email` (Required, String): Primary email.
|
437
|
+
- `phone_number` (Required, String): Primary phone number.
|
438
|
+
- `address_line_1` (Required, String): Primary address.
|
439
|
+
- `zip` (Required, String): Postal code.
|
440
|
+
- `city` (Required, String): City.
|
441
|
+
- `country` (Required, String): Country code (ISO format).
|
442
|
+
- `vat_identification_code` (Required, String): VAT identification code.
|
443
|
+
- `company_identification_code` (Required, String): Company identification code.
|
444
|
+
|
445
|
+
## Import
|
446
|
+
|
447
|
+
To import an existing domain registration, use:
|
448
|
+
|
449
|
+
bash
|
450
|
+
|
451
|
+
```sh
|
452
|
+
$ pulumi import scaleway:domain/registration:Registration test <project_id>/<task_id>
|
453
|
+
```
|
454
|
+
|
455
|
+
:param str resource_name: The name of the resource.
|
456
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
457
|
+
:param pulumi.Input[bool] auto_renew: : Enables or disables auto-renewal.
|
458
|
+
:param pulumi.Input[bool] dnssec: : Enables or disables DNSSEC.
|
459
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: : A list of domain names to be registered.
|
460
|
+
:param pulumi.Input[int] duration_in_years: : The registration period in years.
|
461
|
+
:param pulumi.Input[Union['RegistrationOwnerContactArgs', 'RegistrationOwnerContactArgsDict']] owner_contact: : Details of the owner contact.
|
462
|
+
:param pulumi.Input[str] owner_contact_id: : The ID of an existing owner contact.
|
463
|
+
:param pulumi.Input[str] project_id: : The Scaleway project ID.
|
464
|
+
"""
|
465
|
+
...
|
466
|
+
@overload
|
467
|
+
def __init__(__self__,
|
468
|
+
resource_name: str,
|
469
|
+
args: RegistrationArgs,
|
470
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
471
|
+
"""
|
472
|
+
The `domain.Registration` resource allows you to purchase and manage domain registrations with Scaleway. Using this resource you can register one or more domains for a specified duration, configure auto-renewal and DNSSEC options, and set contact information. You can supply an owner contact either by providing an existing contact ID or by specifying the complete contact details. The resource automatically returns additional contact information (administrative and technical) as provided by the Scaleway API.
|
473
|
+
|
474
|
+
Refer to the [Domains and DNS documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and the [API documentation](https://developers.scaleway.com/) for more details.
|
475
|
+
|
476
|
+
## Example Usage
|
477
|
+
|
478
|
+
### Purchase a Single Domain
|
479
|
+
|
480
|
+
The following example purchases a domain with a one-year registration period and specifies the owner contact details. Administrative and technical contacts are returned by the API.
|
481
|
+
|
482
|
+
```python
|
483
|
+
import pulumi
|
484
|
+
import pulumiverse_scaleway as scaleway
|
485
|
+
|
486
|
+
test = scaleway.domain.Registration("test",
|
487
|
+
domain_names=["example.com"],
|
488
|
+
duration_in_years=1,
|
489
|
+
owner_contact={
|
490
|
+
"legal_form": "individual",
|
491
|
+
"firstname": "John",
|
492
|
+
"lastname": "DOE",
|
493
|
+
"email": "john.doe@example.com",
|
494
|
+
"phone_number": "+1.23456789",
|
495
|
+
"address_line1": "123 Main Street",
|
496
|
+
"city": "Paris",
|
497
|
+
"zip": "75001",
|
498
|
+
"country": "FR",
|
499
|
+
"vat_identification_code": "FR12345678901",
|
500
|
+
"company_identification_code": "123456789",
|
501
|
+
})
|
502
|
+
```
|
503
|
+
|
504
|
+
### Update Domain Settings
|
505
|
+
|
506
|
+
You can update the resource to enable auto-renewal and DNSSEC:
|
507
|
+
|
508
|
+
```python
|
509
|
+
import pulumi
|
510
|
+
import pulumiverse_scaleway as scaleway
|
511
|
+
|
512
|
+
test = scaleway.domain.Registration("test",
|
513
|
+
domain_names=["example.com"],
|
514
|
+
duration_in_years=1,
|
515
|
+
owner_contact={
|
516
|
+
"legal_form": "individual",
|
517
|
+
"firstname": "John",
|
518
|
+
"lastname": "DOE",
|
519
|
+
"email": "john.doe@example.com",
|
520
|
+
"phone_number": "+1.23456789",
|
521
|
+
"address_line1": "123 Main Street",
|
522
|
+
"city": "Paris",
|
523
|
+
"zip": "75001",
|
524
|
+
"country": "FR",
|
525
|
+
"vat_identification_code": "FR12345678901",
|
526
|
+
"company_identification_code": "123456789",
|
527
|
+
},
|
528
|
+
auto_renew=True,
|
529
|
+
dnssec=True)
|
530
|
+
```
|
531
|
+
|
532
|
+
### Purchase Multiple Domains
|
533
|
+
|
534
|
+
The following example registers several domains in one go:
|
535
|
+
|
536
|
+
```python
|
537
|
+
import pulumi
|
538
|
+
import pulumiverse_scaleway as scaleway
|
539
|
+
|
540
|
+
multi = scaleway.domain.Registration("multi",
|
541
|
+
domain_names=[
|
542
|
+
"domain1.com",
|
543
|
+
"domain2.com",
|
544
|
+
"domain3.com",
|
545
|
+
],
|
546
|
+
duration_in_years=1,
|
547
|
+
owner_contact={
|
548
|
+
"legal_form": "individual",
|
549
|
+
"firstname": "John",
|
550
|
+
"lastname": "DOE",
|
551
|
+
"email": "john.doe@example.com",
|
552
|
+
"phone_number": "+1.23456789",
|
553
|
+
"address_line1": "123 Main Street",
|
554
|
+
"city": "Paris",
|
555
|
+
"zip": "75001",
|
556
|
+
"country": "FR",
|
557
|
+
"vat_identification_code": "FR12345678901",
|
558
|
+
"company_identification_code": "123456789",
|
559
|
+
})
|
560
|
+
```
|
561
|
+
|
562
|
+
## Contact Blocks
|
563
|
+
|
564
|
+
Each contact block supports the following attributes:
|
565
|
+
|
566
|
+
- `legal_form` (Required, String): Legal form of the contact.
|
567
|
+
- `firstname` (Required, String): First name.
|
568
|
+
- `lastname` (Required, String): Last name.
|
569
|
+
- `company_name` (Optional, String): Company name.
|
570
|
+
- `email` (Required, String): Primary email.
|
571
|
+
- `phone_number` (Required, String): Primary phone number.
|
572
|
+
- `address_line_1` (Required, String): Primary address.
|
573
|
+
- `zip` (Required, String): Postal code.
|
574
|
+
- `city` (Required, String): City.
|
575
|
+
- `country` (Required, String): Country code (ISO format).
|
576
|
+
- `vat_identification_code` (Required, String): VAT identification code.
|
577
|
+
- `company_identification_code` (Required, String): Company identification code.
|
578
|
+
|
579
|
+
## Import
|
580
|
+
|
581
|
+
To import an existing domain registration, use:
|
582
|
+
|
583
|
+
bash
|
584
|
+
|
585
|
+
```sh
|
586
|
+
$ pulumi import scaleway:domain/registration:Registration test <project_id>/<task_id>
|
587
|
+
```
|
588
|
+
|
589
|
+
:param str resource_name: The name of the resource.
|
590
|
+
:param RegistrationArgs args: The arguments to use to populate this resource's properties.
|
591
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
592
|
+
"""
|
593
|
+
...
|
594
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
595
|
+
resource_args, opts = _utilities.get_resource_args_opts(RegistrationArgs, pulumi.ResourceOptions, *args, **kwargs)
|
596
|
+
if resource_args is not None:
|
597
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
598
|
+
else:
|
599
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
600
|
+
|
601
|
+
def _internal_init(__self__,
|
602
|
+
resource_name: str,
|
603
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
604
|
+
auto_renew: Optional[pulumi.Input[bool]] = None,
|
605
|
+
dnssec: Optional[pulumi.Input[bool]] = None,
|
606
|
+
domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
607
|
+
duration_in_years: Optional[pulumi.Input[int]] = None,
|
608
|
+
owner_contact: Optional[pulumi.Input[Union['RegistrationOwnerContactArgs', 'RegistrationOwnerContactArgsDict']]] = None,
|
609
|
+
owner_contact_id: Optional[pulumi.Input[str]] = None,
|
610
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
611
|
+
__props__=None):
|
612
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
613
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
614
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
615
|
+
if opts.id is None:
|
616
|
+
if __props__ is not None:
|
617
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
618
|
+
__props__ = RegistrationArgs.__new__(RegistrationArgs)
|
619
|
+
|
620
|
+
__props__.__dict__["auto_renew"] = auto_renew
|
621
|
+
__props__.__dict__["dnssec"] = dnssec
|
622
|
+
if domain_names is None and not opts.urn:
|
623
|
+
raise TypeError("Missing required property 'domain_names'")
|
624
|
+
__props__.__dict__["domain_names"] = domain_names
|
625
|
+
__props__.__dict__["duration_in_years"] = duration_in_years
|
626
|
+
__props__.__dict__["owner_contact"] = owner_contact
|
627
|
+
__props__.__dict__["owner_contact_id"] = owner_contact_id
|
628
|
+
__props__.__dict__["project_id"] = project_id
|
629
|
+
__props__.__dict__["administrative_contacts"] = None
|
630
|
+
__props__.__dict__["ds_records"] = None
|
631
|
+
__props__.__dict__["task_id"] = None
|
632
|
+
__props__.__dict__["technical_contacts"] = None
|
633
|
+
super(Registration, __self__).__init__(
|
634
|
+
'scaleway:domain/registration:Registration',
|
635
|
+
resource_name,
|
636
|
+
__props__,
|
637
|
+
opts)
|
638
|
+
|
639
|
+
@staticmethod
|
640
|
+
def get(resource_name: str,
|
641
|
+
id: pulumi.Input[str],
|
642
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
643
|
+
administrative_contacts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistrationAdministrativeContactArgs', 'RegistrationAdministrativeContactArgsDict']]]]] = None,
|
644
|
+
auto_renew: Optional[pulumi.Input[bool]] = None,
|
645
|
+
dnssec: Optional[pulumi.Input[bool]] = None,
|
646
|
+
domain_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
647
|
+
ds_records: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistrationDsRecordArgs', 'RegistrationDsRecordArgsDict']]]]] = None,
|
648
|
+
duration_in_years: Optional[pulumi.Input[int]] = None,
|
649
|
+
owner_contact: Optional[pulumi.Input[Union['RegistrationOwnerContactArgs', 'RegistrationOwnerContactArgsDict']]] = None,
|
650
|
+
owner_contact_id: Optional[pulumi.Input[str]] = None,
|
651
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
652
|
+
task_id: Optional[pulumi.Input[str]] = None,
|
653
|
+
technical_contacts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistrationTechnicalContactArgs', 'RegistrationTechnicalContactArgsDict']]]]] = None) -> 'Registration':
|
654
|
+
"""
|
655
|
+
Get an existing Registration resource's state with the given name, id, and optional extra
|
656
|
+
properties used to qualify the lookup.
|
657
|
+
|
658
|
+
:param str resource_name: The unique name of the resulting resource.
|
659
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
660
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
661
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RegistrationAdministrativeContactArgs', 'RegistrationAdministrativeContactArgsDict']]]] administrative_contacts: : Administrative contact information.
|
662
|
+
:param pulumi.Input[bool] auto_renew: : Enables or disables auto-renewal.
|
663
|
+
:param pulumi.Input[bool] dnssec: : Enables or disables DNSSEC.
|
664
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] domain_names: : A list of domain names to be registered.
|
665
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RegistrationDsRecordArgs', 'RegistrationDsRecordArgsDict']]]] ds_records: DNSSEC DS record configuration.
|
666
|
+
:param pulumi.Input[int] duration_in_years: : The registration period in years.
|
667
|
+
:param pulumi.Input[Union['RegistrationOwnerContactArgs', 'RegistrationOwnerContactArgsDict']] owner_contact: : Details of the owner contact.
|
668
|
+
:param pulumi.Input[str] owner_contact_id: : The ID of an existing owner contact.
|
669
|
+
:param pulumi.Input[str] project_id: : The Scaleway project ID.
|
670
|
+
:param pulumi.Input[str] task_id: ID of the task that created the domain.
|
671
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RegistrationTechnicalContactArgs', 'RegistrationTechnicalContactArgsDict']]]] technical_contacts: : Technical contact information.
|
672
|
+
"""
|
673
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
674
|
+
|
675
|
+
__props__ = _RegistrationState.__new__(_RegistrationState)
|
676
|
+
|
677
|
+
__props__.__dict__["administrative_contacts"] = administrative_contacts
|
678
|
+
__props__.__dict__["auto_renew"] = auto_renew
|
679
|
+
__props__.__dict__["dnssec"] = dnssec
|
680
|
+
__props__.__dict__["domain_names"] = domain_names
|
681
|
+
__props__.__dict__["ds_records"] = ds_records
|
682
|
+
__props__.__dict__["duration_in_years"] = duration_in_years
|
683
|
+
__props__.__dict__["owner_contact"] = owner_contact
|
684
|
+
__props__.__dict__["owner_contact_id"] = owner_contact_id
|
685
|
+
__props__.__dict__["project_id"] = project_id
|
686
|
+
__props__.__dict__["task_id"] = task_id
|
687
|
+
__props__.__dict__["technical_contacts"] = technical_contacts
|
688
|
+
return Registration(resource_name, opts=opts, __props__=__props__)
|
689
|
+
|
690
|
+
@property
|
691
|
+
@pulumi.getter(name="administrativeContacts")
|
692
|
+
def administrative_contacts(self) -> pulumi.Output[Sequence['outputs.RegistrationAdministrativeContact']]:
|
693
|
+
"""
|
694
|
+
: Administrative contact information.
|
695
|
+
"""
|
696
|
+
return pulumi.get(self, "administrative_contacts")
|
697
|
+
|
698
|
+
@property
|
699
|
+
@pulumi.getter(name="autoRenew")
|
700
|
+
def auto_renew(self) -> pulumi.Output[Optional[bool]]:
|
701
|
+
"""
|
702
|
+
: Enables or disables auto-renewal.
|
703
|
+
"""
|
704
|
+
return pulumi.get(self, "auto_renew")
|
705
|
+
|
706
|
+
@property
|
707
|
+
@pulumi.getter
|
708
|
+
def dnssec(self) -> pulumi.Output[Optional[bool]]:
|
709
|
+
"""
|
710
|
+
: Enables or disables DNSSEC.
|
711
|
+
"""
|
712
|
+
return pulumi.get(self, "dnssec")
|
713
|
+
|
714
|
+
@property
|
715
|
+
@pulumi.getter(name="domainNames")
|
716
|
+
def domain_names(self) -> pulumi.Output[Sequence[str]]:
|
717
|
+
"""
|
718
|
+
: A list of domain names to be registered.
|
719
|
+
"""
|
720
|
+
return pulumi.get(self, "domain_names")
|
721
|
+
|
722
|
+
@property
|
723
|
+
@pulumi.getter(name="dsRecords")
|
724
|
+
def ds_records(self) -> pulumi.Output[Sequence['outputs.RegistrationDsRecord']]:
|
725
|
+
"""
|
726
|
+
DNSSEC DS record configuration.
|
727
|
+
"""
|
728
|
+
return pulumi.get(self, "ds_records")
|
729
|
+
|
730
|
+
@property
|
731
|
+
@pulumi.getter(name="durationInYears")
|
732
|
+
def duration_in_years(self) -> pulumi.Output[Optional[int]]:
|
733
|
+
"""
|
734
|
+
: The registration period in years.
|
735
|
+
"""
|
736
|
+
return pulumi.get(self, "duration_in_years")
|
737
|
+
|
738
|
+
@property
|
739
|
+
@pulumi.getter(name="ownerContact")
|
740
|
+
def owner_contact(self) -> pulumi.Output['outputs.RegistrationOwnerContact']:
|
741
|
+
"""
|
742
|
+
: Details of the owner contact.
|
743
|
+
"""
|
744
|
+
return pulumi.get(self, "owner_contact")
|
745
|
+
|
746
|
+
@property
|
747
|
+
@pulumi.getter(name="ownerContactId")
|
748
|
+
def owner_contact_id(self) -> pulumi.Output[str]:
|
749
|
+
"""
|
750
|
+
: The ID of an existing owner contact.
|
751
|
+
"""
|
752
|
+
return pulumi.get(self, "owner_contact_id")
|
753
|
+
|
754
|
+
@property
|
755
|
+
@pulumi.getter(name="projectId")
|
756
|
+
def project_id(self) -> pulumi.Output[str]:
|
757
|
+
"""
|
758
|
+
: The Scaleway project ID.
|
759
|
+
"""
|
760
|
+
return pulumi.get(self, "project_id")
|
761
|
+
|
762
|
+
@property
|
763
|
+
@pulumi.getter(name="taskId")
|
764
|
+
def task_id(self) -> pulumi.Output[str]:
|
765
|
+
"""
|
766
|
+
ID of the task that created the domain.
|
767
|
+
"""
|
768
|
+
return pulumi.get(self, "task_id")
|
769
|
+
|
770
|
+
@property
|
771
|
+
@pulumi.getter(name="technicalContacts")
|
772
|
+
def technical_contacts(self) -> pulumi.Output[Sequence['outputs.RegistrationTechnicalContact']]:
|
773
|
+
"""
|
774
|
+
: Technical contact information.
|
775
|
+
"""
|
776
|
+
return pulumi.get(self, "technical_contacts")
|
777
|
+
|