pulumiverse-scaleway 1.30.0a1752168858__py3-none-any.whl → 1.31.0a1752171288__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 (42) hide show
  1. pulumiverse_scaleway/__init__.py +27 -0
  2. pulumiverse_scaleway/_inputs.py +94 -32
  3. pulumiverse_scaleway/apple_silicon_server.py +47 -0
  4. pulumiverse_scaleway/applesilicon/server.py +47 -0
  5. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  6. pulumiverse_scaleway/autoscaling/_inputs.py +559 -0
  7. pulumiverse_scaleway/autoscaling/instance_group.py +808 -0
  8. pulumiverse_scaleway/autoscaling/instance_policy.py +635 -0
  9. pulumiverse_scaleway/autoscaling/instance_template.py +879 -0
  10. pulumiverse_scaleway/autoscaling/outputs.py +439 -0
  11. pulumiverse_scaleway/edge_services_cache_stage.py +47 -0
  12. pulumiverse_scaleway/get_cockpit_source.py +50 -7
  13. pulumiverse_scaleway/get_kubernetes_node_pool.py +12 -1
  14. pulumiverse_scaleway/get_vpc.py +12 -1
  15. pulumiverse_scaleway/get_vpc_private_network.py +12 -1
  16. pulumiverse_scaleway/kubernetes/get_pool.py +12 -1
  17. pulumiverse_scaleway/kubernetes/pool.py +61 -0
  18. pulumiverse_scaleway/kubernetes_node_pool.py +61 -0
  19. pulumiverse_scaleway/loadbalancer_acl.py +7 -7
  20. pulumiverse_scaleway/loadbalancers/_inputs.py +51 -11
  21. pulumiverse_scaleway/loadbalancers/acl.py +7 -7
  22. pulumiverse_scaleway/loadbalancers/outputs.py +60 -10
  23. pulumiverse_scaleway/network/get_private_network.py +12 -1
  24. pulumiverse_scaleway/network/get_vpc.py +12 -1
  25. pulumiverse_scaleway/network/private_network.py +47 -0
  26. pulumiverse_scaleway/network/vpc.py +47 -0
  27. pulumiverse_scaleway/object/_inputs.py +43 -21
  28. pulumiverse_scaleway/object/bucket_acl.py +6 -4
  29. pulumiverse_scaleway/object/outputs.py +26 -12
  30. pulumiverse_scaleway/object_bucket_acl.py +6 -4
  31. pulumiverse_scaleway/observability/get_source.py +50 -7
  32. pulumiverse_scaleway/outputs.py +86 -22
  33. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  34. pulumiverse_scaleway/vpc.py +47 -0
  35. pulumiverse_scaleway/vpc_private_network.py +47 -0
  36. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0a1752171288.dist-info}/METADATA +1 -1
  37. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0a1752171288.dist-info}/RECORD +39 -36
  38. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +0 -177
  39. pulumiverse_scaleway/get_cockpit_plan.py +0 -94
  40. pulumiverse_scaleway/observability/get_plan.py +0 -90
  41. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0a1752171288.dist-info}/WHEEL +0 -0
  42. {pulumiverse_scaleway-1.30.0a1752168858.dist-info → pulumiverse_scaleway-1.31.0a1752171288.dist-info}/top_level.txt +0 -0
@@ -142,6 +142,8 @@ class AclMatch(dict):
142
142
  suggest = "http_filter_values"
143
143
  elif key == "ipSubnets":
144
144
  suggest = "ip_subnets"
145
+ elif key == "ipsEdgeServices":
146
+ suggest = "ips_edge_services"
145
147
 
146
148
  if suggest:
147
149
  pulumi.log.warn(f"Key '{key}' not found in AclMatch. Access the value via the '{suggest}' property getter instead.")
@@ -159,7 +161,8 @@ class AclMatch(dict):
159
161
  http_filter_option: Optional[builtins.str] = None,
160
162
  http_filter_values: Optional[Sequence[builtins.str]] = None,
161
163
  invert: Optional[builtins.bool] = None,
162
- ip_subnets: Optional[Sequence[builtins.str]] = None):
164
+ ip_subnets: Optional[Sequence[builtins.str]] = None,
165
+ ips_edge_services: Optional[builtins.bool] = None):
163
166
  """
164
167
  :param builtins.str http_filter: The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol.
165
168
  It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part).
@@ -168,7 +171,8 @@ class AclMatch(dict):
168
171
  :param Sequence[builtins.str] http_filter_values: A list of possible values to match for the given HTTP filter.
169
172
  Keep in mind that in the case of `http_header_match` the HTTP header field name is case insensitive.
170
173
  :param builtins.bool invert: If set to `true`, the condition will be of type "unless".
171
- :param Sequence[builtins.str] ip_subnets: A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
174
+ :param Sequence[builtins.str] ip_subnets: A list of IPs, or CIDR v4/v6 addresses of the session client, to match. Only one of `ip_subnet` and `ips_edge_services` should be specified.
175
+ :param builtins.bool ips_edge_services: Defines whether Edge Services IPs should be matched. Only one of `ip_subnet` and `ips_edge_services` should be specified.
172
176
  """
173
177
  if http_filter is not None:
174
178
  pulumi.set(__self__, "http_filter", http_filter)
@@ -180,6 +184,8 @@ class AclMatch(dict):
180
184
  pulumi.set(__self__, "invert", invert)
181
185
  if ip_subnets is not None:
182
186
  pulumi.set(__self__, "ip_subnets", ip_subnets)
187
+ if ips_edge_services is not None:
188
+ pulumi.set(__self__, "ips_edge_services", ips_edge_services)
183
189
 
184
190
  @property
185
191
  @pulumi.getter(name="httpFilter")
@@ -220,10 +226,18 @@ class AclMatch(dict):
220
226
  @pulumi.getter(name="ipSubnets")
221
227
  def ip_subnets(self) -> Optional[Sequence[builtins.str]]:
222
228
  """
223
- A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
229
+ A list of IPs, or CIDR v4/v6 addresses of the session client, to match. Only one of `ip_subnet` and `ips_edge_services` should be specified.
224
230
  """
225
231
  return pulumi.get(self, "ip_subnets")
226
232
 
233
+ @property
234
+ @pulumi.getter(name="ipsEdgeServices")
235
+ def ips_edge_services(self) -> Optional[builtins.bool]:
236
+ """
237
+ Defines whether Edge Services IPs should be matched. Only one of `ip_subnet` and `ips_edge_services` should be specified.
238
+ """
239
+ return pulumi.get(self, "ips_edge_services")
240
+
227
241
 
228
242
  @pulumi.output_type
229
243
  class BackendHealthCheckHttp(dict):
@@ -499,7 +513,7 @@ class FrontendAcl(dict):
499
513
  updated_at: Optional[builtins.str] = None):
500
514
  """
501
515
  :param 'FrontendAclActionArgs' action: Action to undertake when an ACL filter matches.
502
- :param 'FrontendAclMatchArgs' match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
516
+ :param 'FrontendAclMatchArgs' match: The ACL match rule. At least `ip_subnet` or `ips_edge_services` or `http_filter` and `http_filter_value` are required.
503
517
  :param builtins.str created_at: IsDate and time of ACL's creation (RFC 3339 format)
504
518
  :param builtins.str description: Description of the ACL
505
519
  :param builtins.str name: The ACL name. If not provided it will be randomly generated.
@@ -528,7 +542,7 @@ class FrontendAcl(dict):
528
542
  @pulumi.getter
529
543
  def match(self) -> 'outputs.FrontendAclMatch':
530
544
  """
531
- The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
545
+ The ACL match rule. At least `ip_subnet` or `ips_edge_services` or `http_filter` and `http_filter_value` are required.
532
546
  """
533
547
  return pulumi.get(self, "match")
534
548
 
@@ -651,6 +665,8 @@ class FrontendAclMatch(dict):
651
665
  suggest = "http_filter_values"
652
666
  elif key == "ipSubnets":
653
667
  suggest = "ip_subnets"
668
+ elif key == "ipsEdgeServices":
669
+ suggest = "ips_edge_services"
654
670
 
655
671
  if suggest:
656
672
  pulumi.log.warn(f"Key '{key}' not found in FrontendAclMatch. Access the value via the '{suggest}' property getter instead.")
@@ -668,7 +684,8 @@ class FrontendAclMatch(dict):
668
684
  http_filter_option: Optional[builtins.str] = None,
669
685
  http_filter_values: Optional[Sequence[builtins.str]] = None,
670
686
  invert: Optional[builtins.bool] = None,
671
- ip_subnets: Optional[Sequence[builtins.str]] = None):
687
+ ip_subnets: Optional[Sequence[builtins.str]] = None,
688
+ ips_edge_services: Optional[builtins.bool] = None):
672
689
  """
673
690
  :param builtins.str http_filter: The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol.
674
691
  It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part).
@@ -677,7 +694,8 @@ class FrontendAclMatch(dict):
677
694
  :param Sequence[builtins.str] http_filter_values: A list of possible values to match for the given HTTP filter.
678
695
  Keep in mind that in the case of `http_header_match` the HTTP header field name is case insensitive.
679
696
  :param builtins.bool invert: If set to `true`, the condition will be of type "unless".
680
- :param Sequence[builtins.str] ip_subnets: A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
697
+ :param Sequence[builtins.str] ip_subnets: A list of IPs, or CIDR v4/v6 addresses of the session client, to match. Only one of `ip_subnet` and `ips_edge_services` should be specified.
698
+ :param builtins.bool ips_edge_services: Defines whether Edge Services IPs should be matched. Only one of `ip_subnet` and `ips_edge_services` should be specified.
681
699
  """
682
700
  if http_filter is not None:
683
701
  pulumi.set(__self__, "http_filter", http_filter)
@@ -689,6 +707,8 @@ class FrontendAclMatch(dict):
689
707
  pulumi.set(__self__, "invert", invert)
690
708
  if ip_subnets is not None:
691
709
  pulumi.set(__self__, "ip_subnets", ip_subnets)
710
+ if ips_edge_services is not None:
711
+ pulumi.set(__self__, "ips_edge_services", ips_edge_services)
692
712
 
693
713
  @property
694
714
  @pulumi.getter(name="httpFilter")
@@ -729,10 +749,18 @@ class FrontendAclMatch(dict):
729
749
  @pulumi.getter(name="ipSubnets")
730
750
  def ip_subnets(self) -> Optional[Sequence[builtins.str]]:
731
751
  """
732
- A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
752
+ A list of IPs, or CIDR v4/v6 addresses of the session client, to match. Only one of `ip_subnet` and `ips_edge_services` should be specified.
733
753
  """
734
754
  return pulumi.get(self, "ip_subnets")
735
755
 
756
+ @property
757
+ @pulumi.getter(name="ipsEdgeServices")
758
+ def ips_edge_services(self) -> Optional[builtins.bool]:
759
+ """
760
+ Defines whether Edge Services IPs should be matched. Only one of `ip_subnet` and `ips_edge_services` should be specified.
761
+ """
762
+ return pulumi.get(self, "ips_edge_services")
763
+
736
764
 
737
765
  @pulumi.output_type
738
766
  class LoadBalancerPrivateIp(dict):
@@ -1056,19 +1084,22 @@ class GetAclsAclMatchResult(dict):
1056
1084
  http_filter_option: builtins.str,
1057
1085
  http_filter_values: Sequence[builtins.str],
1058
1086
  invert: builtins.bool,
1059
- ip_subnets: Sequence[builtins.str]):
1087
+ ip_subnets: Sequence[builtins.str],
1088
+ ips_edge_services: builtins.bool):
1060
1089
  """
1061
1090
  :param builtins.str http_filter: The HTTP filter to match.
1062
1091
  :param builtins.str http_filter_option: A list of possible values for the HTTP filter based on the HTTP header.
1063
1092
  :param Sequence[builtins.str] http_filter_values: The possible values to match for a given HTTP filter.
1064
1093
  :param builtins.bool invert: The condition will be of type "unless" if invert is set to `true`
1065
1094
  :param Sequence[builtins.str] ip_subnets: A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
1095
+ :param builtins.bool ips_edge_services: Defines whether Edge Services IPs should be matched.
1066
1096
  """
1067
1097
  pulumi.set(__self__, "http_filter", http_filter)
1068
1098
  pulumi.set(__self__, "http_filter_option", http_filter_option)
1069
1099
  pulumi.set(__self__, "http_filter_values", http_filter_values)
1070
1100
  pulumi.set(__self__, "invert", invert)
1071
1101
  pulumi.set(__self__, "ip_subnets", ip_subnets)
1102
+ pulumi.set(__self__, "ips_edge_services", ips_edge_services)
1072
1103
 
1073
1104
  @property
1074
1105
  @pulumi.getter(name="httpFilter")
@@ -1110,6 +1141,14 @@ class GetAclsAclMatchResult(dict):
1110
1141
  """
1111
1142
  return pulumi.get(self, "ip_subnets")
1112
1143
 
1144
+ @property
1145
+ @pulumi.getter(name="ipsEdgeServices")
1146
+ def ips_edge_services(self) -> builtins.bool:
1147
+ """
1148
+ Defines whether Edge Services IPs should be matched.
1149
+ """
1150
+ return pulumi.get(self, "ips_edge_services")
1151
+
1113
1152
 
1114
1153
  @pulumi.output_type
1115
1154
  class GetBackendHealthCheckHttpResult(dict):
@@ -1738,19 +1777,22 @@ class GetFrontendAclMatchResult(dict):
1738
1777
  http_filter_option: builtins.str,
1739
1778
  http_filter_values: Sequence[builtins.str],
1740
1779
  invert: builtins.bool,
1741
- ip_subnets: Sequence[builtins.str]):
1780
+ ip_subnets: Sequence[builtins.str],
1781
+ ips_edge_services: builtins.bool):
1742
1782
  """
1743
1783
  :param builtins.str http_filter: The HTTP filter to match
1744
1784
  :param builtins.str http_filter_option: You can use this field with http_header_match acl type to set the header name to filter
1745
1785
  :param Sequence[builtins.str] http_filter_values: A list of possible values to match for the given HTTP filter
1746
1786
  :param builtins.bool invert: If set to true, the condition will be of type "unless"
1747
1787
  :param Sequence[builtins.str] ip_subnets: A list of IPs or CIDR v4/v6 addresses of the client of the session to match
1788
+ :param builtins.bool ips_edge_services: Defines whether Edge Services IPs should be matched
1748
1789
  """
1749
1790
  pulumi.set(__self__, "http_filter", http_filter)
1750
1791
  pulumi.set(__self__, "http_filter_option", http_filter_option)
1751
1792
  pulumi.set(__self__, "http_filter_values", http_filter_values)
1752
1793
  pulumi.set(__self__, "invert", invert)
1753
1794
  pulumi.set(__self__, "ip_subnets", ip_subnets)
1795
+ pulumi.set(__self__, "ips_edge_services", ips_edge_services)
1754
1796
 
1755
1797
  @property
1756
1798
  @pulumi.getter(name="httpFilter")
@@ -1792,6 +1834,14 @@ class GetFrontendAclMatchResult(dict):
1792
1834
  """
1793
1835
  return pulumi.get(self, "ip_subnets")
1794
1836
 
1837
+ @property
1838
+ @pulumi.getter(name="ipsEdgeServices")
1839
+ def ips_edge_services(self) -> builtins.bool:
1840
+ """
1841
+ Defines whether Edge Services IPs should be matched
1842
+ """
1843
+ return pulumi.get(self, "ips_edge_services")
1844
+
1795
1845
 
1796
1846
  @pulumi.output_type
1797
1847
  class GetFrontendsFrontendResult(dict):
@@ -28,10 +28,13 @@ class GetPrivateNetworkResult:
28
28
  """
29
29
  A collection of values returned by getPrivateNetwork.
30
30
  """
31
- def __init__(__self__, created_at=None, id=None, ipv4_subnets=None, ipv6_subnets=None, is_regional=None, name=None, organization_id=None, private_network_id=None, project_id=None, region=None, tags=None, updated_at=None, vpc_id=None, zone=None):
31
+ def __init__(__self__, created_at=None, enable_default_route_propagation=None, id=None, ipv4_subnets=None, ipv6_subnets=None, is_regional=None, name=None, organization_id=None, private_network_id=None, project_id=None, region=None, tags=None, updated_at=None, vpc_id=None, zone=None):
32
32
  if created_at and not isinstance(created_at, str):
33
33
  raise TypeError("Expected argument 'created_at' to be a str")
34
34
  pulumi.set(__self__, "created_at", created_at)
35
+ if enable_default_route_propagation and not isinstance(enable_default_route_propagation, bool):
36
+ raise TypeError("Expected argument 'enable_default_route_propagation' to be a bool")
37
+ pulumi.set(__self__, "enable_default_route_propagation", enable_default_route_propagation)
35
38
  if id and not isinstance(id, str):
36
39
  raise TypeError("Expected argument 'id' to be a str")
37
40
  pulumi.set(__self__, "id", id)
@@ -77,6 +80,11 @@ class GetPrivateNetworkResult:
77
80
  def created_at(self) -> builtins.str:
78
81
  return pulumi.get(self, "created_at")
79
82
 
83
+ @property
84
+ @pulumi.getter(name="enableDefaultRoutePropagation")
85
+ def enable_default_route_propagation(self) -> builtins.bool:
86
+ return pulumi.get(self, "enable_default_route_propagation")
87
+
80
88
  @property
81
89
  @pulumi.getter
82
90
  def id(self) -> builtins.str:
@@ -159,6 +167,7 @@ class AwaitableGetPrivateNetworkResult(GetPrivateNetworkResult):
159
167
  yield self
160
168
  return GetPrivateNetworkResult(
161
169
  created_at=self.created_at,
170
+ enable_default_route_propagation=self.enable_default_route_propagation,
162
171
  id=self.id,
163
172
  ipv4_subnets=self.ipv4_subnets,
164
173
  ipv6_subnets=self.ipv6_subnets,
@@ -215,6 +224,7 @@ def get_private_network(name: Optional[builtins.str] = None,
215
224
 
216
225
  return AwaitableGetPrivateNetworkResult(
217
226
  created_at=pulumi.get(__ret__, 'created_at'),
227
+ enable_default_route_propagation=pulumi.get(__ret__, 'enable_default_route_propagation'),
218
228
  id=pulumi.get(__ret__, 'id'),
219
229
  ipv4_subnets=pulumi.get(__ret__, 'ipv4_subnets'),
220
230
  ipv6_subnets=pulumi.get(__ret__, 'ipv6_subnets'),
@@ -268,6 +278,7 @@ def get_private_network_output(name: Optional[pulumi.Input[Optional[builtins.str
268
278
  __ret__ = pulumi.runtime.invoke_output('scaleway:network/getPrivateNetwork:getPrivateNetwork', __args__, opts=opts, typ=GetPrivateNetworkResult)
269
279
  return __ret__.apply(lambda __response__: GetPrivateNetworkResult(
270
280
  created_at=pulumi.get(__response__, 'created_at'),
281
+ enable_default_route_propagation=pulumi.get(__response__, 'enable_default_route_propagation'),
271
282
  id=pulumi.get(__response__, 'id'),
272
283
  ipv4_subnets=pulumi.get(__response__, 'ipv4_subnets'),
273
284
  ipv6_subnets=pulumi.get(__response__, 'ipv6_subnets'),
@@ -27,10 +27,13 @@ class GetVpcResult:
27
27
  """
28
28
  A collection of values returned by getVpc.
29
29
  """
30
- def __init__(__self__, created_at=None, enable_routing=None, id=None, is_default=None, name=None, organization_id=None, project_id=None, region=None, tags=None, updated_at=None, vpc_id=None):
30
+ def __init__(__self__, created_at=None, enable_custom_routes_propagation=None, enable_routing=None, id=None, is_default=None, name=None, organization_id=None, project_id=None, region=None, tags=None, updated_at=None, vpc_id=None):
31
31
  if created_at and not isinstance(created_at, str):
32
32
  raise TypeError("Expected argument 'created_at' to be a str")
33
33
  pulumi.set(__self__, "created_at", created_at)
34
+ if enable_custom_routes_propagation and not isinstance(enable_custom_routes_propagation, bool):
35
+ raise TypeError("Expected argument 'enable_custom_routes_propagation' to be a bool")
36
+ pulumi.set(__self__, "enable_custom_routes_propagation", enable_custom_routes_propagation)
34
37
  if enable_routing and not isinstance(enable_routing, bool):
35
38
  raise TypeError("Expected argument 'enable_routing' to be a bool")
36
39
  pulumi.set(__self__, "enable_routing", enable_routing)
@@ -67,6 +70,11 @@ class GetVpcResult:
67
70
  def created_at(self) -> builtins.str:
68
71
  return pulumi.get(self, "created_at")
69
72
 
73
+ @property
74
+ @pulumi.getter(name="enableCustomRoutesPropagation")
75
+ def enable_custom_routes_propagation(self) -> builtins.bool:
76
+ return pulumi.get(self, "enable_custom_routes_propagation")
77
+
70
78
  @property
71
79
  @pulumi.getter(name="enableRouting")
72
80
  def enable_routing(self) -> builtins.bool:
@@ -128,6 +136,7 @@ class AwaitableGetVpcResult(GetVpcResult):
128
136
  yield self
129
137
  return GetVpcResult(
130
138
  created_at=self.created_at,
139
+ enable_custom_routes_propagation=self.enable_custom_routes_propagation,
131
140
  enable_routing=self.enable_routing,
132
141
  id=self.id,
133
142
  is_default=self.is_default,
@@ -183,6 +192,7 @@ def get_vpc(is_default: Optional[builtins.bool] = None,
183
192
 
184
193
  return AwaitableGetVpcResult(
185
194
  created_at=pulumi.get(__ret__, 'created_at'),
195
+ enable_custom_routes_propagation=pulumi.get(__ret__, 'enable_custom_routes_propagation'),
186
196
  enable_routing=pulumi.get(__ret__, 'enable_routing'),
187
197
  id=pulumi.get(__ret__, 'id'),
188
198
  is_default=pulumi.get(__ret__, 'is_default'),
@@ -235,6 +245,7 @@ def get_vpc_output(is_default: Optional[pulumi.Input[Optional[builtins.bool]]] =
235
245
  __ret__ = pulumi.runtime.invoke_output('scaleway:network/getVpc:getVpc', __args__, opts=opts, typ=GetVpcResult)
236
246
  return __ret__.apply(lambda __response__: GetVpcResult(
237
247
  created_at=pulumi.get(__response__, 'created_at'),
248
+ enable_custom_routes_propagation=pulumi.get(__response__, 'enable_custom_routes_propagation'),
238
249
  enable_routing=pulumi.get(__response__, 'enable_routing'),
239
250
  id=pulumi.get(__response__, 'id'),
240
251
  is_default=pulumi.get(__response__, 'is_default'),
@@ -22,6 +22,7 @@ __all__ = ['PrivateNetworkArgs', 'PrivateNetwork']
22
22
  @pulumi.input_type
23
23
  class PrivateNetworkArgs:
24
24
  def __init__(__self__, *,
25
+ enable_default_route_propagation: Optional[pulumi.Input[builtins.bool]] = None,
25
26
  ipv4_subnet: Optional[pulumi.Input['PrivateNetworkIpv4SubnetArgs']] = None,
26
27
  ipv6_subnets: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNetworkIpv6SubnetArgs']]]] = None,
27
28
  is_regional: Optional[pulumi.Input[builtins.bool]] = None,
@@ -33,6 +34,7 @@ class PrivateNetworkArgs:
33
34
  zone: Optional[pulumi.Input[builtins.str]] = None):
34
35
  """
35
36
  The set of arguments for constructing a PrivateNetwork resource.
37
+ :param pulumi.Input[builtins.bool] enable_default_route_propagation: Defines whether default v4 and v6 routes are propagated for this Private Network.
36
38
  :param pulumi.Input['PrivateNetworkIpv4SubnetArgs'] ipv4_subnet: The IPv4 subnet to associate with the Private Network.
37
39
  :param pulumi.Input[Sequence[pulumi.Input['PrivateNetworkIpv6SubnetArgs']]] ipv6_subnets: The IPv6 subnets to associate with the private network.
38
40
  :param pulumi.Input[builtins.bool] is_regional: Private Networks are now all necessarily regional.
@@ -43,6 +45,8 @@ class PrivateNetworkArgs:
43
45
  :param pulumi.Input[builtins.str] vpc_id: The VPC in which to create the Private Network.
44
46
  :param pulumi.Input[builtins.str] zone: Use `region` instead.
45
47
  """
48
+ if enable_default_route_propagation is not None:
49
+ pulumi.set(__self__, "enable_default_route_propagation", enable_default_route_propagation)
46
50
  if ipv4_subnet is not None:
47
51
  pulumi.set(__self__, "ipv4_subnet", ipv4_subnet)
48
52
  if ipv6_subnets is not None:
@@ -68,6 +72,18 @@ class PrivateNetworkArgs:
68
72
  if zone is not None:
69
73
  pulumi.set(__self__, "zone", zone)
70
74
 
75
+ @property
76
+ @pulumi.getter(name="enableDefaultRoutePropagation")
77
+ def enable_default_route_propagation(self) -> Optional[pulumi.Input[builtins.bool]]:
78
+ """
79
+ Defines whether default v4 and v6 routes are propagated for this Private Network.
80
+ """
81
+ return pulumi.get(self, "enable_default_route_propagation")
82
+
83
+ @enable_default_route_propagation.setter
84
+ def enable_default_route_propagation(self, value: Optional[pulumi.Input[builtins.bool]]):
85
+ pulumi.set(self, "enable_default_route_propagation", value)
86
+
71
87
  @property
72
88
  @pulumi.getter(name="ipv4Subnet")
73
89
  def ipv4_subnet(self) -> Optional[pulumi.Input['PrivateNetworkIpv4SubnetArgs']]:
@@ -183,6 +199,7 @@ class PrivateNetworkArgs:
183
199
  class _PrivateNetworkState:
184
200
  def __init__(__self__, *,
185
201
  created_at: Optional[pulumi.Input[builtins.str]] = None,
202
+ enable_default_route_propagation: Optional[pulumi.Input[builtins.bool]] = None,
186
203
  ipv4_subnet: Optional[pulumi.Input['PrivateNetworkIpv4SubnetArgs']] = None,
187
204
  ipv6_subnets: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNetworkIpv6SubnetArgs']]]] = None,
188
205
  is_regional: Optional[pulumi.Input[builtins.bool]] = None,
@@ -197,6 +214,7 @@ class _PrivateNetworkState:
197
214
  """
198
215
  Input properties used for looking up and filtering PrivateNetwork resources.
199
216
  :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the subnet.
217
+ :param pulumi.Input[builtins.bool] enable_default_route_propagation: Defines whether default v4 and v6 routes are propagated for this Private Network.
200
218
  :param pulumi.Input['PrivateNetworkIpv4SubnetArgs'] ipv4_subnet: The IPv4 subnet to associate with the Private Network.
201
219
  :param pulumi.Input[Sequence[pulumi.Input['PrivateNetworkIpv6SubnetArgs']]] ipv6_subnets: The IPv6 subnets to associate with the private network.
202
220
  :param pulumi.Input[builtins.bool] is_regional: Private Networks are now all necessarily regional.
@@ -211,6 +229,8 @@ class _PrivateNetworkState:
211
229
  """
212
230
  if created_at is not None:
213
231
  pulumi.set(__self__, "created_at", created_at)
232
+ if enable_default_route_propagation is not None:
233
+ pulumi.set(__self__, "enable_default_route_propagation", enable_default_route_propagation)
214
234
  if ipv4_subnet is not None:
215
235
  pulumi.set(__self__, "ipv4_subnet", ipv4_subnet)
216
236
  if ipv6_subnets is not None:
@@ -252,6 +272,18 @@ class _PrivateNetworkState:
252
272
  def created_at(self, value: Optional[pulumi.Input[builtins.str]]):
253
273
  pulumi.set(self, "created_at", value)
254
274
 
275
+ @property
276
+ @pulumi.getter(name="enableDefaultRoutePropagation")
277
+ def enable_default_route_propagation(self) -> Optional[pulumi.Input[builtins.bool]]:
278
+ """
279
+ Defines whether default v4 and v6 routes are propagated for this Private Network.
280
+ """
281
+ return pulumi.get(self, "enable_default_route_propagation")
282
+
283
+ @enable_default_route_propagation.setter
284
+ def enable_default_route_propagation(self, value: Optional[pulumi.Input[builtins.bool]]):
285
+ pulumi.set(self, "enable_default_route_propagation", value)
286
+
255
287
  @property
256
288
  @pulumi.getter(name="ipv4Subnet")
257
289
  def ipv4_subnet(self) -> Optional[pulumi.Input['PrivateNetworkIpv4SubnetArgs']]:
@@ -393,6 +425,7 @@ class PrivateNetwork(pulumi.CustomResource):
393
425
  def __init__(__self__,
394
426
  resource_name: str,
395
427
  opts: Optional[pulumi.ResourceOptions] = None,
428
+ enable_default_route_propagation: Optional[pulumi.Input[builtins.bool]] = None,
396
429
  ipv4_subnet: Optional[pulumi.Input[Union['PrivateNetworkIpv4SubnetArgs', 'PrivateNetworkIpv4SubnetArgsDict']]] = None,
397
430
  ipv6_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNetworkIpv6SubnetArgs', 'PrivateNetworkIpv6SubnetArgsDict']]]]] = None,
398
431
  is_regional: Optional[pulumi.Input[builtins.bool]] = None,
@@ -460,6 +493,7 @@ class PrivateNetwork(pulumi.CustomResource):
460
493
 
461
494
  :param str resource_name: The name of the resource.
462
495
  :param pulumi.ResourceOptions opts: Options for the resource.
496
+ :param pulumi.Input[builtins.bool] enable_default_route_propagation: Defines whether default v4 and v6 routes are propagated for this Private Network.
463
497
  :param pulumi.Input[Union['PrivateNetworkIpv4SubnetArgs', 'PrivateNetworkIpv4SubnetArgsDict']] ipv4_subnet: The IPv4 subnet to associate with the Private Network.
464
498
  :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateNetworkIpv6SubnetArgs', 'PrivateNetworkIpv6SubnetArgsDict']]]] ipv6_subnets: The IPv6 subnets to associate with the private network.
465
499
  :param pulumi.Input[builtins.bool] is_regional: Private Networks are now all necessarily regional.
@@ -546,6 +580,7 @@ class PrivateNetwork(pulumi.CustomResource):
546
580
  def _internal_init(__self__,
547
581
  resource_name: str,
548
582
  opts: Optional[pulumi.ResourceOptions] = None,
583
+ enable_default_route_propagation: Optional[pulumi.Input[builtins.bool]] = None,
549
584
  ipv4_subnet: Optional[pulumi.Input[Union['PrivateNetworkIpv4SubnetArgs', 'PrivateNetworkIpv4SubnetArgsDict']]] = None,
550
585
  ipv6_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNetworkIpv6SubnetArgs', 'PrivateNetworkIpv6SubnetArgsDict']]]]] = None,
551
586
  is_regional: Optional[pulumi.Input[builtins.bool]] = None,
@@ -564,6 +599,7 @@ class PrivateNetwork(pulumi.CustomResource):
564
599
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
565
600
  __props__ = PrivateNetworkArgs.__new__(PrivateNetworkArgs)
566
601
 
602
+ __props__.__dict__["enable_default_route_propagation"] = enable_default_route_propagation
567
603
  __props__.__dict__["ipv4_subnet"] = ipv4_subnet
568
604
  __props__.__dict__["ipv6_subnets"] = ipv6_subnets
569
605
  __props__.__dict__["is_regional"] = is_regional
@@ -589,6 +625,7 @@ class PrivateNetwork(pulumi.CustomResource):
589
625
  id: pulumi.Input[str],
590
626
  opts: Optional[pulumi.ResourceOptions] = None,
591
627
  created_at: Optional[pulumi.Input[builtins.str]] = None,
628
+ enable_default_route_propagation: Optional[pulumi.Input[builtins.bool]] = None,
592
629
  ipv4_subnet: Optional[pulumi.Input[Union['PrivateNetworkIpv4SubnetArgs', 'PrivateNetworkIpv4SubnetArgsDict']]] = None,
593
630
  ipv6_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNetworkIpv6SubnetArgs', 'PrivateNetworkIpv6SubnetArgsDict']]]]] = None,
594
631
  is_regional: Optional[pulumi.Input[builtins.bool]] = None,
@@ -608,6 +645,7 @@ class PrivateNetwork(pulumi.CustomResource):
608
645
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
609
646
  :param pulumi.ResourceOptions opts: Options for the resource.
610
647
  :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the subnet.
648
+ :param pulumi.Input[builtins.bool] enable_default_route_propagation: Defines whether default v4 and v6 routes are propagated for this Private Network.
611
649
  :param pulumi.Input[Union['PrivateNetworkIpv4SubnetArgs', 'PrivateNetworkIpv4SubnetArgsDict']] ipv4_subnet: The IPv4 subnet to associate with the Private Network.
612
650
  :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateNetworkIpv6SubnetArgs', 'PrivateNetworkIpv6SubnetArgsDict']]]] ipv6_subnets: The IPv6 subnets to associate with the private network.
613
651
  :param pulumi.Input[builtins.bool] is_regional: Private Networks are now all necessarily regional.
@@ -625,6 +663,7 @@ class PrivateNetwork(pulumi.CustomResource):
625
663
  __props__ = _PrivateNetworkState.__new__(_PrivateNetworkState)
626
664
 
627
665
  __props__.__dict__["created_at"] = created_at
666
+ __props__.__dict__["enable_default_route_propagation"] = enable_default_route_propagation
628
667
  __props__.__dict__["ipv4_subnet"] = ipv4_subnet
629
668
  __props__.__dict__["ipv6_subnets"] = ipv6_subnets
630
669
  __props__.__dict__["is_regional"] = is_regional
@@ -646,6 +685,14 @@ class PrivateNetwork(pulumi.CustomResource):
646
685
  """
647
686
  return pulumi.get(self, "created_at")
648
687
 
688
+ @property
689
+ @pulumi.getter(name="enableDefaultRoutePropagation")
690
+ def enable_default_route_propagation(self) -> pulumi.Output[builtins.bool]:
691
+ """
692
+ Defines whether default v4 and v6 routes are propagated for this Private Network.
693
+ """
694
+ return pulumi.get(self, "enable_default_route_propagation")
695
+
649
696
  @property
650
697
  @pulumi.getter(name="ipv4Subnet")
651
698
  def ipv4_subnet(self) -> pulumi.Output['outputs.PrivateNetworkIpv4Subnet']:
@@ -20,6 +20,7 @@ __all__ = ['VpcArgs', 'Vpc']
20
20
  @pulumi.input_type
21
21
  class VpcArgs:
22
22
  def __init__(__self__, *,
23
+ enable_custom_routes_propagation: Optional[pulumi.Input[builtins.bool]] = None,
23
24
  enable_routing: Optional[pulumi.Input[builtins.bool]] = None,
24
25
  name: Optional[pulumi.Input[builtins.str]] = None,
25
26
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -27,12 +28,15 @@ class VpcArgs:
27
28
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
28
29
  """
29
30
  The set of arguments for constructing a Vpc resource.
31
+ :param pulumi.Input[builtins.bool] enable_custom_routes_propagation: Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
30
32
  :param pulumi.Input[builtins.bool] enable_routing: Enable routing between Private Networks in the VPC. Note that you will not be able to deactivate it afterwards.
31
33
  :param pulumi.Input[builtins.str] name: The name for the VPC. If not provided it will be randomly generated.
32
34
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the VPC is associated with.
33
35
  :param pulumi.Input[builtins.str] region: `region`) The region of the VPC.
34
36
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags to associate with the VPC.
35
37
  """
38
+ if enable_custom_routes_propagation is not None:
39
+ pulumi.set(__self__, "enable_custom_routes_propagation", enable_custom_routes_propagation)
36
40
  if enable_routing is not None:
37
41
  pulumi.set(__self__, "enable_routing", enable_routing)
38
42
  if name is not None:
@@ -44,6 +48,18 @@ class VpcArgs:
44
48
  if tags is not None:
45
49
  pulumi.set(__self__, "tags", tags)
46
50
 
51
+ @property
52
+ @pulumi.getter(name="enableCustomRoutesPropagation")
53
+ def enable_custom_routes_propagation(self) -> Optional[pulumi.Input[builtins.bool]]:
54
+ """
55
+ Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
56
+ """
57
+ return pulumi.get(self, "enable_custom_routes_propagation")
58
+
59
+ @enable_custom_routes_propagation.setter
60
+ def enable_custom_routes_propagation(self, value: Optional[pulumi.Input[builtins.bool]]):
61
+ pulumi.set(self, "enable_custom_routes_propagation", value)
62
+
47
63
  @property
48
64
  @pulumi.getter(name="enableRouting")
49
65
  def enable_routing(self) -> Optional[pulumi.Input[builtins.bool]]:
@@ -109,6 +125,7 @@ class VpcArgs:
109
125
  class _VpcState:
110
126
  def __init__(__self__, *,
111
127
  created_at: Optional[pulumi.Input[builtins.str]] = None,
128
+ enable_custom_routes_propagation: Optional[pulumi.Input[builtins.bool]] = None,
112
129
  enable_routing: Optional[pulumi.Input[builtins.bool]] = None,
113
130
  is_default: Optional[pulumi.Input[builtins.bool]] = None,
114
131
  name: Optional[pulumi.Input[builtins.str]] = None,
@@ -120,6 +137,7 @@ class _VpcState:
120
137
  """
121
138
  Input properties used for looking up and filtering Vpc resources.
122
139
  :param pulumi.Input[builtins.str] created_at: Date and time of VPC's creation (RFC 3339 format).
140
+ :param pulumi.Input[builtins.bool] enable_custom_routes_propagation: Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
123
141
  :param pulumi.Input[builtins.bool] enable_routing: Enable routing between Private Networks in the VPC. Note that you will not be able to deactivate it afterwards.
124
142
  :param pulumi.Input[builtins.bool] is_default: Defines whether the VPC is the default one for its Project.
125
143
  :param pulumi.Input[builtins.str] name: The name for the VPC. If not provided it will be randomly generated.
@@ -131,6 +149,8 @@ class _VpcState:
131
149
  """
132
150
  if created_at is not None:
133
151
  pulumi.set(__self__, "created_at", created_at)
152
+ if enable_custom_routes_propagation is not None:
153
+ pulumi.set(__self__, "enable_custom_routes_propagation", enable_custom_routes_propagation)
134
154
  if enable_routing is not None:
135
155
  pulumi.set(__self__, "enable_routing", enable_routing)
136
156
  if is_default is not None:
@@ -160,6 +180,18 @@ class _VpcState:
160
180
  def created_at(self, value: Optional[pulumi.Input[builtins.str]]):
161
181
  pulumi.set(self, "created_at", value)
162
182
 
183
+ @property
184
+ @pulumi.getter(name="enableCustomRoutesPropagation")
185
+ def enable_custom_routes_propagation(self) -> Optional[pulumi.Input[builtins.bool]]:
186
+ """
187
+ Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
188
+ """
189
+ return pulumi.get(self, "enable_custom_routes_propagation")
190
+
191
+ @enable_custom_routes_propagation.setter
192
+ def enable_custom_routes_propagation(self, value: Optional[pulumi.Input[builtins.bool]]):
193
+ pulumi.set(self, "enable_custom_routes_propagation", value)
194
+
163
195
  @property
164
196
  @pulumi.getter(name="enableRouting")
165
197
  def enable_routing(self) -> Optional[pulumi.Input[builtins.bool]]:
@@ -263,6 +295,7 @@ class Vpc(pulumi.CustomResource):
263
295
  def __init__(__self__,
264
296
  resource_name: str,
265
297
  opts: Optional[pulumi.ResourceOptions] = None,
298
+ enable_custom_routes_propagation: Optional[pulumi.Input[builtins.bool]] = None,
266
299
  enable_routing: Optional[pulumi.Input[builtins.bool]] = None,
267
300
  name: Optional[pulumi.Input[builtins.str]] = None,
268
301
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -317,6 +350,7 @@ class Vpc(pulumi.CustomResource):
317
350
 
318
351
  :param str resource_name: The name of the resource.
319
352
  :param pulumi.ResourceOptions opts: Options for the resource.
353
+ :param pulumi.Input[builtins.bool] enable_custom_routes_propagation: Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
320
354
  :param pulumi.Input[builtins.bool] enable_routing: Enable routing between Private Networks in the VPC. Note that you will not be able to deactivate it afterwards.
321
355
  :param pulumi.Input[builtins.str] name: The name for the VPC. If not provided it will be randomly generated.
322
356
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the VPC is associated with.
@@ -390,6 +424,7 @@ class Vpc(pulumi.CustomResource):
390
424
  def _internal_init(__self__,
391
425
  resource_name: str,
392
426
  opts: Optional[pulumi.ResourceOptions] = None,
427
+ enable_custom_routes_propagation: Optional[pulumi.Input[builtins.bool]] = None,
393
428
  enable_routing: Optional[pulumi.Input[builtins.bool]] = None,
394
429
  name: Optional[pulumi.Input[builtins.str]] = None,
395
430
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -404,6 +439,7 @@ class Vpc(pulumi.CustomResource):
404
439
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
405
440
  __props__ = VpcArgs.__new__(VpcArgs)
406
441
 
442
+ __props__.__dict__["enable_custom_routes_propagation"] = enable_custom_routes_propagation
407
443
  __props__.__dict__["enable_routing"] = enable_routing
408
444
  __props__.__dict__["name"] = name
409
445
  __props__.__dict__["project_id"] = project_id
@@ -426,6 +462,7 @@ class Vpc(pulumi.CustomResource):
426
462
  id: pulumi.Input[str],
427
463
  opts: Optional[pulumi.ResourceOptions] = None,
428
464
  created_at: Optional[pulumi.Input[builtins.str]] = None,
465
+ enable_custom_routes_propagation: Optional[pulumi.Input[builtins.bool]] = None,
429
466
  enable_routing: Optional[pulumi.Input[builtins.bool]] = None,
430
467
  is_default: Optional[pulumi.Input[builtins.bool]] = None,
431
468
  name: Optional[pulumi.Input[builtins.str]] = None,
@@ -442,6 +479,7 @@ class Vpc(pulumi.CustomResource):
442
479
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
443
480
  :param pulumi.ResourceOptions opts: Options for the resource.
444
481
  :param pulumi.Input[builtins.str] created_at: Date and time of VPC's creation (RFC 3339 format).
482
+ :param pulumi.Input[builtins.bool] enable_custom_routes_propagation: Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
445
483
  :param pulumi.Input[builtins.bool] enable_routing: Enable routing between Private Networks in the VPC. Note that you will not be able to deactivate it afterwards.
446
484
  :param pulumi.Input[builtins.bool] is_default: Defines whether the VPC is the default one for its Project.
447
485
  :param pulumi.Input[builtins.str] name: The name for the VPC. If not provided it will be randomly generated.
@@ -456,6 +494,7 @@ class Vpc(pulumi.CustomResource):
456
494
  __props__ = _VpcState.__new__(_VpcState)
457
495
 
458
496
  __props__.__dict__["created_at"] = created_at
497
+ __props__.__dict__["enable_custom_routes_propagation"] = enable_custom_routes_propagation
459
498
  __props__.__dict__["enable_routing"] = enable_routing
460
499
  __props__.__dict__["is_default"] = is_default
461
500
  __props__.__dict__["name"] = name
@@ -474,6 +513,14 @@ class Vpc(pulumi.CustomResource):
474
513
  """
475
514
  return pulumi.get(self, "created_at")
476
515
 
516
+ @property
517
+ @pulumi.getter(name="enableCustomRoutesPropagation")
518
+ def enable_custom_routes_propagation(self) -> pulumi.Output[Optional[builtins.bool]]:
519
+ """
520
+ Defines whether the VPC advertises custom routes between its Private Networks. Note that you will not be able to deactivate it afterwards.
521
+ """
522
+ return pulumi.get(self, "enable_custom_routes_propagation")
523
+
477
524
  @property
478
525
  @pulumi.getter(name="enableRouting")
479
526
  def enable_routing(self) -> pulumi.Output[builtins.bool]: