cdktf-cdktf-provider-upcloud 6.0.2__py3-none-any.whl → 7.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (48) hide show
  1. cdktf_cdktf_provider_upcloud/__init__.py +4 -0
  2. cdktf_cdktf_provider_upcloud/_jsii/__init__.py +2 -2
  3. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@7.0.0.jsii.tgz +0 -0
  4. cdktf_cdktf_provider_upcloud/data_upcloud_hosts/__init__.py +6 -6
  5. cdktf_cdktf_provider_upcloud/data_upcloud_ip_addresses/__init__.py +6 -6
  6. cdktf_cdktf_provider_upcloud/data_upcloud_kubernetes_cluster/__init__.py +6 -6
  7. cdktf_cdktf_provider_upcloud/data_upcloud_managed_database_opensearch_indices/__init__.py +662 -0
  8. cdktf_cdktf_provider_upcloud/data_upcloud_networks/__init__.py +12 -12
  9. cdktf_cdktf_provider_upcloud/data_upcloud_storage/__init__.py +25 -25
  10. cdktf_cdktf_provider_upcloud/data_upcloud_tags/__init__.py +6 -6
  11. cdktf_cdktf_provider_upcloud/data_upcloud_zone/__init__.py +9 -9
  12. cdktf_cdktf_provider_upcloud/data_upcloud_zones/__init__.py +9 -9
  13. cdktf_cdktf_provider_upcloud/firewall_rules/__init__.py +40 -40
  14. cdktf_cdktf_provider_upcloud/floating_ip_address/__init__.py +19 -19
  15. cdktf_cdktf_provider_upcloud/gateway/__init__.py +27 -27
  16. cdktf_cdktf_provider_upcloud/kubernetes_cluster/__init__.py +78 -20
  17. cdktf_cdktf_provider_upcloud/kubernetes_node_group/__init__.py +44 -44
  18. cdktf_cdktf_provider_upcloud/loadbalancer/__init__.py +36 -36
  19. cdktf_cdktf_provider_upcloud/loadbalancer_backend/__init__.py +48 -48
  20. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_backend_member/__init__.py +27 -27
  21. cdktf_cdktf_provider_upcloud/loadbalancer_dynamic_certificate_bundle/__init__.py +15 -15
  22. cdktf_cdktf_provider_upcloud/loadbalancer_frontend/__init__.py +35 -35
  23. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_rule/__init__.py +164 -164
  24. cdktf_cdktf_provider_upcloud/loadbalancer_frontend_tls_config/__init__.py +15 -15
  25. cdktf_cdktf_provider_upcloud/loadbalancer_manual_certificate_bundle/__init__.py +18 -18
  26. cdktf_cdktf_provider_upcloud/loadbalancer_resolver/__init__.py +30 -30
  27. cdktf_cdktf_provider_upcloud/loadbalancer_static_backend_member/__init__.py +27 -27
  28. cdktf_cdktf_provider_upcloud/managed_database_logical_database/__init__.py +18 -18
  29. cdktf_cdktf_provider_upcloud/managed_database_mysql/__init__.py +175 -173
  30. cdktf_cdktf_provider_upcloud/managed_database_opensearch/__init__.py +2017 -0
  31. cdktf_cdktf_provider_upcloud/managed_database_postgresql/__init__.py +292 -290
  32. cdktf_cdktf_provider_upcloud/managed_database_redis/__init__.py +100 -98
  33. cdktf_cdktf_provider_upcloud/managed_database_user/__init__.py +529 -39
  34. cdktf_cdktf_provider_upcloud/network/__init__.py +37 -37
  35. cdktf_cdktf_provider_upcloud/object_storage/__init__.py +30 -30
  36. cdktf_cdktf_provider_upcloud/provider/__init__.py +21 -21
  37. cdktf_cdktf_provider_upcloud/router/__init__.py +9 -9
  38. cdktf_cdktf_provider_upcloud/server/__init__.py +265 -124
  39. cdktf_cdktf_provider_upcloud/server_group/__init__.py +57 -59
  40. cdktf_cdktf_provider_upcloud/storage/__init__.py +55 -55
  41. cdktf_cdktf_provider_upcloud/tag/__init__.py +15 -15
  42. {cdktf_cdktf_provider_upcloud-6.0.2.dist-info → cdktf_cdktf_provider_upcloud-7.0.0.dist-info}/METADATA +3 -3
  43. cdktf_cdktf_provider_upcloud-7.0.0.dist-info/RECORD +47 -0
  44. cdktf_cdktf_provider_upcloud/_jsii/provider-upcloud@6.0.2.jsii.tgz +0 -0
  45. cdktf_cdktf_provider_upcloud-6.0.2.dist-info/RECORD +0 -45
  46. {cdktf_cdktf_provider_upcloud-6.0.2.dist-info → cdktf_cdktf_provider_upcloud-7.0.0.dist-info}/LICENSE +0 -0
  47. {cdktf_cdktf_provider_upcloud-6.0.2.dist-info → cdktf_cdktf_provider_upcloud-7.0.0.dist-info}/WHEEL +0 -0
  48. {cdktf_cdktf_provider_upcloud-6.0.2.dist-info → cdktf_cdktf_provider_upcloud-7.0.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  '''
2
2
  # `upcloud_managed_database_user`
3
3
 
4
- Refer to the Terraform Registory for docs: [`upcloud_managed_database_user`](https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user).
4
+ Refer to the Terraform Registory for docs: [`upcloud_managed_database_user`](https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user).
5
5
  '''
6
6
  import abc
7
7
  import builtins
@@ -26,7 +26,7 @@ class ManagedDatabaseUser(
26
26
  metaclass=jsii.JSIIMeta,
27
27
  jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUser",
28
28
  ):
29
- '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user upcloud_managed_database_user}.'''
29
+ '''Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user upcloud_managed_database_user}.'''
30
30
 
31
31
  def __init__(
32
32
  self,
@@ -37,6 +37,7 @@ class ManagedDatabaseUser(
37
37
  username: builtins.str,
38
38
  authentication: typing.Optional[builtins.str] = None,
39
39
  id: typing.Optional[builtins.str] = None,
40
+ opensearch_access_control: typing.Optional[typing.Union["ManagedDatabaseUserOpensearchAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
40
41
  password: typing.Optional[builtins.str] = None,
41
42
  pg_access_control: typing.Optional[typing.Union["ManagedDatabaseUserPgAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
42
43
  redis_access_control: typing.Optional[typing.Union["ManagedDatabaseUserRedisAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -48,17 +49,18 @@ class ManagedDatabaseUser(
48
49
  provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
49
50
  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
51
  ) -> None:
51
- '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user upcloud_managed_database_user} Resource.
52
+ '''Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user upcloud_managed_database_user} Resource.
52
53
 
53
54
  :param scope: The scope in which to define this construct.
54
55
  :param id_: The scoped construct ID. Must be unique amongst siblings in the same scope
55
- :param service: Service's UUID for which this user belongs to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
56
- :param username: Name of the database user. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
57
- :param authentication: MySQL only, authentication type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
58
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#id ManagedDatabaseUser#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.
59
- :param password: Password for the database user. Defaults to a random value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
60
- :param pg_access_control: pg_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
61
- :param redis_access_control: redis_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
56
+ :param service: Service's UUID for which this user belongs to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
57
+ :param username: Name of the database user. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
58
+ :param authentication: MySQL only, authentication type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
59
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#id ManagedDatabaseUser#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.
60
+ :param opensearch_access_control: opensearch_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#opensearch_access_control ManagedDatabaseUser#opensearch_access_control}
61
+ :param password: Password for the database user. Defaults to a random value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
62
+ :param pg_access_control: pg_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
63
+ :param redis_access_control: redis_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
62
64
  :param connection:
63
65
  :param count:
64
66
  :param depends_on:
@@ -76,6 +78,7 @@ class ManagedDatabaseUser(
76
78
  username=username,
77
79
  authentication=authentication,
78
80
  id=id,
81
+ opensearch_access_control=opensearch_access_control,
79
82
  password=password,
80
83
  pg_access_control=pg_access_control,
81
84
  redis_access_control=redis_access_control,
@@ -90,6 +93,19 @@ class ManagedDatabaseUser(
90
93
 
91
94
  jsii.create(self.__class__, self, [scope, id_, config])
92
95
 
96
+ @jsii.member(jsii_name="putOpensearchAccessControl")
97
+ def put_opensearch_access_control(
98
+ self,
99
+ *,
100
+ rules: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseUserOpensearchAccessControlRules", typing.Dict[builtins.str, typing.Any]]]],
101
+ ) -> None:
102
+ '''
103
+ :param rules: rules block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#rules ManagedDatabaseUser#rules}
104
+ '''
105
+ value = ManagedDatabaseUserOpensearchAccessControl(rules=rules)
106
+
107
+ return typing.cast(None, jsii.invoke(self, "putOpensearchAccessControl", [value]))
108
+
93
109
  @jsii.member(jsii_name="putPgAccessControl")
94
110
  def put_pg_access_control(
95
111
  self,
@@ -97,7 +113,7 @@ class ManagedDatabaseUser(
97
113
  allow_replication: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
98
114
  ) -> None:
99
115
  '''
100
- :param allow_replication: Grant replication privilege. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
116
+ :param allow_replication: Grant replication privilege. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
101
117
  '''
102
118
  value = ManagedDatabaseUserPgAccessControl(allow_replication=allow_replication)
103
119
 
@@ -113,10 +129,10 @@ class ManagedDatabaseUser(
113
129
  keys: typing.Optional[typing.Sequence[builtins.str]] = None,
114
130
  ) -> None:
115
131
  '''
116
- :param categories: Set access control to all commands in specified categories. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
117
- :param channels: Set access control to Pub/Sub channels. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
118
- :param commands: Set access control to commands. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
119
- :param keys: Set access control to keys. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
132
+ :param categories: Set access control to all commands in specified categories. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
133
+ :param channels: Set access control to Pub/Sub channels. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
134
+ :param commands: Set access control to commands. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
135
+ :param keys: Set access control to keys. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
120
136
  '''
121
137
  value = ManagedDatabaseUserRedisAccessControl(
122
138
  categories=categories, channels=channels, commands=commands, keys=keys
@@ -132,6 +148,10 @@ class ManagedDatabaseUser(
132
148
  def reset_id(self) -> None:
133
149
  return typing.cast(None, jsii.invoke(self, "resetId", []))
134
150
 
151
+ @jsii.member(jsii_name="resetOpensearchAccessControl")
152
+ def reset_opensearch_access_control(self) -> None:
153
+ return typing.cast(None, jsii.invoke(self, "resetOpensearchAccessControl", []))
154
+
135
155
  @jsii.member(jsii_name="resetPassword")
136
156
  def reset_password(self) -> None:
137
157
  return typing.cast(None, jsii.invoke(self, "resetPassword", []))
@@ -153,6 +173,13 @@ class ManagedDatabaseUser(
153
173
  def TF_RESOURCE_TYPE(cls) -> builtins.str:
154
174
  return typing.cast(builtins.str, jsii.sget(cls, "tfResourceType"))
155
175
 
176
+ @builtins.property
177
+ @jsii.member(jsii_name="opensearchAccessControl")
178
+ def opensearch_access_control(
179
+ self,
180
+ ) -> "ManagedDatabaseUserOpensearchAccessControlOutputReference":
181
+ return typing.cast("ManagedDatabaseUserOpensearchAccessControlOutputReference", jsii.get(self, "opensearchAccessControl"))
182
+
156
183
  @builtins.property
157
184
  @jsii.member(jsii_name="pgAccessControl")
158
185
  def pg_access_control(self) -> "ManagedDatabaseUserPgAccessControlOutputReference":
@@ -180,6 +207,13 @@ class ManagedDatabaseUser(
180
207
  def id_input(self) -> typing.Optional[builtins.str]:
181
208
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "idInput"))
182
209
 
210
+ @builtins.property
211
+ @jsii.member(jsii_name="opensearchAccessControlInput")
212
+ def opensearch_access_control_input(
213
+ self,
214
+ ) -> typing.Optional["ManagedDatabaseUserOpensearchAccessControl"]:
215
+ return typing.cast(typing.Optional["ManagedDatabaseUserOpensearchAccessControl"], jsii.get(self, "opensearchAccessControlInput"))
216
+
183
217
  @builtins.property
184
218
  @jsii.member(jsii_name="passwordInput")
185
219
  def password_input(self) -> typing.Optional[builtins.str]:
@@ -285,6 +319,7 @@ class ManagedDatabaseUser(
285
319
  "username": "username",
286
320
  "authentication": "authentication",
287
321
  "id": "id",
322
+ "opensearch_access_control": "opensearchAccessControl",
288
323
  "password": "password",
289
324
  "pg_access_control": "pgAccessControl",
290
325
  "redis_access_control": "redisAccessControl",
@@ -305,6 +340,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
305
340
  username: builtins.str,
306
341
  authentication: typing.Optional[builtins.str] = None,
307
342
  id: typing.Optional[builtins.str] = None,
343
+ opensearch_access_control: typing.Optional[typing.Union["ManagedDatabaseUserOpensearchAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
308
344
  password: typing.Optional[builtins.str] = None,
309
345
  pg_access_control: typing.Optional[typing.Union["ManagedDatabaseUserPgAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
310
346
  redis_access_control: typing.Optional[typing.Union["ManagedDatabaseUserRedisAccessControl", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -317,16 +353,19 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
317
353
  :param lifecycle:
318
354
  :param provider:
319
355
  :param provisioners:
320
- :param service: Service's UUID for which this user belongs to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
321
- :param username: Name of the database user. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
322
- :param authentication: MySQL only, authentication type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
323
- :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#id ManagedDatabaseUser#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.
324
- :param password: Password for the database user. Defaults to a random value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
325
- :param pg_access_control: pg_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
326
- :param redis_access_control: redis_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
356
+ :param service: Service's UUID for which this user belongs to. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
357
+ :param username: Name of the database user. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
358
+ :param authentication: MySQL only, authentication type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
359
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#id ManagedDatabaseUser#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.
360
+ :param opensearch_access_control: opensearch_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#opensearch_access_control ManagedDatabaseUser#opensearch_access_control}
361
+ :param password: Password for the database user. Defaults to a random value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
362
+ :param pg_access_control: pg_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
363
+ :param redis_access_control: redis_access_control block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
327
364
  '''
328
365
  if isinstance(lifecycle, dict):
329
366
  lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
367
+ if isinstance(opensearch_access_control, dict):
368
+ opensearch_access_control = ManagedDatabaseUserOpensearchAccessControl(**opensearch_access_control)
330
369
  if isinstance(pg_access_control, dict):
331
370
  pg_access_control = ManagedDatabaseUserPgAccessControl(**pg_access_control)
332
371
  if isinstance(redis_access_control, dict):
@@ -344,6 +383,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
344
383
  check_type(argname="argument username", value=username, expected_type=type_hints["username"])
345
384
  check_type(argname="argument authentication", value=authentication, expected_type=type_hints["authentication"])
346
385
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
386
+ check_type(argname="argument opensearch_access_control", value=opensearch_access_control, expected_type=type_hints["opensearch_access_control"])
347
387
  check_type(argname="argument password", value=password, expected_type=type_hints["password"])
348
388
  check_type(argname="argument pg_access_control", value=pg_access_control, expected_type=type_hints["pg_access_control"])
349
389
  check_type(argname="argument redis_access_control", value=redis_access_control, expected_type=type_hints["redis_access_control"])
@@ -369,6 +409,8 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
369
409
  self._values["authentication"] = authentication
370
410
  if id is not None:
371
411
  self._values["id"] = id
412
+ if opensearch_access_control is not None:
413
+ self._values["opensearch_access_control"] = opensearch_access_control
372
414
  if password is not None:
373
415
  self._values["password"] = password
374
416
  if pg_access_control is not None:
@@ -444,7 +486,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
444
486
  def service(self) -> builtins.str:
445
487
  '''Service's UUID for which this user belongs to.
446
488
 
447
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
489
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#service ManagedDatabaseUser#service}
448
490
  '''
449
491
  result = self._values.get("service")
450
492
  assert result is not None, "Required property 'service' is missing"
@@ -454,7 +496,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
454
496
  def username(self) -> builtins.str:
455
497
  '''Name of the database user.
456
498
 
457
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
499
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#username ManagedDatabaseUser#username}
458
500
  '''
459
501
  result = self._values.get("username")
460
502
  assert result is not None, "Required property 'username' is missing"
@@ -464,14 +506,14 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
464
506
  def authentication(self) -> typing.Optional[builtins.str]:
465
507
  '''MySQL only, authentication type.
466
508
 
467
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
509
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication}
468
510
  '''
469
511
  result = self._values.get("authentication")
470
512
  return typing.cast(typing.Optional[builtins.str], result)
471
513
 
472
514
  @builtins.property
473
515
  def id(self) -> typing.Optional[builtins.str]:
474
- '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#id ManagedDatabaseUser#id}.
516
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#id ManagedDatabaseUser#id}.
475
517
 
476
518
  Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
477
519
  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.
@@ -479,11 +521,22 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
479
521
  result = self._values.get("id")
480
522
  return typing.cast(typing.Optional[builtins.str], result)
481
523
 
524
+ @builtins.property
525
+ def opensearch_access_control(
526
+ self,
527
+ ) -> typing.Optional["ManagedDatabaseUserOpensearchAccessControl"]:
528
+ '''opensearch_access_control block.
529
+
530
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#opensearch_access_control ManagedDatabaseUser#opensearch_access_control}
531
+ '''
532
+ result = self._values.get("opensearch_access_control")
533
+ return typing.cast(typing.Optional["ManagedDatabaseUserOpensearchAccessControl"], result)
534
+
482
535
  @builtins.property
483
536
  def password(self) -> typing.Optional[builtins.str]:
484
537
  '''Password for the database user. Defaults to a random value.
485
538
 
486
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
539
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#password ManagedDatabaseUser#password}
487
540
  '''
488
541
  result = self._values.get("password")
489
542
  return typing.cast(typing.Optional[builtins.str], result)
@@ -494,7 +547,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
494
547
  ) -> typing.Optional["ManagedDatabaseUserPgAccessControl"]:
495
548
  '''pg_access_control block.
496
549
 
497
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
550
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control}
498
551
  '''
499
552
  result = self._values.get("pg_access_control")
500
553
  return typing.cast(typing.Optional["ManagedDatabaseUserPgAccessControl"], result)
@@ -505,7 +558,7 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
505
558
  ) -> typing.Optional["ManagedDatabaseUserRedisAccessControl"]:
506
559
  '''redis_access_control block.
507
560
 
508
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
561
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control}
509
562
  '''
510
563
  result = self._values.get("redis_access_control")
511
564
  return typing.cast(typing.Optional["ManagedDatabaseUserRedisAccessControl"], result)
@@ -522,6 +575,337 @@ class ManagedDatabaseUserConfig(_cdktf_9a9027ec.TerraformMetaArguments):
522
575
  )
523
576
 
524
577
 
578
+ @jsii.data_type(
579
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserOpensearchAccessControl",
580
+ jsii_struct_bases=[],
581
+ name_mapping={"rules": "rules"},
582
+ )
583
+ class ManagedDatabaseUserOpensearchAccessControl:
584
+ def __init__(
585
+ self,
586
+ *,
587
+ rules: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseUserOpensearchAccessControlRules", typing.Dict[builtins.str, typing.Any]]]],
588
+ ) -> None:
589
+ '''
590
+ :param rules: rules block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#rules ManagedDatabaseUser#rules}
591
+ '''
592
+ if __debug__:
593
+ type_hints = typing.get_type_hints(_typecheckingstub__72db216f4a07b0d61090bf6cee72765d201a2daf9f3d0177b70ceadc0e0b4950)
594
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
595
+ self._values: typing.Dict[builtins.str, typing.Any] = {
596
+ "rules": rules,
597
+ }
598
+
599
+ @builtins.property
600
+ def rules(
601
+ self,
602
+ ) -> typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseUserOpensearchAccessControlRules"]]:
603
+ '''rules block.
604
+
605
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#rules ManagedDatabaseUser#rules}
606
+ '''
607
+ result = self._values.get("rules")
608
+ assert result is not None, "Required property 'rules' is missing"
609
+ return typing.cast(typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseUserOpensearchAccessControlRules"]], result)
610
+
611
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
612
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
613
+
614
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
615
+ return not (rhs == self)
616
+
617
+ def __repr__(self) -> str:
618
+ return "ManagedDatabaseUserOpensearchAccessControl(%s)" % ", ".join(
619
+ k + "=" + repr(v) for k, v in self._values.items()
620
+ )
621
+
622
+
623
+ class ManagedDatabaseUserOpensearchAccessControlOutputReference(
624
+ _cdktf_9a9027ec.ComplexObject,
625
+ metaclass=jsii.JSIIMeta,
626
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserOpensearchAccessControlOutputReference",
627
+ ):
628
+ def __init__(
629
+ self,
630
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
631
+ terraform_attribute: builtins.str,
632
+ ) -> None:
633
+ '''
634
+ :param terraform_resource: The parent resource.
635
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
636
+ '''
637
+ if __debug__:
638
+ type_hints = typing.get_type_hints(_typecheckingstub__c261e84207dbab039535cdcebbb50274d3e302855b6e03213389abe9b79b0dea)
639
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
640
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
641
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute])
642
+
643
+ @jsii.member(jsii_name="putRules")
644
+ def put_rules(
645
+ self,
646
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union["ManagedDatabaseUserOpensearchAccessControlRules", typing.Dict[builtins.str, typing.Any]]]],
647
+ ) -> None:
648
+ '''
649
+ :param value: -
650
+ '''
651
+ if __debug__:
652
+ type_hints = typing.get_type_hints(_typecheckingstub__4e8b484f46ddc4c7bb19027cf7fcbff4bb7f7557610ef87817a40ce0cddd761c)
653
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
654
+ return typing.cast(None, jsii.invoke(self, "putRules", [value]))
655
+
656
+ @builtins.property
657
+ @jsii.member(jsii_name="rules")
658
+ def rules(self) -> "ManagedDatabaseUserOpensearchAccessControlRulesList":
659
+ return typing.cast("ManagedDatabaseUserOpensearchAccessControlRulesList", jsii.get(self, "rules"))
660
+
661
+ @builtins.property
662
+ @jsii.member(jsii_name="rulesInput")
663
+ def rules_input(
664
+ self,
665
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseUserOpensearchAccessControlRules"]]]:
666
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List["ManagedDatabaseUserOpensearchAccessControlRules"]]], jsii.get(self, "rulesInput"))
667
+
668
+ @builtins.property
669
+ @jsii.member(jsii_name="internalValue")
670
+ def internal_value(
671
+ self,
672
+ ) -> typing.Optional[ManagedDatabaseUserOpensearchAccessControl]:
673
+ return typing.cast(typing.Optional[ManagedDatabaseUserOpensearchAccessControl], jsii.get(self, "internalValue"))
674
+
675
+ @internal_value.setter
676
+ def internal_value(
677
+ self,
678
+ value: typing.Optional[ManagedDatabaseUserOpensearchAccessControl],
679
+ ) -> None:
680
+ if __debug__:
681
+ type_hints = typing.get_type_hints(_typecheckingstub__6f2043b59277b76c0c76f326072fbc42fd640a5568ab1320f7cc8d737f67e3da)
682
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
683
+ jsii.set(self, "internalValue", value)
684
+
685
+
686
+ @jsii.data_type(
687
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserOpensearchAccessControlRules",
688
+ jsii_struct_bases=[],
689
+ name_mapping={"index": "index", "permission": "permission"},
690
+ )
691
+ class ManagedDatabaseUserOpensearchAccessControlRules:
692
+ def __init__(self, *, index: builtins.str, permission: builtins.str) -> None:
693
+ '''
694
+ :param index: Set index name, pattern or top level API. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#index ManagedDatabaseUser#index}
695
+ :param permission: Set permission access. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#permission ManagedDatabaseUser#permission}
696
+ '''
697
+ if __debug__:
698
+ type_hints = typing.get_type_hints(_typecheckingstub__037bf6ae1cf4ccc5175cd9f327782b4c274be6c4d8dcbbf42b47b3e0d87e86ea)
699
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
700
+ check_type(argname="argument permission", value=permission, expected_type=type_hints["permission"])
701
+ self._values: typing.Dict[builtins.str, typing.Any] = {
702
+ "index": index,
703
+ "permission": permission,
704
+ }
705
+
706
+ @builtins.property
707
+ def index(self) -> builtins.str:
708
+ '''Set index name, pattern or top level API.
709
+
710
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#index ManagedDatabaseUser#index}
711
+ '''
712
+ result = self._values.get("index")
713
+ assert result is not None, "Required property 'index' is missing"
714
+ return typing.cast(builtins.str, result)
715
+
716
+ @builtins.property
717
+ def permission(self) -> builtins.str:
718
+ '''Set permission access.
719
+
720
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#permission ManagedDatabaseUser#permission}
721
+ '''
722
+ result = self._values.get("permission")
723
+ assert result is not None, "Required property 'permission' is missing"
724
+ return typing.cast(builtins.str, result)
725
+
726
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
727
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
728
+
729
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
730
+ return not (rhs == self)
731
+
732
+ def __repr__(self) -> str:
733
+ return "ManagedDatabaseUserOpensearchAccessControlRules(%s)" % ", ".join(
734
+ k + "=" + repr(v) for k, v in self._values.items()
735
+ )
736
+
737
+
738
+ class ManagedDatabaseUserOpensearchAccessControlRulesList(
739
+ _cdktf_9a9027ec.ComplexList,
740
+ metaclass=jsii.JSIIMeta,
741
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserOpensearchAccessControlRulesList",
742
+ ):
743
+ def __init__(
744
+ self,
745
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
746
+ terraform_attribute: builtins.str,
747
+ wraps_set: builtins.bool,
748
+ ) -> None:
749
+ '''
750
+ :param terraform_resource: The parent resource.
751
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
752
+ :param wraps_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
753
+ '''
754
+ if __debug__:
755
+ type_hints = typing.get_type_hints(_typecheckingstub__2ddfde11f5cd47441e7f3810f048ba114d237bd9f6dd0d26c1f866d3ce2144db)
756
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
757
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
758
+ check_type(argname="argument wraps_set", value=wraps_set, expected_type=type_hints["wraps_set"])
759
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, wraps_set])
760
+
761
+ @jsii.member(jsii_name="get")
762
+ def get(
763
+ self,
764
+ index: jsii.Number,
765
+ ) -> "ManagedDatabaseUserOpensearchAccessControlRulesOutputReference":
766
+ '''
767
+ :param index: the index of the item to return.
768
+ '''
769
+ if __debug__:
770
+ type_hints = typing.get_type_hints(_typecheckingstub__af95d05f551a4530c295fcca76cb47045ea1f7738b1326bf1aa33ffd3b1047e3)
771
+ check_type(argname="argument index", value=index, expected_type=type_hints["index"])
772
+ return typing.cast("ManagedDatabaseUserOpensearchAccessControlRulesOutputReference", jsii.invoke(self, "get", [index]))
773
+
774
+ @builtins.property
775
+ @jsii.member(jsii_name="terraformAttribute")
776
+ def _terraform_attribute(self) -> builtins.str:
777
+ '''The attribute on the parent resource this class is referencing.'''
778
+ return typing.cast(builtins.str, jsii.get(self, "terraformAttribute"))
779
+
780
+ @_terraform_attribute.setter
781
+ def _terraform_attribute(self, value: builtins.str) -> None:
782
+ if __debug__:
783
+ type_hints = typing.get_type_hints(_typecheckingstub__819a3aa89c9c1206aa9c2a863c363f11b8a66bd9b8497cfee924eca988197fcb)
784
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
785
+ jsii.set(self, "terraformAttribute", value)
786
+
787
+ @builtins.property
788
+ @jsii.member(jsii_name="terraformResource")
789
+ def _terraform_resource(self) -> _cdktf_9a9027ec.IInterpolatingParent:
790
+ '''The parent resource.'''
791
+ return typing.cast(_cdktf_9a9027ec.IInterpolatingParent, jsii.get(self, "terraformResource"))
792
+
793
+ @_terraform_resource.setter
794
+ def _terraform_resource(self, value: _cdktf_9a9027ec.IInterpolatingParent) -> None:
795
+ if __debug__:
796
+ type_hints = typing.get_type_hints(_typecheckingstub__9035a2506767e4f58f5e63793c32afb1e7d291560717108cec71bf2c6deb579f)
797
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
798
+ jsii.set(self, "terraformResource", value)
799
+
800
+ @builtins.property
801
+ @jsii.member(jsii_name="wrapsSet")
802
+ def _wraps_set(self) -> builtins.bool:
803
+ '''whether the list is wrapping a set (will add tolist() to be able to access an item via an index).'''
804
+ return typing.cast(builtins.bool, jsii.get(self, "wrapsSet"))
805
+
806
+ @_wraps_set.setter
807
+ def _wraps_set(self, value: builtins.bool) -> None:
808
+ if __debug__:
809
+ type_hints = typing.get_type_hints(_typecheckingstub__1b3fe316a8770435bbdac3dfecd6e58cc0f51b70c77adf586b8d3b4d6ff04d74)
810
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
811
+ jsii.set(self, "wrapsSet", value)
812
+
813
+ @builtins.property
814
+ @jsii.member(jsii_name="internalValue")
815
+ def internal_value(
816
+ self,
817
+ ) -> typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseUserOpensearchAccessControlRules]]]:
818
+ return typing.cast(typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseUserOpensearchAccessControlRules]]], jsii.get(self, "internalValue"))
819
+
820
+ @internal_value.setter
821
+ def internal_value(
822
+ self,
823
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseUserOpensearchAccessControlRules]]],
824
+ ) -> None:
825
+ if __debug__:
826
+ type_hints = typing.get_type_hints(_typecheckingstub__3e8caca91ec82f03099665dab3a8d90b2a77f89960ed729ae582c6cbf3fc3a7a)
827
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
828
+ jsii.set(self, "internalValue", value)
829
+
830
+
831
+ class ManagedDatabaseUserOpensearchAccessControlRulesOutputReference(
832
+ _cdktf_9a9027ec.ComplexObject,
833
+ metaclass=jsii.JSIIMeta,
834
+ jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserOpensearchAccessControlRulesOutputReference",
835
+ ):
836
+ def __init__(
837
+ self,
838
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
839
+ terraform_attribute: builtins.str,
840
+ complex_object_index: jsii.Number,
841
+ complex_object_is_from_set: builtins.bool,
842
+ ) -> None:
843
+ '''
844
+ :param terraform_resource: The parent resource.
845
+ :param terraform_attribute: The attribute on the parent resource this class is referencing.
846
+ :param complex_object_index: the index of this item in the list.
847
+ :param complex_object_is_from_set: whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
848
+ '''
849
+ if __debug__:
850
+ type_hints = typing.get_type_hints(_typecheckingstub__827e8b000834556bb9414f5368d4406305681add87da50fcd173ac58b0af5692)
851
+ check_type(argname="argument terraform_resource", value=terraform_resource, expected_type=type_hints["terraform_resource"])
852
+ check_type(argname="argument terraform_attribute", value=terraform_attribute, expected_type=type_hints["terraform_attribute"])
853
+ check_type(argname="argument complex_object_index", value=complex_object_index, expected_type=type_hints["complex_object_index"])
854
+ check_type(argname="argument complex_object_is_from_set", value=complex_object_is_from_set, expected_type=type_hints["complex_object_is_from_set"])
855
+ jsii.create(self.__class__, self, [terraform_resource, terraform_attribute, complex_object_index, complex_object_is_from_set])
856
+
857
+ @builtins.property
858
+ @jsii.member(jsii_name="indexInput")
859
+ def index_input(self) -> typing.Optional[builtins.str]:
860
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "indexInput"))
861
+
862
+ @builtins.property
863
+ @jsii.member(jsii_name="permissionInput")
864
+ def permission_input(self) -> typing.Optional[builtins.str]:
865
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "permissionInput"))
866
+
867
+ @builtins.property
868
+ @jsii.member(jsii_name="index")
869
+ def index(self) -> builtins.str:
870
+ return typing.cast(builtins.str, jsii.get(self, "index"))
871
+
872
+ @index.setter
873
+ def index(self, value: builtins.str) -> None:
874
+ if __debug__:
875
+ type_hints = typing.get_type_hints(_typecheckingstub__bf31bc12b7f94a526e7e41226e6e9296881b18ff36410291f9f4964a64acf62f)
876
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
877
+ jsii.set(self, "index", value)
878
+
879
+ @builtins.property
880
+ @jsii.member(jsii_name="permission")
881
+ def permission(self) -> builtins.str:
882
+ return typing.cast(builtins.str, jsii.get(self, "permission"))
883
+
884
+ @permission.setter
885
+ def permission(self, value: builtins.str) -> None:
886
+ if __debug__:
887
+ type_hints = typing.get_type_hints(_typecheckingstub__a8078f0d2a5b371825e053b9bd3d3b431480d8a53a502928b258020d66840f0b)
888
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
889
+ jsii.set(self, "permission", value)
890
+
891
+ @builtins.property
892
+ @jsii.member(jsii_name="internalValue")
893
+ def internal_value(
894
+ self,
895
+ ) -> typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, _cdktf_9a9027ec.IResolvable]]:
896
+ return typing.cast(typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, _cdktf_9a9027ec.IResolvable]], jsii.get(self, "internalValue"))
897
+
898
+ @internal_value.setter
899
+ def internal_value(
900
+ self,
901
+ value: typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, _cdktf_9a9027ec.IResolvable]],
902
+ ) -> None:
903
+ if __debug__:
904
+ type_hints = typing.get_type_hints(_typecheckingstub__13b1b4f9dcb8775caf7897bb1366e6419bc653fc18161596852f846170e69f1c)
905
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
906
+ jsii.set(self, "internalValue", value)
907
+
908
+
525
909
  @jsii.data_type(
526
910
  jsii_type="@cdktf/provider-upcloud.managedDatabaseUser.ManagedDatabaseUserPgAccessControl",
527
911
  jsii_struct_bases=[],
@@ -534,7 +918,7 @@ class ManagedDatabaseUserPgAccessControl:
534
918
  allow_replication: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
535
919
  ) -> None:
536
920
  '''
537
- :param allow_replication: Grant replication privilege. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
921
+ :param allow_replication: Grant replication privilege. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
538
922
  '''
539
923
  if __debug__:
540
924
  type_hints = typing.get_type_hints(_typecheckingstub__f34e6b56dbd319319ed29790d55c8592357d86f9b7c8e8c14a5c4d70a6787a4f)
@@ -549,7 +933,7 @@ class ManagedDatabaseUserPgAccessControl:
549
933
  ) -> typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]]:
550
934
  '''Grant replication privilege.
551
935
 
552
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
936
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication}
553
937
  '''
554
938
  result = self._values.get("allow_replication")
555
939
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]], result)
@@ -650,10 +1034,10 @@ class ManagedDatabaseUserRedisAccessControl:
650
1034
  keys: typing.Optional[typing.Sequence[builtins.str]] = None,
651
1035
  ) -> None:
652
1036
  '''
653
- :param categories: Set access control to all commands in specified categories. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
654
- :param channels: Set access control to Pub/Sub channels. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
655
- :param commands: Set access control to commands. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
656
- :param keys: Set access control to keys. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
1037
+ :param categories: Set access control to all commands in specified categories. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
1038
+ :param channels: Set access control to Pub/Sub channels. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
1039
+ :param commands: Set access control to commands. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
1040
+ :param keys: Set access control to keys. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
657
1041
  '''
658
1042
  if __debug__:
659
1043
  type_hints = typing.get_type_hints(_typecheckingstub__27204462f8812754fabbce2e4daa3352d018e15b121d6d94fd8c33a5f838827b)
@@ -675,7 +1059,7 @@ class ManagedDatabaseUserRedisAccessControl:
675
1059
  def categories(self) -> typing.Optional[typing.List[builtins.str]]:
676
1060
  '''Set access control to all commands in specified categories.
677
1061
 
678
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
1062
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories}
679
1063
  '''
680
1064
  result = self._values.get("categories")
681
1065
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -684,7 +1068,7 @@ class ManagedDatabaseUserRedisAccessControl:
684
1068
  def channels(self) -> typing.Optional[typing.List[builtins.str]]:
685
1069
  '''Set access control to Pub/Sub channels.
686
1070
 
687
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
1071
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels}
688
1072
  '''
689
1073
  result = self._values.get("channels")
690
1074
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -693,7 +1077,7 @@ class ManagedDatabaseUserRedisAccessControl:
693
1077
  def commands(self) -> typing.Optional[typing.List[builtins.str]]:
694
1078
  '''Set access control to commands.
695
1079
 
696
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
1080
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands}
697
1081
  '''
698
1082
  result = self._values.get("commands")
699
1083
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -702,7 +1086,7 @@ class ManagedDatabaseUserRedisAccessControl:
702
1086
  def keys(self) -> typing.Optional[typing.List[builtins.str]]:
703
1087
  '''Set access control to keys.
704
1088
 
705
- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.10.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
1089
+ Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/2.11.0/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys}
706
1090
  '''
707
1091
  result = self._values.get("keys")
708
1092
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -842,6 +1226,11 @@ class ManagedDatabaseUserRedisAccessControlOutputReference(
842
1226
  __all__ = [
843
1227
  "ManagedDatabaseUser",
844
1228
  "ManagedDatabaseUserConfig",
1229
+ "ManagedDatabaseUserOpensearchAccessControl",
1230
+ "ManagedDatabaseUserOpensearchAccessControlOutputReference",
1231
+ "ManagedDatabaseUserOpensearchAccessControlRules",
1232
+ "ManagedDatabaseUserOpensearchAccessControlRulesList",
1233
+ "ManagedDatabaseUserOpensearchAccessControlRulesOutputReference",
845
1234
  "ManagedDatabaseUserPgAccessControl",
846
1235
  "ManagedDatabaseUserPgAccessControlOutputReference",
847
1236
  "ManagedDatabaseUserRedisAccessControl",
@@ -858,6 +1247,7 @@ def _typecheckingstub__284705db217200be03c68231d6206d89ab6b5c942fa6aa0a91e5f854d
858
1247
  username: builtins.str,
859
1248
  authentication: typing.Optional[builtins.str] = None,
860
1249
  id: typing.Optional[builtins.str] = None,
1250
+ opensearch_access_control: typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
861
1251
  password: typing.Optional[builtins.str] = None,
862
1252
  pg_access_control: typing.Optional[typing.Union[ManagedDatabaseUserPgAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
863
1253
  redis_access_control: typing.Optional[typing.Union[ManagedDatabaseUserRedisAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -915,6 +1305,7 @@ def _typecheckingstub__07a7f5c785cc0e125e8ded59bfd094c26884e099fe8129734900f6faa
915
1305
  username: builtins.str,
916
1306
  authentication: typing.Optional[builtins.str] = None,
917
1307
  id: typing.Optional[builtins.str] = None,
1308
+ opensearch_access_control: typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
918
1309
  password: typing.Optional[builtins.str] = None,
919
1310
  pg_access_control: typing.Optional[typing.Union[ManagedDatabaseUserPgAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
920
1311
  redis_access_control: typing.Optional[typing.Union[ManagedDatabaseUserRedisAccessControl, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -922,6 +1313,105 @@ def _typecheckingstub__07a7f5c785cc0e125e8ded59bfd094c26884e099fe8129734900f6faa
922
1313
  """Type checking stubs"""
923
1314
  pass
924
1315
 
1316
+ def _typecheckingstub__72db216f4a07b0d61090bf6cee72765d201a2daf9f3d0177b70ceadc0e0b4950(
1317
+ *,
1318
+ rules: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, typing.Dict[builtins.str, typing.Any]]]],
1319
+ ) -> None:
1320
+ """Type checking stubs"""
1321
+ pass
1322
+
1323
+ def _typecheckingstub__c261e84207dbab039535cdcebbb50274d3e302855b6e03213389abe9b79b0dea(
1324
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1325
+ terraform_attribute: builtins.str,
1326
+ ) -> None:
1327
+ """Type checking stubs"""
1328
+ pass
1329
+
1330
+ def _typecheckingstub__4e8b484f46ddc4c7bb19027cf7fcbff4bb7f7557610ef87817a40ce0cddd761c(
1331
+ value: typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, typing.Dict[builtins.str, typing.Any]]]],
1332
+ ) -> None:
1333
+ """Type checking stubs"""
1334
+ pass
1335
+
1336
+ def _typecheckingstub__6f2043b59277b76c0c76f326072fbc42fd640a5568ab1320f7cc8d737f67e3da(
1337
+ value: typing.Optional[ManagedDatabaseUserOpensearchAccessControl],
1338
+ ) -> None:
1339
+ """Type checking stubs"""
1340
+ pass
1341
+
1342
+ def _typecheckingstub__037bf6ae1cf4ccc5175cd9f327782b4c274be6c4d8dcbbf42b47b3e0d87e86ea(
1343
+ *,
1344
+ index: builtins.str,
1345
+ permission: builtins.str,
1346
+ ) -> None:
1347
+ """Type checking stubs"""
1348
+ pass
1349
+
1350
+ def _typecheckingstub__2ddfde11f5cd47441e7f3810f048ba114d237bd9f6dd0d26c1f866d3ce2144db(
1351
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1352
+ terraform_attribute: builtins.str,
1353
+ wraps_set: builtins.bool,
1354
+ ) -> None:
1355
+ """Type checking stubs"""
1356
+ pass
1357
+
1358
+ def _typecheckingstub__af95d05f551a4530c295fcca76cb47045ea1f7738b1326bf1aa33ffd3b1047e3(
1359
+ index: jsii.Number,
1360
+ ) -> None:
1361
+ """Type checking stubs"""
1362
+ pass
1363
+
1364
+ def _typecheckingstub__819a3aa89c9c1206aa9c2a863c363f11b8a66bd9b8497cfee924eca988197fcb(
1365
+ value: builtins.str,
1366
+ ) -> None:
1367
+ """Type checking stubs"""
1368
+ pass
1369
+
1370
+ def _typecheckingstub__9035a2506767e4f58f5e63793c32afb1e7d291560717108cec71bf2c6deb579f(
1371
+ value: _cdktf_9a9027ec.IInterpolatingParent,
1372
+ ) -> None:
1373
+ """Type checking stubs"""
1374
+ pass
1375
+
1376
+ def _typecheckingstub__1b3fe316a8770435bbdac3dfecd6e58cc0f51b70c77adf586b8d3b4d6ff04d74(
1377
+ value: builtins.bool,
1378
+ ) -> None:
1379
+ """Type checking stubs"""
1380
+ pass
1381
+
1382
+ def _typecheckingstub__3e8caca91ec82f03099665dab3a8d90b2a77f89960ed729ae582c6cbf3fc3a7a(
1383
+ value: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.List[ManagedDatabaseUserOpensearchAccessControlRules]]],
1384
+ ) -> None:
1385
+ """Type checking stubs"""
1386
+ pass
1387
+
1388
+ def _typecheckingstub__827e8b000834556bb9414f5368d4406305681add87da50fcd173ac58b0af5692(
1389
+ terraform_resource: _cdktf_9a9027ec.IInterpolatingParent,
1390
+ terraform_attribute: builtins.str,
1391
+ complex_object_index: jsii.Number,
1392
+ complex_object_is_from_set: builtins.bool,
1393
+ ) -> None:
1394
+ """Type checking stubs"""
1395
+ pass
1396
+
1397
+ def _typecheckingstub__bf31bc12b7f94a526e7e41226e6e9296881b18ff36410291f9f4964a64acf62f(
1398
+ value: builtins.str,
1399
+ ) -> None:
1400
+ """Type checking stubs"""
1401
+ pass
1402
+
1403
+ def _typecheckingstub__a8078f0d2a5b371825e053b9bd3d3b431480d8a53a502928b258020d66840f0b(
1404
+ value: builtins.str,
1405
+ ) -> None:
1406
+ """Type checking stubs"""
1407
+ pass
1408
+
1409
+ def _typecheckingstub__13b1b4f9dcb8775caf7897bb1366e6419bc653fc18161596852f846170e69f1c(
1410
+ value: typing.Optional[typing.Union[ManagedDatabaseUserOpensearchAccessControlRules, _cdktf_9a9027ec.IResolvable]],
1411
+ ) -> None:
1412
+ """Type checking stubs"""
1413
+ pass
1414
+
925
1415
  def _typecheckingstub__f34e6b56dbd319319ed29790d55c8592357d86f9b7c8e8c14a5c4d70a6787a4f(
926
1416
  *,
927
1417
  allow_replication: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,