cdktf-cdktf-provider-upcloud 14.1.1__py3-none-any.whl → 14.2.1__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.

Potentially problematic release.


This version of cdktf-cdktf-provider-upcloud might be problematic. Click here for more details.

Files changed (61) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +10 -3
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +5 -2
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.2.1.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +10 -7
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +10 -7
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +10 -7
  7. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_mysql_sessions/__init__.py +25 -22
  8. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +16 -13
  9. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_postgresql_sessions/__init__.py +33 -30
  10. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_redis_sessions/__init__.py +25 -22
  11. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_policies/__init__.py +13 -10
  12. cdktf_cdktf_provider_upcloud/data_upcloud_managed_object_storage_regions/__init__.py +10 -7
  13. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +16 -13
  14. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +28 -25
  15. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +10 -7
  16. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +13 -10
  17. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +13 -10
  18. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +44 -41
  19. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +22 -19
  20. cdktf_cdktf_provider_upcloud/gateway/__init__.py +254 -29
  21. cdktf_cdktf_provider_upcloud/gateway_connection/__init__.py +1279 -0
  22. cdktf_cdktf_provider_upcloud/gateway_connection_tunnel/__init__.py +1337 -0
  23. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +34 -31
  24. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +50 -47
  25. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +45 -42
  26. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +67 -64
  27. cdktf_cdktf_provider_upcloud/loadbalancer_backend_tls_config/__init__.py +19 -16
  28. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +31 -28
  29. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +19 -16
  30. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +42 -39
  31. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +196 -193
  32. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +19 -16
  33. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +22 -19
  34. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +34 -31
  35. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +31 -28
  36. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +22 -19
  37. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +192 -189
  38. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +336 -333
  39. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +348 -345
  40. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +120 -117
  41. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +53 -50
  42. cdktf_cdktf_provider_upcloud/managed_object_storage/__init__.py +33 -30
  43. cdktf_cdktf_provider_upcloud/managed_object_storage_policy/__init__.py +22 -19
  44. cdktf_cdktf_provider_upcloud/managed_object_storage_user/__init__.py +16 -13
  45. cdktf_cdktf_provider_upcloud/managed_object_storage_user_access_key/__init__.py +19 -16
  46. cdktf_cdktf_provider_upcloud/managed_object_storage_user_policy/__init__.py +19 -16
  47. cdktf_cdktf_provider_upcloud/network/__init__.py +43 -40
  48. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +33 -30
  49. cdktf_cdktf_provider_upcloud/provider/__init__.py +28 -25
  50. cdktf_cdktf_provider_upcloud/router/__init__.py +22 -19
  51. cdktf_cdktf_provider_upcloud/server/__init__.py +150 -147
  52. cdktf_cdktf_provider_upcloud/server_group/__init__.py +25 -22
  53. cdktf_cdktf_provider_upcloud/storage/__init__.py +61 -58
  54. cdktf_cdktf_provider_upcloud/tag/__init__.py +19 -16
  55. {cdktf_cdktf_provider_upcloud-14.1.1.dist-info → cdktf_cdktf_provider_upcloud-14.2.1.dist-info}/METADATA +5 -5
  56. cdktf_cdktf_provider_upcloud-14.2.1.dist-info/RECORD +60 -0
  57. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@14.1.1.jsii.tgz +0 -0
  58. cdktf_cdktf_provider_upcloud-14.1.1.dist-info/RECORD +0 -58
  59. {cdktf_cdktf_provider_upcloud-14.1.1.dist-info → cdktf_cdktf_provider_upcloud-14.2.1.dist-info}/LICENSE +0 -0
  60. {cdktf_cdktf_provider_upcloud-14.1.1.dist-info → cdktf_cdktf_provider_upcloud-14.2.1.dist-info}/WHEEL +0 -0
  61. {cdktf_cdktf_provider_upcloud-14.1.1.dist-info → cdktf_cdktf_provider_upcloud-14.2.1.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,11 @@
1
1
  '''
2
2
  # `upcloud_gateway`
3
3
 
4
- Refer to the Terraform Registry for docs: [`upcloud_gateway`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway).
4
+ Refer to the Terraform Registry for docs: [`upcloud_gateway`](https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway).
5
5
  '''
6
+ from pkgutil import extend_path
7
+ __path__ = extend_path(__path__, __name__)
8
+
6
9
  import abc
7
10
  import builtins
8
11
  import datetime
@@ -26,7 +29,7 @@ class Gateway(
26
29
  metaclass=jsii.JSIIMeta,
27
30
  jsii_type="@cdktf/provider-upcloud.gateway.Gateway",
28
31
  ):
29
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway upcloud_gateway}.'''
32
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway upcloud_gateway}.'''
30
33
 
31
34
  def __init__(
32
35
  self,
@@ -37,9 +40,11 @@ class Gateway(
37
40
  name: builtins.str,
38
41
  router: typing.Union["GatewayRouter", typing.Dict[builtins.str, typing.Any]],
39
42
  zone: builtins.str,
43
+ address: typing.Optional[typing.Union["GatewayAddress", typing.Dict[builtins.str, typing.Any]]] = None,
40
44
  configured_status: typing.Optional[builtins.str] = None,
41
45
  id: typing.Optional[builtins.str] = None,
42
46
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
47
+ plan: typing.Optional[builtins.str] = None,
43
48
  connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
44
49
  count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
45
50
  depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
@@ -48,17 +53,19 @@ class Gateway(
48
53
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
49
54
  provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
50
55
  ) -> None:
51
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway upcloud_gateway} Resource.
56
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway upcloud_gateway} Resource.
52
57
 
53
58
  :param scope: The scope in which to define this construct.
54
59
  :param id_: The scoped construct ID. Must be unique amongst siblings in the same scope
55
- :param features: Features enabled for the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#features Gateway#features}
56
- :param name: Gateway name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#name Gateway#name}
57
- :param router: router block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#router Gateway#router}
58
- :param zone: Zone in which the gateway will be hosted, e.g. ``de-fra1``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#zone Gateway#zone}
59
- :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#configured_status Gateway#configured_status}
60
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
61
- :param labels: Key-value pairs to classify the network gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#labels Gateway#labels}
60
+ :param features: Features enabled for the gateway. Note that VPN feature is currently in beta, for more details see https://upcloud.com/resources/docs/networking#nat-and-vpn-gateways. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#features Gateway#features}
61
+ :param name: Gateway name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
62
+ :param router: router block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#router Gateway#router}
63
+ :param zone: Zone in which the gateway will be hosted, e.g. ``de-fra1``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#zone Gateway#zone}
64
+ :param address: address block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#address Gateway#address}
65
+ :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#configured_status Gateway#configured_status}
66
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
67
+ :param labels: Key-value pairs to classify the network gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#labels Gateway#labels}
68
+ :param plan: Gateway pricing plan. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#plan Gateway#plan}
62
69
  :param connection:
63
70
  :param count:
64
71
  :param depends_on:
@@ -76,9 +83,11 @@ class Gateway(
76
83
  name=name,
77
84
  router=router,
78
85
  zone=zone,
86
+ address=address,
79
87
  configured_status=configured_status,
80
88
  id=id,
81
89
  labels=labels,
90
+ plan=plan,
82
91
  connection=connection,
83
92
  count=count,
84
93
  depends_on=depends_on,
@@ -103,7 +112,7 @@ class Gateway(
103
112
 
104
113
  :param scope: The scope in which to define this construct.
105
114
  :param import_to_id: The construct id used in the generated config for the Gateway to import.
106
- :param import_from_id: The id of the existing Gateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#import import section} in the documentation of this resource for the id to use
115
+ :param import_from_id: The id of the existing Gateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#import import section} in the documentation of this resource for the id to use
107
116
  :param provider: ? Optional instance of the provider where the Gateway to import is found.
108
117
  '''
109
118
  if __debug__:
@@ -114,15 +123,28 @@ class Gateway(
114
123
  check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
115
124
  return typing.cast(_cdktf_9a9027ec.ImportableResource, jsii.sinvoke(cls, "generateConfigForImport", [scope, import_to_id, import_from_id, provider]))
116
125
 
126
+ @jsii.member(jsii_name="putAddress")
127
+ def put_address(self, *, name: typing.Optional[builtins.str] = None) -> None:
128
+ '''
129
+ :param name: Name of the IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
130
+ '''
131
+ value = GatewayAddress(name=name)
132
+
133
+ return typing.cast(None, jsii.invoke(self, "putAddress", [value]))
134
+
117
135
  @jsii.member(jsii_name="putRouter")
118
136
  def put_router(self, *, id: builtins.str) -> None:
119
137
  '''
120
- :param id: ID of the router attached to the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id} Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
138
+ :param id: ID of the router attached to the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id} Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
121
139
  '''
122
140
  value = GatewayRouter(id=id)
123
141
 
124
142
  return typing.cast(None, jsii.invoke(self, "putRouter", [value]))
125
143
 
144
+ @jsii.member(jsii_name="resetAddress")
145
+ def reset_address(self) -> None:
146
+ return typing.cast(None, jsii.invoke(self, "resetAddress", []))
147
+
126
148
  @jsii.member(jsii_name="resetConfiguredStatus")
127
149
  def reset_configured_status(self) -> None:
128
150
  return typing.cast(None, jsii.invoke(self, "resetConfiguredStatus", []))
@@ -135,6 +157,10 @@ class Gateway(
135
157
  def reset_labels(self) -> None:
136
158
  return typing.cast(None, jsii.invoke(self, "resetLabels", []))
137
159
 
160
+ @jsii.member(jsii_name="resetPlan")
161
+ def reset_plan(self) -> None:
162
+ return typing.cast(None, jsii.invoke(self, "resetPlan", []))
163
+
138
164
  @jsii.member(jsii_name="synthesizeAttributes")
139
165
  def _synthesize_attributes(self) -> typing.Mapping[builtins.str, typing.Any]:
140
166
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "synthesizeAttributes", []))
@@ -148,11 +174,21 @@ class Gateway(
148
174
  def TF_RESOURCE_TYPE(cls) -> builtins.str:
149
175
  return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
150
176
 
177
+ @builtins.property
178
+ @jsii.member(jsii_name="address")
179
+ def address(self) -> "GatewayAddressOutputReference":
180
+ return typing.cast("GatewayAddressOutputReference", jsii.get(self, "address"))
181
+
151
182
  @builtins.property
152
183
  @jsii.member(jsii_name="addresses")
153
184
  def addresses(self) -> "GatewayAddressesList":
154
185
  return typing.cast("GatewayAddressesList", jsii.get(self, "addresses"))
155
186
 
187
+ @builtins.property
188
+ @jsii.member(jsii_name="connections")
189
+ def connections(self) -> typing.List[builtins.str]:
190
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "connections"))
191
+
156
192
  @builtins.property
157
193
  @jsii.member(jsii_name="operationalState")
158
194
  def operational_state(self) -> builtins.str:
@@ -163,6 +199,11 @@ class Gateway(
163
199
  def router(self) -> "GatewayRouterOutputReference":
164
200
  return typing.cast("GatewayRouterOutputReference", jsii.get(self, "router"))
165
201
 
202
+ @builtins.property
203
+ @jsii.member(jsii_name="addressInput")
204
+ def address_input(self) -> typing.Optional["GatewayAddress"]:
205
+ return typing.cast(typing.Optional["GatewayAddress"], jsii.get(self, "addressInput"))
206
+
166
207
  @builtins.property
167
208
  @jsii.member(jsii_name="configuredStatusInput")
168
209
  def configured_status_input(self) -> typing.Optional[builtins.str]:
@@ -190,6 +231,11 @@ class Gateway(
190
231
  def name_input(self) -> typing.Optional[builtins.str]:
191
232
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
192
233
 
234
+ @builtins.property
235
+ @jsii.member(jsii_name="planInput")
236
+ def plan_input(self) -> typing.Optional[builtins.str]:
237
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "planInput"))
238
+
193
239
  @builtins.property
194
240
  @jsii.member(jsii_name="routerInput")
195
241
  def router_input(self) -> typing.Optional["GatewayRouter"]:
@@ -260,6 +306,18 @@ class Gateway(
260
306
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
261
307
  jsii.set(self, "name", value)
262
308
 
309
+ @builtins.property
310
+ @jsii.member(jsii_name="plan")
311
+ def plan(self) -> builtins.str:
312
+ return typing.cast(builtins.str, jsii.get(self, "plan"))
313
+
314
+ @plan.setter
315
+ def plan(self, value: builtins.str) -> None:
316
+ if __debug__:
317
+ type_hints = typing.get_type_hints(_typecheckingstub__0b307de78f154fe1e545a75dde145014f3ed8f0b7beb3bd3d29a86cc3c0e8bfd)
318
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
319
+ jsii.set(self, "plan", value)
320
+
263
321
  @builtins.property
264
322
  @jsii.member(jsii_name="zone")
265
323
  def zone(self) -> builtins.str:
@@ -273,6 +331,103 @@ class Gateway(
273
331
  jsii.set(self, "zone", value)
274
332
 
275
333
 
334
+ @jsii.data_type(
335
+ jsii_type="@cdktf/provider-upcloud.gateway.GatewayAddress",
336
+ jsii_struct_bases=[],
337
+ name_mapping={"name": "name"},
338
+ )
339
+ class GatewayAddress:
340
+ def __init__(self, *, name: typing.Optional[builtins.str] = None) -> None:
341
+ '''
342
+ :param name: Name of the IP address. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
343
+ '''
344
+ if __debug__:
345
+ type_hints = typing.get_type_hints(_typecheckingstub__771f5bc182e7c8b4585492ead620a0562968d48a1a3c37c3e8d87c925e630939)
346
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
347
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
348
+ if name is not None:
349
+ self._values["name"] = name
350
+
351
+ @builtins.property
352
+ def name(self) -> typing.Optional[builtins.str]:
353
+ '''Name of the IP address.
354
+
355
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
356
+ '''
357
+ result = self._values.get("name")
358
+ return typing.cast(typing.Optional[builtins.str], result)
359
+
360
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
361
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
362
+
363
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
364
+ return not (rhs == self)
365
+
366
+ def __repr__(self) -> str:
367
+ return "GatewayAddress(%s)" % ", ".join(
368
+ k + "=" + repr(v) for k, v in self._values.items()
369
+ )
370
+
371
+
372
+ class GatewayAddressOutputReference(
373
+ _cdktf_9a9027ec.ComplexObject,
374
+ metaclass=jsii.JSIIMeta,
375
+ jsii_type="@cdktf/provider-upcloud.gateway.GatewayAddressOutputReference",
376
+ ):
377
+ def __init__(
378
+ self,
379
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
380
+ terraform_attribute: builtins.str,
381
+ ) -> None:
382
+ '''
383
+ :param terraform_resource: The parent resource.
384
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
385
+ '''
386
+ if __debug__:
387
+ type_hints = typing.get_type_hints(_typecheckingstub__2f0cb1fb5d87562b9ef4d57d6e06da990dabd09abdf9c31b58b20f617c495c94)
388
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
389
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
390
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
391
+
392
+ @jsii.member(jsii_name="resetName")
393
+ def reset_name(self) -> None:
394
+ return typing.cast(None, jsii.invoke(self, "resetName", []))
395
+
396
+ @builtins.property
397
+ @jsii.member(jsii_name="address")
398
+ def address(self) -> builtins.str:
399
+ return typing.cast(builtins.str, jsii.get(self, "address"))
400
+
401
+ @builtins.property
402
+ @jsii.member(jsii_name="nameInput")
403
+ def name_input(self) -> typing.Optional[builtins.str]:
404
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "nameInput"))
405
+
406
+ @builtins.property
407
+ @jsii.member(jsii_name="name")
408
+ def name(self) -> builtins.str:
409
+ return typing.cast(builtins.str, jsii.get(self, "name"))
410
+
411
+ @name.setter
412
+ def name(self, value: builtins.str) -> None:
413
+ if __debug__:
414
+ type_hints = typing.get_type_hints(_typecheckingstub__ab397d75aad46c35582789ea34fa8c898a72a9b2c3bd4525a1a8e9d3c9baaeb1)
415
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
416
+ jsii.set(self, "name", value)
417
+
418
+ @builtins.property
419
+ @jsii.member(jsii_name="internalValue")
420
+ def internal_value(self) -> typing.Optional[GatewayAddress]:
421
+ return typing.cast(typing.Optional[GatewayAddress], jsii.get(self, "internalValue"))
422
+
423
+ @internal_value.setter
424
+ def internal_value(self, value: typing.Optional[GatewayAddress]) -> None:
425
+ if __debug__:
426
+ type_hints = typing.get_type_hints(_typecheckingstub__9fe26c4b704801525f4075b39ca3419c91aabb081864ed410607de7a61bafaab)
427
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
428
+ jsii.set(self, "internalValue", value)
429
+
430
+
276
431
  @jsii.data_type(
277
432
  jsii_type="@cdktf/provider-upcloud.gateway.GatewayAddresses",
278
433
  jsii_struct_bases=[],
@@ -431,9 +586,11 @@ class GatewayAddressesOutputReference(
431
586
  "name": "name",
432
587
  "router": "router",
433
588
  "zone": "zone",
589
+ "address": "address",
434
590
  "configured_status": "configuredStatus",
435
591
  "id": "id",
436
592
  "labels": "labels",
593
+ "plan": "plan",
437
594
  },
438
595
  )
439
596
  class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
@@ -451,9 +608,11 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
451
608
  name: builtins.str,
452
609
  router: typing.Union["GatewayRouter", typing.Dict[builtins.str, typing.Any]],
453
610
  zone: builtins.str,
611
+ address: typing.Optional[typing.Union[GatewayAddress, typing.Dict[builtins.str, typing.Any]]] = None,
454
612
  configured_status: typing.Optional[builtins.str] = None,
455
613
  id: typing.Optional[builtins.str] = None,
456
614
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
615
+ plan: typing.Optional[builtins.str] = None,
457
616
  ) -> None:
458
617
  '''
459
618
  :param connection:
@@ -463,18 +622,22 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
463
622
  :param lifecycle:
464
623
  :param provider:
465
624
  :param provisioners:
466
- :param features: Features enabled for the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#features Gateway#features}
467
- :param name: Gateway name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#name Gateway#name}
468
- :param router: router block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#router Gateway#router}
469
- :param zone: Zone in which the gateway will be hosted, e.g. ``de-fra1``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#zone Gateway#zone}
470
- :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#configured_status Gateway#configured_status}
471
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
472
- :param labels: Key-value pairs to classify the network gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#labels Gateway#labels}
625
+ :param features: Features enabled for the gateway. Note that VPN feature is currently in beta, for more details see https://upcloud.com/resources/docs/networking#nat-and-vpn-gateways. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#features Gateway#features}
626
+ :param name: Gateway name. Needs to be unique within the account. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
627
+ :param router: router block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#router Gateway#router}
628
+ :param zone: Zone in which the gateway will be hosted, e.g. ``de-fra1``. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#zone Gateway#zone}
629
+ :param address: address block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#address Gateway#address}
630
+ :param configured_status: The service configured status indicates the service's current intended status. Managed by the customer. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#configured_status Gateway#configured_status}
631
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
632
+ :param labels: Key-value pairs to classify the network gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#labels Gateway#labels}
633
+ :param plan: Gateway pricing plan. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#plan Gateway#plan}
473
634
  '''
474
635
  if isinstance(lifecycle, dict):
475
636
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
476
637
  if isinstance(router, dict):
477
638
  router = GatewayRouter(**router)
639
+ if isinstance(address, dict):
640
+ address = GatewayAddress(**address)
478
641
  if __debug__:
479
642
  type_hints = typing.get_type_hints(_typecheckingstub__c5913e78f6a79aa5b74134144999cbeb9af7af46d3a269c9af3928cc7b7b6bf8)
480
643
  check_type(argname="argument connection", value=connection, expected_type=type_hints["connection"])
@@ -488,9 +651,11 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
488
651
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
489
652
  check_type(argname="argument router", value=router, expected_type=type_hints["router"])
490
653
  check_type(argname="argument zone", value=zone, expected_type=type_hints["zone"])
654
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
491
655
  check_type(argname="argument configured_status", value=configured_status, expected_type=type_hints["configured_status"])
492
656
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
493
657
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
658
+ check_type(argname="argument plan", value=plan, expected_type=type_hints["plan"])
494
659
  self._values: typing.Dict[builtins.str, typing.Any] = {
495
660
  "features": features,
496
661
  "name": name,
@@ -511,12 +676,16 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
511
676
  self._values["provider"] = provider
512
677
  if provisioners is not None:
513
678
  self._values["provisioners"] = provisioners
679
+ if address is not None:
680
+ self._values["address"] = address
514
681
  if configured_status is not None:
515
682
  self._values["configured_status"] = configured_status
516
683
  if id is not None:
517
684
  self._values["id"] = id
518
685
  if labels is not None:
519
686
  self._values["labels"] = labels
687
+ if plan is not None:
688
+ self._values["plan"] = plan
520
689
 
521
690
  @builtins.property
522
691
  def connection(
@@ -584,9 +753,9 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
584
753
 
585
754
  @builtins.property
586
755
  def features(self) -> typing.List[builtins.str]:
587
- '''Features enabled for the gateway.
756
+ '''Features enabled for the gateway. Note that VPN feature is currently in beta, for more details see https://upcloud.com/resources/docs/networking#nat-and-vpn-gateways.
588
757
 
589
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#features Gateway#features}
758
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#features Gateway#features}
590
759
  '''
591
760
  result = self._values.get("features")
592
761
  assert result is not None, "Required property 'features' is missing"
@@ -596,7 +765,7 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
596
765
  def name(self) -> builtins.str:
597
766
  '''Gateway name. Needs to be unique within the account.
598
767
 
599
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#name Gateway#name}
768
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#name Gateway#name}
600
769
  '''
601
770
  result = self._values.get("name")
602
771
  assert result is not None, "Required property 'name' is missing"
@@ -606,7 +775,7 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
606
775
  def router(self) -> "GatewayRouter":
607
776
  '''router block.
608
777
 
609
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#router Gateway#router}
778
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#router Gateway#router}
610
779
  '''
611
780
  result = self._values.get("router")
612
781
  assert result is not None, "Required property 'router' is missing"
@@ -616,24 +785,33 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
616
785
  def zone(self) -> builtins.str:
617
786
  '''Zone in which the gateway will be hosted, e.g. ``de-fra1``.
618
787
 
619
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#zone Gateway#zone}
788
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#zone Gateway#zone}
620
789
  '''
621
790
  result = self._values.get("zone")
622
791
  assert result is not None, "Required property 'zone' is missing"
623
792
  return typing.cast(builtins.str, result)
624
793
 
794
+ @builtins.property
795
+ def address(self) -> typing.Optional[GatewayAddress]:
796
+ '''address block.
797
+
798
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#address Gateway#address}
799
+ '''
800
+ result = self._values.get("address")
801
+ return typing.cast(typing.Optional[GatewayAddress], result)
802
+
625
803
  @builtins.property
626
804
  def configured_status(self) -> typing.Optional[builtins.str]:
627
805
  '''The service configured status indicates the service's current intended status. Managed by the customer.
628
806
 
629
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#configured_status Gateway#configured_status}
807
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#configured_status Gateway#configured_status}
630
808
  '''
631
809
  result = self._values.get("configured_status")
632
810
  return typing.cast(typing.Optional[builtins.str], result)
633
811
 
634
812
  @builtins.property
635
813
  def id(self) -> typing.Optional[builtins.str]:
636
- '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id}.
814
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id}.
637
815
 
638
816
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
639
817
  If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -645,11 +823,20 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
645
823
  def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
646
824
  '''Key-value pairs to classify the network gateway.
647
825
 
648
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#labels Gateway#labels}
826
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#labels Gateway#labels}
649
827
  '''
650
828
  result = self._values.get("labels")
651
829
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
652
830
 
831
+ @builtins.property
832
+ def plan(self) -> typing.Optional[builtins.str]:
833
+ '''Gateway pricing plan.
834
+
835
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#plan Gateway#plan}
836
+ '''
837
+ result = self._values.get("plan")
838
+ return typing.cast(typing.Optional[builtins.str], result)
839
+
653
840
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
654
841
  return isinstance(rhs, self.__class__) and rhs._values == self._values
655
842
 
@@ -670,7 +857,7 @@ class GatewayConfig(_cdktf_9a9027ec.TerraformMetaArguments):
670
857
  class GatewayRouter:
671
858
  def __init__(self, *, id: builtins.str) -> None:
672
859
  '''
673
- :param id: ID of the router attached to the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id} Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
860
+ :param id: ID of the router attached to the gateway. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id} Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
674
861
  '''
675
862
  if __debug__:
676
863
  type_hints = typing.get_type_hints(_typecheckingstub__ec6d5ccf3e805f30e341a3cd9f4f396b1b94f09fded4ca2733934ac1d447f38b)
@@ -683,7 +870,7 @@ class GatewayRouter:
683
870
  def id(self) -> builtins.str:
684
871
  '''ID of the router attached to the gateway.
685
872
 
686
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.1.1/docs/resources/gateway#id Gateway#id}
873
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.2.1/docs/resources/gateway#id Gateway#id}
687
874
 
688
875
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
689
876
  If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -756,6 +943,8 @@ class GatewayRouterOutputReference(
756
943
 
757
944
  __all__ = [
758
945
  "Gateway",
946
+ "GatewayAddress",
947
+ "GatewayAddressOutputReference",
759
948
  "GatewayAddresses",
760
949
  "GatewayAddressesList",
761
950
  "GatewayAddressesOutputReference",
@@ -774,9 +963,11 @@ def _typecheckingstub__b5004a2546e9442c11e1ddc6c725e44f286815709779966f78ab5b098
774
963
  name: builtins.str,
775
964
  router: typing.Union[GatewayRouter, typing.Dict[builtins.str, typing.Any]],
776
965
  zone: builtins.str,
966
+ address: typing.Optional[typing.Union[GatewayAddress, typing.Dict[builtins.str, typing.Any]]] = None,
777
967
  configured_status: typing.Optional[builtins.str] = None,
778
968
  id: typing.Optional[builtins.str] = None,
779
969
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
970
+ plan: typing.Optional[builtins.str] = None,
780
971
  connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
781
972
  count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
782
973
  depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
@@ -827,12 +1018,44 @@ def _typecheckingstub__d2c5d28159ca3dac2ea92e9af2bb081a4326b986cc12ca65061f2a279
827
1018
  """Type checking stubs"""
828
1019
  pass
829
1020
 
1021
+ def _typecheckingstub__0b307de78f154fe1e545a75dde145014f3ed8f0b7beb3bd3d29a86cc3c0e8bfd(
1022
+ value: builtins.str,
1023
+ ) -> None:
1024
+ """Type checking stubs"""
1025
+ pass
1026
+
830
1027
  def _typecheckingstub__bb73e8f0fe354e887808b5bf127fd5ac0c6707e04487d3c8585afb386405ed4b(
831
1028
  value: builtins.str,
832
1029
  ) -> None:
833
1030
  """Type checking stubs"""
834
1031
  pass
835
1032
 
1033
+ def _typecheckingstub__771f5bc182e7c8b4585492ead620a0562968d48a1a3c37c3e8d87c925e630939(
1034
+ *,
1035
+ name: typing.Optional[builtins.str] = None,
1036
+ ) -> None:
1037
+ """Type checking stubs"""
1038
+ pass
1039
+
1040
+ def _typecheckingstub__2f0cb1fb5d87562b9ef4d57d6e06da990dabd09abdf9c31b58b20f617c495c94(
1041
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1042
+ terraform_attribute: builtins.str,
1043
+ ) -> None:
1044
+ """Type checking stubs"""
1045
+ pass
1046
+
1047
+ def _typecheckingstub__ab397d75aad46c35582789ea34fa8c898a72a9b2c3bd4525a1a8e9d3c9baaeb1(
1048
+ value: builtins.str,
1049
+ ) -> None:
1050
+ """Type checking stubs"""
1051
+ pass
1052
+
1053
+ def _typecheckingstub__9fe26c4b704801525f4075b39ca3419c91aabb081864ed410607de7a61bafaab(
1054
+ value: typing.Optional[GatewayAddress],
1055
+ ) -> None:
1056
+ """Type checking stubs"""
1057
+ pass
1058
+
836
1059
  def _typecheckingstub__f1d0cc19fe0fbb739150a268fc316ea4ea3c90096e2bb07765df6d733b0448e1(
837
1060
  terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
838
1061
  terraform_attribute: builtins.str,
@@ -893,9 +1116,11 @@ def _typecheckingstub__c5913e78f6a79aa5b74134144999cbeb9af7af46d3a269c9af3928cc7
893
1116
  name: builtins.str,
894
1117
  router: typing.Union[GatewayRouter, typing.Dict[builtins.str, typing.Any]],
895
1118
  zone: builtins.str,
1119
+ address: typing.Optional[typing.Union[GatewayAddress, typing.Dict[builtins.str, typing.Any]]] = None,
896
1120
  configured_status: typing.Optional[builtins.str] = None,
897
1121
  id: typing.Optional[builtins.str] = None,
898
1122
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1123
+ plan: typing.Optional[builtins.str] = None,
899
1124
  ) -> None:
900
1125
  """Type checking stubs"""
901
1126
  pass