pulumi-aiven 6.7.2__py3-none-any.whl → 6.8.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 pulumi-aiven might be problematic. Click here for more details.

Files changed (51) hide show
  1. pulumi_aiven/_inputs.py +1660 -35
  2. pulumi_aiven/_utilities.py +41 -0
  3. pulumi_aiven/account_team_member.py +7 -7
  4. pulumi_aiven/cassandra.py +47 -0
  5. pulumi_aiven/clickhouse.py +47 -0
  6. pulumi_aiven/config/__init__.pyi +16 -0
  7. pulumi_aiven/flink.py +54 -7
  8. pulumi_aiven/get_account_team_member.py +3 -3
  9. pulumi_aiven/get_cassanda.py +14 -1
  10. pulumi_aiven/get_cassandra.py +14 -1
  11. pulumi_aiven/get_clickhouse.py +14 -1
  12. pulumi_aiven/get_flink.py +14 -1
  13. pulumi_aiven/get_grafana.py +14 -1
  14. pulumi_aiven/get_influx_db.py +14 -1
  15. pulumi_aiven/get_kafka.py +14 -1
  16. pulumi_aiven/get_kafka_connect.py +14 -1
  17. pulumi_aiven/get_kafka_mirror_maker.py +14 -1
  18. pulumi_aiven/get_m3_aggregator.py +14 -1
  19. pulumi_aiven/get_m3_db.py +14 -1
  20. pulumi_aiven/get_mirror_maker_replication_flow.py +15 -2
  21. pulumi_aiven/get_my_sql.py +14 -1
  22. pulumi_aiven/get_open_search.py +14 -1
  23. pulumi_aiven/get_organization_user.py +3 -3
  24. pulumi_aiven/get_organization_user_group.py +14 -1
  25. pulumi_aiven/get_pg.py +14 -1
  26. pulumi_aiven/get_project.py +1 -1
  27. pulumi_aiven/get_project_user.py +3 -3
  28. pulumi_aiven/get_redis.py +14 -1
  29. pulumi_aiven/get_service_integration_endpoint.py +28 -2
  30. pulumi_aiven/grafana.py +54 -0
  31. pulumi_aiven/influx_db.py +47 -0
  32. pulumi_aiven/kafka.py +47 -0
  33. pulumi_aiven/kafka_connect.py +54 -0
  34. pulumi_aiven/kafka_mirror_maker.py +54 -0
  35. pulumi_aiven/m3_aggregator.py +54 -0
  36. pulumi_aiven/m3_db.py +54 -0
  37. pulumi_aiven/mirror_maker_replication_flow.py +54 -7
  38. pulumi_aiven/my_sql.py +54 -0
  39. pulumi_aiven/open_search.py +47 -0
  40. pulumi_aiven/organization_user.py +7 -7
  41. pulumi_aiven/organization_user_group.py +28 -0
  42. pulumi_aiven/outputs.py +2473 -64
  43. pulumi_aiven/pg.py +47 -0
  44. pulumi_aiven/project.py +7 -7
  45. pulumi_aiven/project_user.py +7 -7
  46. pulumi_aiven/redis.py +54 -0
  47. pulumi_aiven/service_integration_endpoint.py +101 -7
  48. {pulumi_aiven-6.7.2.dist-info → pulumi_aiven-6.8.0.dist-info}/METADATA +2 -2
  49. {pulumi_aiven-6.7.2.dist-info → pulumi_aiven-6.8.0.dist-info}/RECORD +51 -50
  50. {pulumi_aiven-6.7.2.dist-info → pulumi_aiven-6.8.0.dist-info}/WHEEL +1 -1
  51. {pulumi_aiven-6.7.2.dist-info → pulumi_aiven-6.8.0.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,7 @@
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
5
 
6
+ import asyncio
6
7
  import importlib.util
7
8
  import inspect
8
9
  import json
@@ -13,6 +14,7 @@ import typing
13
14
 
14
15
  import pulumi
15
16
  import pulumi.runtime
17
+ from pulumi.runtime.sync_await import _sync_await
16
18
 
17
19
  from semver import VersionInfo as SemverVersion
18
20
  from parver import Version as PEP440Version
@@ -246,5 +248,44 @@ def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
246
248
 
247
249
  return (lambda _: lifted_func)
248
250
 
251
+
252
+ def call_plain(
253
+ tok: str,
254
+ props: pulumi.Inputs,
255
+ res: typing.Optional[pulumi.Resource] = None,
256
+ typ: typing.Optional[type] = None,
257
+ ) -> typing.Any:
258
+ """
259
+ Wraps pulumi.runtime.plain to force the output and return it plainly.
260
+ """
261
+
262
+ output = pulumi.runtime.call(tok, props, res, typ)
263
+
264
+ # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
+ result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
266
+
267
+ problem = None
268
+ if not known:
269
+ problem = ' an unknown value'
270
+ elif secret:
271
+ problem = ' a secret value'
272
+
273
+ if problem:
274
+ raise AssertionError(
275
+ f"Plain resource method '{tok}' incorrectly returned {problem}. "
276
+ + "This is an error in the provider, please report this to the provider developer."
277
+ )
278
+
279
+ return result
280
+
281
+
282
+ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
283
+ return (
284
+ await o._future,
285
+ await o._is_known,
286
+ await o._is_secret,
287
+ await o._resources,
288
+ )
289
+
249
290
  def get_plugin_download_url():
250
291
  return None
@@ -21,7 +21,7 @@ class AccountTeamMemberArgs:
21
21
  The set of arguments for constructing a AccountTeamMember resource.
22
22
  :param pulumi.Input[str] account_id: The unique account id. This property cannot be changed, doing so forces recreation of the resource.
23
23
  :param pulumi.Input[str] team_id: An account team id. This property cannot be changed, doing so forces recreation of the resource.
24
- :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
24
+ :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
25
25
  """
26
26
  pulumi.set(__self__, "account_id", account_id)
27
27
  pulumi.set(__self__, "team_id", team_id)
@@ -55,7 +55,7 @@ class AccountTeamMemberArgs:
55
55
  @pulumi.getter(name="userEmail")
56
56
  def user_email(self) -> pulumi.Input[str]:
57
57
  """
58
- Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
58
+ Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
59
59
  """
60
60
  return pulumi.get(self, "user_email")
61
61
 
@@ -80,7 +80,7 @@ class _AccountTeamMemberState:
80
80
  :param pulumi.Input[str] create_time: Time of creation
81
81
  :param pulumi.Input[str] invited_by_user_email: The email address that invited this user.
82
82
  :param pulumi.Input[str] team_id: An account team id. This property cannot be changed, doing so forces recreation of the resource.
83
- :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
83
+ :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
84
84
  """
85
85
  if accepted is not None:
86
86
  pulumi.set(__self__, "accepted", accepted)
@@ -159,7 +159,7 @@ class _AccountTeamMemberState:
159
159
  @pulumi.getter(name="userEmail")
160
160
  def user_email(self) -> Optional[pulumi.Input[str]]:
161
161
  """
162
- Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
162
+ Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
163
163
  """
164
164
  return pulumi.get(self, "user_email")
165
165
 
@@ -196,7 +196,7 @@ class AccountTeamMember(pulumi.CustomResource):
196
196
  :param pulumi.ResourceOptions opts: Options for the resource.
197
197
  :param pulumi.Input[str] account_id: The unique account id. This property cannot be changed, doing so forces recreation of the resource.
198
198
  :param pulumi.Input[str] team_id: An account team id. This property cannot be changed, doing so forces recreation of the resource.
199
- :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
199
+ :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
200
200
  """
201
201
  ...
202
202
  @overload
@@ -286,7 +286,7 @@ class AccountTeamMember(pulumi.CustomResource):
286
286
  :param pulumi.Input[str] create_time: Time of creation
287
287
  :param pulumi.Input[str] invited_by_user_email: The email address that invited this user.
288
288
  :param pulumi.Input[str] team_id: An account team id. This property cannot be changed, doing so forces recreation of the resource.
289
- :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
289
+ :param pulumi.Input[str] user_email: Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
290
290
  """
291
291
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
292
292
 
@@ -344,7 +344,7 @@ class AccountTeamMember(pulumi.CustomResource):
344
344
  @pulumi.getter(name="userEmail")
345
345
  def user_email(self) -> pulumi.Output[str]:
346
346
  """
347
- Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. This property cannot be changed, doing so forces recreation of the resource.
347
+ Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
348
348
  """
349
349
  return pulumi.get(self, "user_email")
350
350
 
pulumi_aiven/cassandra.py CHANGED
@@ -29,6 +29,7 @@ class CassandraArgs:
29
29
  service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraServiceIntegrationArgs']]]] = None,
30
30
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
31
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]]] = None,
32
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]] = None,
32
33
  termination_protection: Optional[pulumi.Input[bool]] = None):
33
34
  """
34
35
  The set of arguments for constructing a Cassandra resource.
@@ -45,6 +46,7 @@ class CassandraArgs:
45
46
  :param pulumi.Input[Sequence[pulumi.Input['CassandraServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
46
47
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
47
48
  :param pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
49
+ :param pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
48
50
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
49
51
  """
50
52
  pulumi.set(__self__, "plan", plan)
@@ -73,6 +75,8 @@ class CassandraArgs:
73
75
  pulumi.set(__self__, "static_ips", static_ips)
74
76
  if tags is not None:
75
77
  pulumi.set(__self__, "tags", tags)
78
+ if tech_emails is not None:
79
+ pulumi.set(__self__, "tech_emails", tech_emails)
76
80
  if termination_protection is not None:
77
81
  pulumi.set(__self__, "termination_protection", termination_protection)
78
82
 
@@ -235,6 +239,18 @@ class CassandraArgs:
235
239
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]]]):
236
240
  pulumi.set(self, "tags", value)
237
241
 
242
+ @property
243
+ @pulumi.getter(name="techEmails")
244
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]]:
245
+ """
246
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
247
+ """
248
+ return pulumi.get(self, "tech_emails")
249
+
250
+ @tech_emails.setter
251
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]]):
252
+ pulumi.set(self, "tech_emails", value)
253
+
238
254
  @property
239
255
  @pulumi.getter(name="terminationProtection")
240
256
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
@@ -277,6 +293,7 @@ class _CassandraState:
277
293
  state: Optional[pulumi.Input[str]] = None,
278
294
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
279
295
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]]] = None,
296
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]] = None,
280
297
  termination_protection: Optional[pulumi.Input[bool]] = None):
281
298
  """
282
299
  Input properties used for looking up and filtering Cassandra resources.
@@ -306,6 +323,7 @@ class _CassandraState:
306
323
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
307
324
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
308
325
  :param pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
326
+ :param pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
309
327
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
310
328
  """
311
329
  if additional_disk_space is not None:
@@ -363,6 +381,8 @@ class _CassandraState:
363
381
  pulumi.set(__self__, "static_ips", static_ips)
364
382
  if tags is not None:
365
383
  pulumi.set(__self__, "tags", tags)
384
+ if tech_emails is not None:
385
+ pulumi.set(__self__, "tech_emails", tech_emails)
366
386
  if termination_protection is not None:
367
387
  pulumi.set(__self__, "termination_protection", termination_protection)
368
388
 
@@ -681,6 +701,18 @@ class _CassandraState:
681
701
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTagArgs']]]]):
682
702
  pulumi.set(self, "tags", value)
683
703
 
704
+ @property
705
+ @pulumi.getter(name="techEmails")
706
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]]:
707
+ """
708
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
709
+ """
710
+ return pulumi.get(self, "tech_emails")
711
+
712
+ @tech_emails.setter
713
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CassandraTechEmailArgs']]]]):
714
+ pulumi.set(self, "tech_emails", value)
715
+
684
716
  @property
685
717
  @pulumi.getter(name="terminationProtection")
686
718
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
@@ -712,6 +744,7 @@ class Cassandra(pulumi.CustomResource):
712
744
  service_name: Optional[pulumi.Input[str]] = None,
713
745
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
714
746
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTagArgs']]]]] = None,
747
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTechEmailArgs']]]]] = None,
715
748
  termination_protection: Optional[pulumi.Input[bool]] = None,
716
749
  __props__=None):
717
750
  """
@@ -759,6 +792,7 @@ class Cassandra(pulumi.CustomResource):
759
792
  :param pulumi.Input[str] service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
760
793
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
761
794
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
795
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
762
796
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
763
797
  """
764
798
  ...
@@ -825,6 +859,7 @@ class Cassandra(pulumi.CustomResource):
825
859
  service_name: Optional[pulumi.Input[str]] = None,
826
860
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
827
861
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTagArgs']]]]] = None,
862
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTechEmailArgs']]]]] = None,
828
863
  termination_protection: Optional[pulumi.Input[bool]] = None,
829
864
  __props__=None):
830
865
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -854,6 +889,7 @@ class Cassandra(pulumi.CustomResource):
854
889
  __props__.__dict__["service_name"] = service_name
855
890
  __props__.__dict__["static_ips"] = static_ips
856
891
  __props__.__dict__["tags"] = tags
892
+ __props__.__dict__["tech_emails"] = tech_emails
857
893
  __props__.__dict__["termination_protection"] = termination_protection
858
894
  __props__.__dict__["cassandras"] = None
859
895
  __props__.__dict__["components"] = None
@@ -906,6 +942,7 @@ class Cassandra(pulumi.CustomResource):
906
942
  state: Optional[pulumi.Input[str]] = None,
907
943
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
908
944
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTagArgs']]]]] = None,
945
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTechEmailArgs']]]]] = None,
909
946
  termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Cassandra':
910
947
  """
911
948
  Get an existing Cassandra resource's state with the given name, id, and optional extra
@@ -940,6 +977,7 @@ class Cassandra(pulumi.CustomResource):
940
977
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
941
978
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
942
979
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
980
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CassandraTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
943
981
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
944
982
  """
945
983
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -972,6 +1010,7 @@ class Cassandra(pulumi.CustomResource):
972
1010
  __props__.__dict__["state"] = state
973
1011
  __props__.__dict__["static_ips"] = static_ips
974
1012
  __props__.__dict__["tags"] = tags
1013
+ __props__.__dict__["tech_emails"] = tech_emails
975
1014
  __props__.__dict__["termination_protection"] = termination_protection
976
1015
  return Cassandra(resource_name, opts=opts, __props__=__props__)
977
1016
 
@@ -1186,6 +1225,14 @@ class Cassandra(pulumi.CustomResource):
1186
1225
  """
1187
1226
  return pulumi.get(self, "tags")
1188
1227
 
1228
+ @property
1229
+ @pulumi.getter(name="techEmails")
1230
+ def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.CassandraTechEmail']]]:
1231
+ """
1232
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
1233
+ """
1234
+ return pulumi.get(self, "tech_emails")
1235
+
1189
1236
  @property
1190
1237
  @pulumi.getter(name="terminationProtection")
1191
1238
  def termination_protection(self) -> pulumi.Output[Optional[bool]]:
@@ -29,6 +29,7 @@ class ClickhouseArgs:
29
29
  service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseServiceIntegrationArgs']]]] = None,
30
30
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
31
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]] = None,
32
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]] = None,
32
33
  termination_protection: Optional[pulumi.Input[bool]] = None):
33
34
  """
34
35
  The set of arguments for constructing a Clickhouse resource.
@@ -45,6 +46,7 @@ class ClickhouseArgs:
45
46
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
46
47
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
47
48
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
49
+ :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
48
50
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
49
51
  """
50
52
  pulumi.set(__self__, "plan", plan)
@@ -73,6 +75,8 @@ class ClickhouseArgs:
73
75
  pulumi.set(__self__, "static_ips", static_ips)
74
76
  if tags is not None:
75
77
  pulumi.set(__self__, "tags", tags)
78
+ if tech_emails is not None:
79
+ pulumi.set(__self__, "tech_emails", tech_emails)
76
80
  if termination_protection is not None:
77
81
  pulumi.set(__self__, "termination_protection", termination_protection)
78
82
 
@@ -235,6 +239,18 @@ class ClickhouseArgs:
235
239
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]]):
236
240
  pulumi.set(self, "tags", value)
237
241
 
242
+ @property
243
+ @pulumi.getter(name="techEmails")
244
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]]:
245
+ """
246
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
247
+ """
248
+ return pulumi.get(self, "tech_emails")
249
+
250
+ @tech_emails.setter
251
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]]):
252
+ pulumi.set(self, "tech_emails", value)
253
+
238
254
  @property
239
255
  @pulumi.getter(name="terminationProtection")
240
256
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
@@ -277,6 +293,7 @@ class _ClickhouseState:
277
293
  state: Optional[pulumi.Input[str]] = None,
278
294
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
279
295
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]] = None,
296
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]] = None,
280
297
  termination_protection: Optional[pulumi.Input[bool]] = None):
281
298
  """
282
299
  Input properties used for looking up and filtering Clickhouse resources.
@@ -306,6 +323,7 @@ class _ClickhouseState:
306
323
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
307
324
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
308
325
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
326
+ :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
309
327
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
310
328
  """
311
329
  if additional_disk_space is not None:
@@ -363,6 +381,8 @@ class _ClickhouseState:
363
381
  pulumi.set(__self__, "static_ips", static_ips)
364
382
  if tags is not None:
365
383
  pulumi.set(__self__, "tags", tags)
384
+ if tech_emails is not None:
385
+ pulumi.set(__self__, "tech_emails", tech_emails)
366
386
  if termination_protection is not None:
367
387
  pulumi.set(__self__, "termination_protection", termination_protection)
368
388
 
@@ -681,6 +701,18 @@ class _ClickhouseState:
681
701
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]]):
682
702
  pulumi.set(self, "tags", value)
683
703
 
704
+ @property
705
+ @pulumi.getter(name="techEmails")
706
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]]:
707
+ """
708
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
709
+ """
710
+ return pulumi.get(self, "tech_emails")
711
+
712
+ @tech_emails.setter
713
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTechEmailArgs']]]]):
714
+ pulumi.set(self, "tech_emails", value)
715
+
684
716
  @property
685
717
  @pulumi.getter(name="terminationProtection")
686
718
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
@@ -712,6 +744,7 @@ class Clickhouse(pulumi.CustomResource):
712
744
  service_name: Optional[pulumi.Input[str]] = None,
713
745
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
714
746
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]]] = None,
747
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTechEmailArgs']]]]] = None,
715
748
  termination_protection: Optional[pulumi.Input[bool]] = None,
716
749
  __props__=None):
717
750
  """
@@ -753,6 +786,7 @@ class Clickhouse(pulumi.CustomResource):
753
786
  :param pulumi.Input[str] service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
754
787
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
755
788
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
789
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
756
790
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
757
791
  """
758
792
  ...
@@ -813,6 +847,7 @@ class Clickhouse(pulumi.CustomResource):
813
847
  service_name: Optional[pulumi.Input[str]] = None,
814
848
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
815
849
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]]] = None,
850
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTechEmailArgs']]]]] = None,
816
851
  termination_protection: Optional[pulumi.Input[bool]] = None,
817
852
  __props__=None):
818
853
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -842,6 +877,7 @@ class Clickhouse(pulumi.CustomResource):
842
877
  __props__.__dict__["service_name"] = service_name
843
878
  __props__.__dict__["static_ips"] = static_ips
844
879
  __props__.__dict__["tags"] = tags
880
+ __props__.__dict__["tech_emails"] = tech_emails
845
881
  __props__.__dict__["termination_protection"] = termination_protection
846
882
  __props__.__dict__["clickhouses"] = None
847
883
  __props__.__dict__["components"] = None
@@ -894,6 +930,7 @@ class Clickhouse(pulumi.CustomResource):
894
930
  state: Optional[pulumi.Input[str]] = None,
895
931
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
896
932
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]]] = None,
933
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTechEmailArgs']]]]] = None,
897
934
  termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Clickhouse':
898
935
  """
899
936
  Get an existing Clickhouse resource's state with the given name, id, and optional extra
@@ -928,6 +965,7 @@ class Clickhouse(pulumi.CustomResource):
928
965
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
929
966
  :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
930
967
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
968
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
931
969
  :param pulumi.Input[bool] termination_protection: Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
932
970
  """
933
971
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -960,6 +998,7 @@ class Clickhouse(pulumi.CustomResource):
960
998
  __props__.__dict__["state"] = state
961
999
  __props__.__dict__["static_ips"] = static_ips
962
1000
  __props__.__dict__["tags"] = tags
1001
+ __props__.__dict__["tech_emails"] = tech_emails
963
1002
  __props__.__dict__["termination_protection"] = termination_protection
964
1003
  return Clickhouse(resource_name, opts=opts, __props__=__props__)
965
1004
 
@@ -1174,6 +1213,14 @@ class Clickhouse(pulumi.CustomResource):
1174
1213
  """
1175
1214
  return pulumi.get(self, "tags")
1176
1215
 
1216
+ @property
1217
+ @pulumi.getter(name="techEmails")
1218
+ def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.ClickhouseTechEmail']]]:
1219
+ """
1220
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
1221
+ """
1222
+ return pulumi.get(self, "tech_emails")
1223
+
1177
1224
  @property
1178
1225
  @pulumi.getter(name="terminationProtection")
1179
1226
  def termination_protection(self) -> pulumi.Output[Optional[bool]]:
@@ -0,0 +1,16 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ apiToken: Optional[str]
13
+ """
14
+ Aiven authentication token. Can also be set with the AIVEN_TOKEN environment variable.
15
+ """
16
+