pulumiverse-scaleway 1.27.0a1744704297__py3-none-any.whl → 1.27.0a1745249933__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 (30) hide show
  1. pulumiverse_scaleway/_inputs.py +113 -0
  2. pulumiverse_scaleway/baremetal_server.py +82 -0
  3. pulumiverse_scaleway/cockpit.py +7 -0
  4. pulumiverse_scaleway/edge_services_cache_stage.py +104 -10
  5. pulumiverse_scaleway/edge_services_dns_stage.py +21 -21
  6. pulumiverse_scaleway/edge_services_pipeline.py +44 -2
  7. pulumiverse_scaleway/edge_services_tls_stage.py +111 -17
  8. pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
  9. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
  10. pulumiverse_scaleway/elasticmetal/server.py +82 -0
  11. pulumiverse_scaleway/get_cockpit_plan.py +1 -0
  12. pulumiverse_scaleway/get_instance_server.py +12 -1
  13. pulumiverse_scaleway/hosting/hosting.py +2 -2
  14. pulumiverse_scaleway/instance/get_server.py +12 -1
  15. pulumiverse_scaleway/instance/outputs.py +0 -11
  16. pulumiverse_scaleway/instance/server.py +54 -7
  17. pulumiverse_scaleway/instance_server.py +54 -7
  18. pulumiverse_scaleway/job/_inputs.py +113 -0
  19. pulumiverse_scaleway/job/definition.py +107 -0
  20. pulumiverse_scaleway/job/outputs.py +88 -0
  21. pulumiverse_scaleway/job_definition.py +107 -0
  22. pulumiverse_scaleway/observability/cockpit.py +7 -0
  23. pulumiverse_scaleway/observability/get_plan.py +1 -0
  24. pulumiverse_scaleway/outputs.py +88 -11
  25. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  26. pulumiverse_scaleway/webhosting.py +2 -2
  27. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/METADATA +1 -1
  28. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/RECORD +30 -29
  29. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/WHEEL +1 -1
  30. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/top_level.txt +0 -0
@@ -35,6 +35,7 @@ class ServerArgs:
35
35
  placement_group_id: Optional[pulumi.Input[str]] = None,
36
36
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
37
37
  project_id: Optional[pulumi.Input[str]] = None,
38
+ protected: Optional[pulumi.Input[bool]] = None,
38
39
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
39
40
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
40
41
  root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
@@ -61,7 +62,7 @@ class ServerArgs:
61
62
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
62
63
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
63
64
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
64
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
65
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
65
66
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
66
67
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
67
68
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -81,6 +82,7 @@ class ServerArgs:
81
82
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
82
83
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
83
84
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
85
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
84
86
  :param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
85
87
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
86
88
  :param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -128,6 +130,8 @@ class ServerArgs:
128
130
  pulumi.set(__self__, "private_networks", private_networks)
129
131
  if project_id is not None:
130
132
  pulumi.set(__self__, "project_id", project_id)
133
+ if protected is not None:
134
+ pulumi.set(__self__, "protected", protected)
131
135
  if public_ips is not None:
132
136
  pulumi.set(__self__, "public_ips", public_ips)
133
137
  if replace_on_type_change is not None:
@@ -233,7 +237,7 @@ class ServerArgs:
233
237
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
234
238
  def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
235
239
  """
236
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
240
+ Determines if IPv6 is enabled for the server.
237
241
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
238
242
  """
239
243
  return pulumi.get(self, "enable_ipv6")
@@ -337,6 +341,18 @@ class ServerArgs:
337
341
  def project_id(self, value: Optional[pulumi.Input[str]]):
338
342
  pulumi.set(self, "project_id", value)
339
343
 
344
+ @property
345
+ @pulumi.getter
346
+ def protected(self) -> Optional[pulumi.Input[bool]]:
347
+ """
348
+ Set to true to activate server protection option.
349
+ """
350
+ return pulumi.get(self, "protected")
351
+
352
+ @protected.setter
353
+ def protected(self, value: Optional[pulumi.Input[bool]]):
354
+ pulumi.set(self, "protected", value)
355
+
340
356
  @property
341
357
  @pulumi.getter(name="publicIps")
342
358
  def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
@@ -461,6 +477,7 @@ class _ServerState:
461
477
  private_ip: Optional[pulumi.Input[str]] = None,
462
478
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
463
479
  project_id: Optional[pulumi.Input[str]] = None,
480
+ protected: Optional[pulumi.Input[bool]] = None,
464
481
  public_ip: Optional[pulumi.Input[str]] = None,
465
482
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
466
483
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
@@ -483,7 +500,7 @@ class _ServerState:
483
500
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
484
501
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
485
502
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
486
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
503
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
487
504
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
488
505
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
489
506
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -512,6 +529,7 @@ class _ServerState:
512
529
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
513
530
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
514
531
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
532
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
515
533
  :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
516
534
  :param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
517
535
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
@@ -589,6 +607,8 @@ class _ServerState:
589
607
  pulumi.set(__self__, "private_networks", private_networks)
590
608
  if project_id is not None:
591
609
  pulumi.set(__self__, "project_id", project_id)
610
+ if protected is not None:
611
+ pulumi.set(__self__, "protected", protected)
592
612
  if public_ip is not None:
593
613
  warnings.warn("""Use public_ips instead""", DeprecationWarning)
594
614
  pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""")
@@ -684,7 +704,7 @@ class _ServerState:
684
704
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
685
705
  def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
686
706
  """
687
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
707
+ Determines if IPv6 is enabled for the server.
688
708
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
689
709
  """
690
710
  return pulumi.get(self, "enable_ipv6")
@@ -867,6 +887,18 @@ class _ServerState:
867
887
  def project_id(self, value: Optional[pulumi.Input[str]]):
868
888
  pulumi.set(self, "project_id", value)
869
889
 
890
+ @property
891
+ @pulumi.getter
892
+ def protected(self) -> Optional[pulumi.Input[bool]]:
893
+ """
894
+ Set to true to activate server protection option.
895
+ """
896
+ return pulumi.get(self, "protected")
897
+
898
+ @protected.setter
899
+ def protected(self, value: Optional[pulumi.Input[bool]]):
900
+ pulumi.set(self, "protected", value)
901
+
870
902
  @property
871
903
  @pulumi.getter(name="publicIp")
872
904
  @_utilities.deprecated("""Use public_ips instead""")
@@ -1017,6 +1049,7 @@ class Server(pulumi.CustomResource):
1017
1049
  placement_group_id: Optional[pulumi.Input[str]] = None,
1018
1050
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1019
1051
  project_id: Optional[pulumi.Input[str]] = None,
1052
+ protected: Optional[pulumi.Input[bool]] = None,
1020
1053
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1021
1054
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1022
1055
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
@@ -1220,7 +1253,7 @@ class Server(pulumi.CustomResource):
1220
1253
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1221
1254
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1222
1255
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1223
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1256
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1224
1257
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1225
1258
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1226
1259
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -1240,6 +1273,7 @@ class Server(pulumi.CustomResource):
1240
1273
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1241
1274
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1242
1275
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1276
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
1243
1277
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1244
1278
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1245
1279
  :param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -1475,6 +1509,7 @@ class Server(pulumi.CustomResource):
1475
1509
  placement_group_id: Optional[pulumi.Input[str]] = None,
1476
1510
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1477
1511
  project_id: Optional[pulumi.Input[str]] = None,
1512
+ protected: Optional[pulumi.Input[bool]] = None,
1478
1513
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1479
1514
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1480
1515
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
@@ -1506,6 +1541,7 @@ class Server(pulumi.CustomResource):
1506
1541
  __props__.__dict__["placement_group_id"] = placement_group_id
1507
1542
  __props__.__dict__["private_networks"] = private_networks
1508
1543
  __props__.__dict__["project_id"] = project_id
1544
+ __props__.__dict__["protected"] = protected
1509
1545
  __props__.__dict__["public_ips"] = public_ips
1510
1546
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
1511
1547
  __props__.__dict__["root_volume"] = root_volume
@@ -1555,6 +1591,7 @@ class Server(pulumi.CustomResource):
1555
1591
  private_ip: Optional[pulumi.Input[str]] = None,
1556
1592
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1557
1593
  project_id: Optional[pulumi.Input[str]] = None,
1594
+ protected: Optional[pulumi.Input[bool]] = None,
1558
1595
  public_ip: Optional[pulumi.Input[str]] = None,
1559
1596
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1560
1597
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
@@ -1582,7 +1619,7 @@ class Server(pulumi.CustomResource):
1582
1619
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1583
1620
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1584
1621
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1585
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1622
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1586
1623
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1587
1624
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1588
1625
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -1611,6 +1648,7 @@ class Server(pulumi.CustomResource):
1611
1648
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1612
1649
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1613
1650
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1651
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
1614
1652
  :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
1615
1653
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1616
1654
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
@@ -1655,6 +1693,7 @@ class Server(pulumi.CustomResource):
1655
1693
  __props__.__dict__["private_ip"] = private_ip
1656
1694
  __props__.__dict__["private_networks"] = private_networks
1657
1695
  __props__.__dict__["project_id"] = project_id
1696
+ __props__.__dict__["protected"] = protected
1658
1697
  __props__.__dict__["public_ip"] = public_ip
1659
1698
  __props__.__dict__["public_ips"] = public_ips
1660
1699
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
@@ -1718,7 +1757,7 @@ class Server(pulumi.CustomResource):
1718
1757
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1719
1758
  def enable_ipv6(self) -> pulumi.Output[Optional[bool]]:
1720
1759
  """
1721
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1760
+ Determines if IPv6 is enabled for the server.
1722
1761
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1723
1762
  """
1724
1763
  return pulumi.get(self, "enable_ipv6")
@@ -1845,6 +1884,14 @@ class Server(pulumi.CustomResource):
1845
1884
  """
1846
1885
  return pulumi.get(self, "project_id")
1847
1886
 
1887
+ @property
1888
+ @pulumi.getter
1889
+ def protected(self) -> pulumi.Output[Optional[bool]]:
1890
+ """
1891
+ Set to true to activate server protection option.
1892
+ """
1893
+ return pulumi.get(self, "protected")
1894
+
1848
1895
  @property
1849
1896
  @pulumi.getter(name="publicIp")
1850
1897
  @_utilities.deprecated("""Use public_ips instead""")
@@ -35,6 +35,7 @@ class InstanceServerArgs:
35
35
  placement_group_id: Optional[pulumi.Input[str]] = None,
36
36
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]]] = None,
37
37
  project_id: Optional[pulumi.Input[str]] = None,
38
+ protected: Optional[pulumi.Input[bool]] = None,
38
39
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]]] = None,
39
40
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
40
41
  root_volume: Optional[pulumi.Input['InstanceServerRootVolumeArgs']] = None,
@@ -61,7 +62,7 @@ class InstanceServerArgs:
61
62
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
62
63
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
63
64
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
64
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
65
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
65
66
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
66
67
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
67
68
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -81,6 +82,7 @@ class InstanceServerArgs:
81
82
  :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
82
83
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
83
84
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
85
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
84
86
  :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
85
87
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
86
88
  :param pulumi.Input['InstanceServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -128,6 +130,8 @@ class InstanceServerArgs:
128
130
  pulumi.set(__self__, "private_networks", private_networks)
129
131
  if project_id is not None:
130
132
  pulumi.set(__self__, "project_id", project_id)
133
+ if protected is not None:
134
+ pulumi.set(__self__, "protected", protected)
131
135
  if public_ips is not None:
132
136
  pulumi.set(__self__, "public_ips", public_ips)
133
137
  if replace_on_type_change is not None:
@@ -233,7 +237,7 @@ class InstanceServerArgs:
233
237
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
234
238
  def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
235
239
  """
236
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
240
+ Determines if IPv6 is enabled for the server.
237
241
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
238
242
  """
239
243
  return pulumi.get(self, "enable_ipv6")
@@ -337,6 +341,18 @@ class InstanceServerArgs:
337
341
  def project_id(self, value: Optional[pulumi.Input[str]]):
338
342
  pulumi.set(self, "project_id", value)
339
343
 
344
+ @property
345
+ @pulumi.getter
346
+ def protected(self) -> Optional[pulumi.Input[bool]]:
347
+ """
348
+ Set to true to activate server protection option.
349
+ """
350
+ return pulumi.get(self, "protected")
351
+
352
+ @protected.setter
353
+ def protected(self, value: Optional[pulumi.Input[bool]]):
354
+ pulumi.set(self, "protected", value)
355
+
340
356
  @property
341
357
  @pulumi.getter(name="publicIps")
342
358
  def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]]]:
@@ -461,6 +477,7 @@ class _InstanceServerState:
461
477
  private_ip: Optional[pulumi.Input[str]] = None,
462
478
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]]] = None,
463
479
  project_id: Optional[pulumi.Input[str]] = None,
480
+ protected: Optional[pulumi.Input[bool]] = None,
464
481
  public_ip: Optional[pulumi.Input[str]] = None,
465
482
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]]] = None,
466
483
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
@@ -483,7 +500,7 @@ class _InstanceServerState:
483
500
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
484
501
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
485
502
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
486
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
503
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
487
504
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
488
505
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
489
506
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -512,6 +529,7 @@ class _InstanceServerState:
512
529
  :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
513
530
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
514
531
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
532
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
515
533
  :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
516
534
  :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
517
535
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
@@ -589,6 +607,8 @@ class _InstanceServerState:
589
607
  pulumi.set(__self__, "private_networks", private_networks)
590
608
  if project_id is not None:
591
609
  pulumi.set(__self__, "project_id", project_id)
610
+ if protected is not None:
611
+ pulumi.set(__self__, "protected", protected)
592
612
  if public_ip is not None:
593
613
  warnings.warn("""Use public_ips instead""", DeprecationWarning)
594
614
  pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""")
@@ -684,7 +704,7 @@ class _InstanceServerState:
684
704
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
685
705
  def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
686
706
  """
687
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
707
+ Determines if IPv6 is enabled for the server.
688
708
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
689
709
  """
690
710
  return pulumi.get(self, "enable_ipv6")
@@ -867,6 +887,18 @@ class _InstanceServerState:
867
887
  def project_id(self, value: Optional[pulumi.Input[str]]):
868
888
  pulumi.set(self, "project_id", value)
869
889
 
890
+ @property
891
+ @pulumi.getter
892
+ def protected(self) -> Optional[pulumi.Input[bool]]:
893
+ """
894
+ Set to true to activate server protection option.
895
+ """
896
+ return pulumi.get(self, "protected")
897
+
898
+ @protected.setter
899
+ def protected(self, value: Optional[pulumi.Input[bool]]):
900
+ pulumi.set(self, "protected", value)
901
+
870
902
  @property
871
903
  @pulumi.getter(name="publicIp")
872
904
  @_utilities.deprecated("""Use public_ips instead""")
@@ -1022,6 +1054,7 @@ class InstanceServer(pulumi.CustomResource):
1022
1054
  placement_group_id: Optional[pulumi.Input[str]] = None,
1023
1055
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]]] = None,
1024
1056
  project_id: Optional[pulumi.Input[str]] = None,
1057
+ protected: Optional[pulumi.Input[bool]] = None,
1025
1058
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]]] = None,
1026
1059
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1027
1060
  root_volume: Optional[pulumi.Input[Union['InstanceServerRootVolumeArgs', 'InstanceServerRootVolumeArgsDict']]] = None,
@@ -1225,7 +1258,7 @@ class InstanceServer(pulumi.CustomResource):
1225
1258
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1226
1259
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1227
1260
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1228
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1261
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1229
1262
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1230
1263
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1231
1264
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -1245,6 +1278,7 @@ class InstanceServer(pulumi.CustomResource):
1245
1278
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1246
1279
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1247
1280
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1281
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
1248
1282
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1249
1283
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1250
1284
  :param pulumi.Input[Union['InstanceServerRootVolumeArgs', 'InstanceServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -1480,6 +1514,7 @@ class InstanceServer(pulumi.CustomResource):
1480
1514
  placement_group_id: Optional[pulumi.Input[str]] = None,
1481
1515
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]]] = None,
1482
1516
  project_id: Optional[pulumi.Input[str]] = None,
1517
+ protected: Optional[pulumi.Input[bool]] = None,
1483
1518
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]]] = None,
1484
1519
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1485
1520
  root_volume: Optional[pulumi.Input[Union['InstanceServerRootVolumeArgs', 'InstanceServerRootVolumeArgsDict']]] = None,
@@ -1512,6 +1547,7 @@ class InstanceServer(pulumi.CustomResource):
1512
1547
  __props__.__dict__["placement_group_id"] = placement_group_id
1513
1548
  __props__.__dict__["private_networks"] = private_networks
1514
1549
  __props__.__dict__["project_id"] = project_id
1550
+ __props__.__dict__["protected"] = protected
1515
1551
  __props__.__dict__["public_ips"] = public_ips
1516
1552
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
1517
1553
  __props__.__dict__["root_volume"] = root_volume
@@ -1559,6 +1595,7 @@ class InstanceServer(pulumi.CustomResource):
1559
1595
  private_ip: Optional[pulumi.Input[str]] = None,
1560
1596
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]]] = None,
1561
1597
  project_id: Optional[pulumi.Input[str]] = None,
1598
+ protected: Optional[pulumi.Input[bool]] = None,
1562
1599
  public_ip: Optional[pulumi.Input[str]] = None,
1563
1600
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]]] = None,
1564
1601
  replace_on_type_change: Optional[pulumi.Input[bool]] = None,
@@ -1586,7 +1623,7 @@ class InstanceServer(pulumi.CustomResource):
1586
1623
  :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1587
1624
  :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1588
1625
  :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1589
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1626
+ :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1590
1627
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1591
1628
  :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1592
1629
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -1615,6 +1652,7 @@ class InstanceServer(pulumi.CustomResource):
1615
1652
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1616
1653
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1617
1654
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1655
+ :param pulumi.Input[bool] protected: Set to true to activate server protection option.
1618
1656
  :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
1619
1657
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1620
1658
  :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
@@ -1659,6 +1697,7 @@ class InstanceServer(pulumi.CustomResource):
1659
1697
  __props__.__dict__["private_ip"] = private_ip
1660
1698
  __props__.__dict__["private_networks"] = private_networks
1661
1699
  __props__.__dict__["project_id"] = project_id
1700
+ __props__.__dict__["protected"] = protected
1662
1701
  __props__.__dict__["public_ip"] = public_ip
1663
1702
  __props__.__dict__["public_ips"] = public_ips
1664
1703
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
@@ -1722,7 +1761,7 @@ class InstanceServer(pulumi.CustomResource):
1722
1761
  @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1723
1762
  def enable_ipv6(self) -> pulumi.Output[Optional[bool]]:
1724
1763
  """
1725
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1764
+ Determines if IPv6 is enabled for the server.
1726
1765
  Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1727
1766
  """
1728
1767
  return pulumi.get(self, "enable_ipv6")
@@ -1849,6 +1888,14 @@ class InstanceServer(pulumi.CustomResource):
1849
1888
  """
1850
1889
  return pulumi.get(self, "project_id")
1851
1890
 
1891
+ @property
1892
+ @pulumi.getter
1893
+ def protected(self) -> pulumi.Output[Optional[bool]]:
1894
+ """
1895
+ Set to true to activate server protection option.
1896
+ """
1897
+ return pulumi.get(self, "protected")
1898
+
1852
1899
  @property
1853
1900
  @pulumi.getter(name="publicIp")
1854
1901
  @_utilities.deprecated("""Use public_ips instead""")
@@ -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
+