pulumi-aiven 6.13.0a1710156545__py3-none-any.whl → 6.31.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 (169) hide show
  1. pulumi_aiven/__init__.py +136 -0
  2. pulumi_aiven/_inputs.py +32749 -13711
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +32 -45
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +35 -14
  7. pulumi_aiven/account_team_member.py +48 -39
  8. pulumi_aiven/account_team_project.py +40 -27
  9. pulumi_aiven/alloydbomni.py +1335 -0
  10. pulumi_aiven/alloydbomni_database.py +347 -0
  11. pulumi_aiven/alloydbomni_user.py +433 -0
  12. pulumi_aiven/aws_privatelink.py +44 -43
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -61
  14. pulumi_aiven/azure_privatelink.py +54 -53
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -77
  17. pulumi_aiven/billing_group.py +33 -34
  18. pulumi_aiven/cassandra.py +145 -126
  19. pulumi_aiven/cassandra_user.py +59 -58
  20. pulumi_aiven/clickhouse.py +133 -114
  21. pulumi_aiven/clickhouse_database.py +58 -62
  22. pulumi_aiven/clickhouse_grant.py +135 -134
  23. pulumi_aiven/clickhouse_role.py +36 -49
  24. pulumi_aiven/clickhouse_user.py +50 -49
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -66
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -104
  30. pulumi_aiven/flink_application.py +58 -55
  31. pulumi_aiven/flink_application_deployment.py +178 -73
  32. pulumi_aiven/flink_application_version.py +179 -96
  33. pulumi_aiven/gcp_privatelink.py +69 -42
  34. pulumi_aiven/gcp_privatelink_connection_approval.py +78 -49
  35. pulumi_aiven/gcp_vpc_peering_connection.py +49 -48
  36. pulumi_aiven/get_account.py +20 -9
  37. pulumi_aiven/get_account_authentication.py +31 -5
  38. pulumi_aiven/get_account_team.py +18 -5
  39. pulumi_aiven/get_account_team_member.py +29 -14
  40. pulumi_aiven/get_account_team_project.py +19 -6
  41. pulumi_aiven/get_alloydbomni.py +499 -0
  42. pulumi_aiven/get_alloydbomni_database.py +168 -0
  43. pulumi_aiven/get_alloydbomni_user.py +210 -0
  44. pulumi_aiven/get_aws_privatelink.py +33 -24
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -33
  46. pulumi_aiven/get_azure_privatelink.py +37 -26
  47. pulumi_aiven/get_azure_vpc_peering_connection.py +77 -28
  48. pulumi_aiven/get_billing_group.py +31 -8
  49. pulumi_aiven/get_cassanda.py +55 -23
  50. pulumi_aiven/get_cassandra.py +55 -23
  51. pulumi_aiven/get_cassandra_user.py +42 -30
  52. pulumi_aiven/get_clickhouse.py +55 -23
  53. pulumi_aiven/get_clickhouse_database.py +35 -26
  54. pulumi_aiven/get_clickhouse_user.py +40 -29
  55. pulumi_aiven/get_connection_pool.py +43 -30
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -23
  59. pulumi_aiven/get_flink_application.py +44 -31
  60. pulumi_aiven/get_flink_application_version.py +55 -37
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -28
  63. pulumi_aiven/get_grafana.py +55 -23
  64. pulumi_aiven/get_influx_db.py +41 -5
  65. pulumi_aiven/get_influxdb_database.py +18 -5
  66. pulumi_aiven/get_influxdb_user.py +21 -5
  67. pulumi_aiven/get_kafka.py +59 -25
  68. pulumi_aiven/get_kafka_acl.py +50 -37
  69. pulumi_aiven/get_kafka_connect.py +54 -36
  70. pulumi_aiven/get_kafka_connector.py +44 -28
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -32
  72. pulumi_aiven/get_kafka_schema.py +35 -23
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -21
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -29
  76. pulumi_aiven/get_kafka_user.py +42 -30
  77. pulumi_aiven/get_m3_aggregator.py +51 -19
  78. pulumi_aiven/get_m3_db.py +55 -23
  79. pulumi_aiven/get_m3db_user.py +38 -28
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -25
  81. pulumi_aiven/get_my_sql.py +50 -18
  82. pulumi_aiven/get_mysql_database.py +31 -22
  83. pulumi_aiven/get_mysql_user.py +36 -23
  84. pulumi_aiven/get_open_search.py +50 -18
  85. pulumi_aiven/get_open_search_acl_config.py +27 -19
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -25
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -19
  88. pulumi_aiven/get_opensearch_user.py +32 -22
  89. pulumi_aiven/get_organization.py +25 -17
  90. pulumi_aiven/get_organization_application_user.py +176 -0
  91. pulumi_aiven/get_organization_user.py +18 -5
  92. pulumi_aiven/get_organization_user_group.py +48 -14
  93. pulumi_aiven/get_organization_user_list.py +121 -0
  94. pulumi_aiven/get_organizational_unit.py +26 -14
  95. pulumi_aiven/get_pg.py +55 -23
  96. pulumi_aiven/get_pg_database.py +39 -28
  97. pulumi_aiven/get_pg_user.py +44 -31
  98. pulumi_aiven/get_project.py +43 -26
  99. pulumi_aiven/get_project_user.py +27 -19
  100. pulumi_aiven/get_project_vpc.py +31 -23
  101. pulumi_aiven/get_redis.py +50 -18
  102. pulumi_aiven/get_redis_user.py +40 -26
  103. pulumi_aiven/get_service_component.py +40 -22
  104. pulumi_aiven/get_service_integration.py +163 -53
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -37
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -22
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -322
  111. pulumi_aiven/influx_db.py +127 -90
  112. pulumi_aiven/influxdb_database.py +40 -55
  113. pulumi_aiven/influxdb_user.py +47 -42
  114. pulumi_aiven/kafka.py +157 -144
  115. pulumi_aiven/kafka_acl.py +64 -57
  116. pulumi_aiven/kafka_connect.py +201 -332
  117. pulumi_aiven/kafka_connector.py +67 -60
  118. pulumi_aiven/kafka_mirror_maker.py +137 -320
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_quota.py +604 -0
  121. pulumi_aiven/kafka_schema.py +63 -58
  122. pulumi_aiven/kafka_schema_configuration.py +25 -24
  123. pulumi_aiven/kafka_schema_registry_acl.py +80 -35
  124. pulumi_aiven/kafka_topic.py +184 -65
  125. pulumi_aiven/kafka_user.py +59 -58
  126. pulumi_aiven/m3_aggregator.py +174 -310
  127. pulumi_aiven/m3_db.py +190 -326
  128. pulumi_aiven/m3db_user.py +51 -50
  129. pulumi_aiven/mirror_maker_replication_flow.py +215 -55
  130. pulumi_aiven/my_sql.py +188 -324
  131. pulumi_aiven/mysql_database.py +32 -51
  132. pulumi_aiven/mysql_user.py +37 -36
  133. pulumi_aiven/open_search.py +126 -107
  134. pulumi_aiven/open_search_acl_config.py +33 -36
  135. pulumi_aiven/open_search_acl_rule.py +55 -54
  136. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  137. pulumi_aiven/opensearch_user.py +30 -29
  138. pulumi_aiven/organization.py +18 -17
  139. pulumi_aiven/organization_application_user.py +345 -0
  140. pulumi_aiven/organization_application_user_token.py +711 -0
  141. pulumi_aiven/organization_group_project.py +349 -0
  142. pulumi_aiven/organization_permission.py +421 -0
  143. pulumi_aiven/organization_user.py +25 -46
  144. pulumi_aiven/organization_user_group.py +64 -23
  145. pulumi_aiven/organization_user_group_member.py +359 -0
  146. pulumi_aiven/organizational_unit.py +41 -36
  147. pulumi_aiven/outputs.py +38976 -21894
  148. pulumi_aiven/pg.py +92 -88
  149. pulumi_aiven/pg_database.py +52 -71
  150. pulumi_aiven/pg_user.py +80 -65
  151. pulumi_aiven/project.py +111 -102
  152. pulumi_aiven/project_user.py +44 -35
  153. pulumi_aiven/project_vpc.py +58 -29
  154. pulumi_aiven/provider.py +5 -0
  155. pulumi_aiven/pulumi-plugin.json +2 -1
  156. pulumi_aiven/redis.py +161 -297
  157. pulumi_aiven/redis_user.py +58 -57
  158. pulumi_aiven/service_integration.py +511 -165
  159. pulumi_aiven/service_integration_endpoint.py +466 -158
  160. pulumi_aiven/static_ip.py +21 -16
  161. pulumi_aiven/thanos.py +1262 -0
  162. pulumi_aiven/transit_gateway_vpc_attachment.py +44 -58
  163. pulumi_aiven/valkey.py +1256 -0
  164. pulumi_aiven/valkey_user.py +606 -0
  165. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/METADATA +7 -6
  166. pulumi_aiven-6.31.0.dist-info/RECORD +170 -0
  167. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/WHEEL +1 -1
  168. pulumi_aiven-6.13.0a1710156545.dist-info/RECORD +0 -146
  169. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/top_level.txt +0 -0
pulumi_aiven/kafka.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -24,6 +29,7 @@ class KafkaArgs:
24
29
  default_acl: Optional[pulumi.Input[bool]] = None,
25
30
  disk_space: Optional[pulumi.Input[str]] = None,
26
31
  kafka_user_config: Optional[pulumi.Input['KafkaKafkaUserConfigArgs']] = None,
32
+ kafkas: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]]] = None,
27
33
  karapace: Optional[pulumi.Input[bool]] = None,
28
34
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
29
35
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
@@ -35,22 +41,23 @@ class KafkaArgs:
35
41
  termination_protection: Optional[pulumi.Input[bool]] = None):
36
42
  """
37
43
  The set of arguments for constructing a Kafka resource.
38
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
39
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
44
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
45
+ :param pulumi.Input[str] project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
40
46
  :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.
41
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
47
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
42
48
  :param pulumi.Input[str] cloud_name: Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
43
- :param pulumi.Input[bool] default_acl: Create default wildcard Kafka ACL
49
+ :param pulumi.Input[bool] default_acl: Create a default wildcard Kafka ACL.
44
50
  :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
45
- :param pulumi.Input['KafkaKafkaUserConfigArgs'] kafka_user_config: Kafka user configurable settings
46
- :param pulumi.Input[bool] karapace: Switch the service to use Karapace for schema registry and REST proxy
51
+ :param pulumi.Input['KafkaKafkaUserConfigArgs'] kafka_user_config: Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
52
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]] kafkas: Kafka server connection details.
53
+ :param pulumi.Input[bool] karapace: Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
47
54
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
48
55
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
49
56
  :param pulumi.Input[str] project_vpc_id: Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
50
57
  :param pulumi.Input[Sequence[pulumi.Input['KafkaServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
51
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
58
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
52
59
  :param pulumi.Input[Sequence[pulumi.Input['KafkaTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
53
- :param pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
60
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]] tech_emails: The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
54
61
  :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.
55
62
  """
56
63
  pulumi.set(__self__, "plan", plan)
@@ -69,6 +76,8 @@ class KafkaArgs:
69
76
  pulumi.set(__self__, "disk_space", disk_space)
70
77
  if kafka_user_config is not None:
71
78
  pulumi.set(__self__, "kafka_user_config", kafka_user_config)
79
+ if kafkas is not None:
80
+ pulumi.set(__self__, "kafkas", kafkas)
72
81
  if karapace is not None:
73
82
  warnings.warn("""Usage of this field is discouraged.""", DeprecationWarning)
74
83
  pulumi.log.warn("""karapace is deprecated: Usage of this field is discouraged.""")
@@ -95,7 +104,7 @@ class KafkaArgs:
95
104
  @pulumi.getter
96
105
  def plan(self) -> pulumi.Input[str]:
97
106
  """
98
- Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
107
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
99
108
  """
100
109
  return pulumi.get(self, "plan")
101
110
 
@@ -107,7 +116,7 @@ class KafkaArgs:
107
116
  @pulumi.getter
108
117
  def project(self) -> pulumi.Input[str]:
109
118
  """
110
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
119
+ The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
111
120
  """
112
121
  return pulumi.get(self, "project")
113
122
 
@@ -131,7 +140,7 @@ class KafkaArgs:
131
140
  @pulumi.getter(name="additionalDiskSpace")
132
141
  def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
133
142
  """
134
- Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
143
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
135
144
  """
136
145
  return pulumi.get(self, "additional_disk_space")
137
146
 
@@ -155,7 +164,7 @@ class KafkaArgs:
155
164
  @pulumi.getter(name="defaultAcl")
156
165
  def default_acl(self) -> Optional[pulumi.Input[bool]]:
157
166
  """
158
- Create default wildcard Kafka ACL
167
+ Create a default wildcard Kafka ACL.
159
168
  """
160
169
  return pulumi.get(self, "default_acl")
161
170
 
@@ -165,13 +174,11 @@ class KafkaArgs:
165
174
 
166
175
  @property
167
176
  @pulumi.getter(name="diskSpace")
177
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
168
178
  def disk_space(self) -> Optional[pulumi.Input[str]]:
169
179
  """
170
180
  Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
171
181
  """
172
- warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
173
- pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
174
-
175
182
  return pulumi.get(self, "disk_space")
176
183
 
177
184
  @disk_space.setter
@@ -182,7 +189,7 @@ class KafkaArgs:
182
189
  @pulumi.getter(name="kafkaUserConfig")
183
190
  def kafka_user_config(self) -> Optional[pulumi.Input['KafkaKafkaUserConfigArgs']]:
184
191
  """
185
- Kafka user configurable settings
192
+ Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
186
193
  """
187
194
  return pulumi.get(self, "kafka_user_config")
188
195
 
@@ -192,13 +199,23 @@ class KafkaArgs:
192
199
 
193
200
  @property
194
201
  @pulumi.getter
195
- def karapace(self) -> Optional[pulumi.Input[bool]]:
202
+ def kafkas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]]]:
196
203
  """
197
- Switch the service to use Karapace for schema registry and REST proxy
204
+ Kafka server connection details.
198
205
  """
199
- warnings.warn("""Usage of this field is discouraged.""", DeprecationWarning)
200
- pulumi.log.warn("""karapace is deprecated: Usage of this field is discouraged.""")
206
+ return pulumi.get(self, "kafkas")
207
+
208
+ @kafkas.setter
209
+ def kafkas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]]]):
210
+ pulumi.set(self, "kafkas", value)
201
211
 
212
+ @property
213
+ @pulumi.getter
214
+ @_utilities.deprecated("""Usage of this field is discouraged.""")
215
+ def karapace(self) -> Optional[pulumi.Input[bool]]:
216
+ """
217
+ Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
218
+ """
202
219
  return pulumi.get(self, "karapace")
203
220
 
204
221
  @karapace.setter
@@ -257,7 +274,7 @@ class KafkaArgs:
257
274
  @pulumi.getter(name="staticIps")
258
275
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
259
276
  """
260
- Use static public IP addresses.
277
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
261
278
  """
262
279
  return pulumi.get(self, "static_ips")
263
280
 
@@ -281,7 +298,7 @@ class KafkaArgs:
281
298
  @pulumi.getter(name="techEmails")
282
299
  def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]]]:
283
300
  """
284
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
301
+ The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
285
302
  """
286
303
  return pulumi.get(self, "tech_emails")
287
304
 
@@ -337,22 +354,22 @@ class _KafkaState:
337
354
  termination_protection: Optional[pulumi.Input[bool]] = None):
338
355
  """
339
356
  Input properties used for looking up and filtering Kafka resources.
340
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
357
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
341
358
  :param pulumi.Input[str] cloud_name: Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
342
359
  :param pulumi.Input[Sequence[pulumi.Input['KafkaComponentArgs']]] components: Service component information objects
343
- :param pulumi.Input[bool] default_acl: Create default wildcard Kafka ACL
360
+ :param pulumi.Input[bool] default_acl: Create a default wildcard Kafka ACL.
344
361
  :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
345
362
  :param pulumi.Input[str] disk_space_cap: The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
346
363
  :param pulumi.Input[str] disk_space_default: The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `disk_space`
347
364
  :param pulumi.Input[str] disk_space_step: The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
348
365
  :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
349
- :param pulumi.Input['KafkaKafkaUserConfigArgs'] kafka_user_config: Kafka user configurable settings
350
- :param pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]] kafkas: Kafka broker configuration values
351
- :param pulumi.Input[bool] karapace: Switch the service to use Karapace for schema registry and REST proxy
366
+ :param pulumi.Input['KafkaKafkaUserConfigArgs'] kafka_user_config: Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
367
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]] kafkas: Kafka server connection details.
368
+ :param pulumi.Input[bool] karapace: Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
352
369
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
353
370
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
354
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
355
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
371
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
372
+ :param pulumi.Input[str] project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
356
373
  :param pulumi.Input[str] project_vpc_id: Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
357
374
  :param pulumi.Input[str] service_host: The hostname of the service.
358
375
  :param pulumi.Input[Sequence[pulumi.Input['KafkaServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
@@ -363,9 +380,9 @@ class _KafkaState:
363
380
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
364
381
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
365
382
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
366
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
383
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
367
384
  :param pulumi.Input[Sequence[pulumi.Input['KafkaTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
368
- :param pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
385
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]] tech_emails: The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
369
386
  :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.
370
387
  """
371
388
  if additional_disk_space is not None:
@@ -387,6 +404,9 @@ class _KafkaState:
387
404
  pulumi.set(__self__, "disk_space_default", disk_space_default)
388
405
  if disk_space_step is not None:
389
406
  pulumi.set(__self__, "disk_space_step", disk_space_step)
407
+ if disk_space_used is not None:
408
+ warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
409
+ pulumi.log.warn("""disk_space_used is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
390
410
  if disk_space_used is not None:
391
411
  pulumi.set(__self__, "disk_space_used", disk_space_used)
392
412
  if kafka_user_config is not None:
@@ -439,7 +459,7 @@ class _KafkaState:
439
459
  @pulumi.getter(name="additionalDiskSpace")
440
460
  def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
441
461
  """
442
- Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
462
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
443
463
  """
444
464
  return pulumi.get(self, "additional_disk_space")
445
465
 
@@ -475,7 +495,7 @@ class _KafkaState:
475
495
  @pulumi.getter(name="defaultAcl")
476
496
  def default_acl(self) -> Optional[pulumi.Input[bool]]:
477
497
  """
478
- Create default wildcard Kafka ACL
498
+ Create a default wildcard Kafka ACL.
479
499
  """
480
500
  return pulumi.get(self, "default_acl")
481
501
 
@@ -485,13 +505,11 @@ class _KafkaState:
485
505
 
486
506
  @property
487
507
  @pulumi.getter(name="diskSpace")
508
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
488
509
  def disk_space(self) -> Optional[pulumi.Input[str]]:
489
510
  """
490
511
  Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
491
512
  """
492
- warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
493
- pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
494
-
495
513
  return pulumi.get(self, "disk_space")
496
514
 
497
515
  @disk_space.setter
@@ -536,6 +554,7 @@ class _KafkaState:
536
554
 
537
555
  @property
538
556
  @pulumi.getter(name="diskSpaceUsed")
557
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
539
558
  def disk_space_used(self) -> Optional[pulumi.Input[str]]:
540
559
  """
541
560
  Disk space that service is currently using
@@ -550,7 +569,7 @@ class _KafkaState:
550
569
  @pulumi.getter(name="kafkaUserConfig")
551
570
  def kafka_user_config(self) -> Optional[pulumi.Input['KafkaKafkaUserConfigArgs']]:
552
571
  """
553
- Kafka user configurable settings
572
+ Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
554
573
  """
555
574
  return pulumi.get(self, "kafka_user_config")
556
575
 
@@ -562,7 +581,7 @@ class _KafkaState:
562
581
  @pulumi.getter
563
582
  def kafkas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaKafkaArgs']]]]:
564
583
  """
565
- Kafka broker configuration values
584
+ Kafka server connection details.
566
585
  """
567
586
  return pulumi.get(self, "kafkas")
568
587
 
@@ -572,13 +591,11 @@ class _KafkaState:
572
591
 
573
592
  @property
574
593
  @pulumi.getter
594
+ @_utilities.deprecated("""Usage of this field is discouraged.""")
575
595
  def karapace(self) -> Optional[pulumi.Input[bool]]:
576
596
  """
577
- Switch the service to use Karapace for schema registry and REST proxy
597
+ Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
578
598
  """
579
- warnings.warn("""Usage of this field is discouraged.""", DeprecationWarning)
580
- pulumi.log.warn("""karapace is deprecated: Usage of this field is discouraged.""")
581
-
582
599
  return pulumi.get(self, "karapace")
583
600
 
584
601
  @karapace.setter
@@ -613,7 +630,7 @@ class _KafkaState:
613
630
  @pulumi.getter
614
631
  def plan(self) -> Optional[pulumi.Input[str]]:
615
632
  """
616
- Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
633
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
617
634
  """
618
635
  return pulumi.get(self, "plan")
619
636
 
@@ -625,7 +642,7 @@ class _KafkaState:
625
642
  @pulumi.getter
626
643
  def project(self) -> Optional[pulumi.Input[str]]:
627
644
  """
628
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
645
+ The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
629
646
  """
630
647
  return pulumi.get(self, "project")
631
648
 
@@ -757,7 +774,7 @@ class _KafkaState:
757
774
  @pulumi.getter(name="staticIps")
758
775
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
759
776
  """
760
- Use static public IP addresses.
777
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
761
778
  """
762
779
  return pulumi.get(self, "static_ips")
763
780
 
@@ -781,7 +798,7 @@ class _KafkaState:
781
798
  @pulumi.getter(name="techEmails")
782
799
  def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTechEmailArgs']]]]:
783
800
  """
784
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
801
+ The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
785
802
  """
786
803
  return pulumi.get(self, "tech_emails")
787
804
 
@@ -811,78 +828,78 @@ class Kafka(pulumi.CustomResource):
811
828
  cloud_name: Optional[pulumi.Input[str]] = None,
812
829
  default_acl: Optional[pulumi.Input[bool]] = None,
813
830
  disk_space: Optional[pulumi.Input[str]] = None,
814
- kafka_user_config: Optional[pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']]] = None,
831
+ kafka_user_config: Optional[pulumi.Input[Union['KafkaKafkaUserConfigArgs', 'KafkaKafkaUserConfigArgsDict']]] = None,
832
+ kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaKafkaArgs', 'KafkaKafkaArgsDict']]]]] = None,
815
833
  karapace: Optional[pulumi.Input[bool]] = None,
816
834
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
817
835
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
818
836
  plan: Optional[pulumi.Input[str]] = None,
819
837
  project: Optional[pulumi.Input[str]] = None,
820
838
  project_vpc_id: Optional[pulumi.Input[str]] = None,
821
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaServiceIntegrationArgs']]]]] = None,
839
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaServiceIntegrationArgs', 'KafkaServiceIntegrationArgsDict']]]]] = None,
822
840
  service_name: Optional[pulumi.Input[str]] = None,
823
841
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
824
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]]] = None,
825
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTechEmailArgs']]]]] = None,
842
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTagArgs', 'KafkaTagArgsDict']]]]] = None,
843
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTechEmailArgs', 'KafkaTechEmailArgsDict']]]]] = None,
826
844
  termination_protection: Optional[pulumi.Input[bool]] = None,
827
845
  __props__=None):
828
846
  """
829
- The Kafka resource allows the creation and management of Aiven Kafka services.
847
+ Creates and manages an [Aiven for Apache Kafka®](https://aiven.io/docs/products/kafka) service.
830
848
 
831
849
  ## Example Usage
832
850
 
833
- <!--Start PulumiCodeChooser -->
834
851
  ```python
835
852
  import pulumi
836
853
  import pulumi_aiven as aiven
837
854
 
838
- kafka1 = aiven.Kafka("kafka1",
839
- project=data["aiven_project"]["pr1"]["project"],
855
+ example_kafka = aiven.Kafka("example_kafka",
856
+ project=example_project["project"],
840
857
  cloud_name="google-europe-west1",
841
858
  plan="business-4",
842
- service_name="my-kafka1",
859
+ service_name="example-kafka",
843
860
  maintenance_window_dow="monday",
844
861
  maintenance_window_time="10:00:00",
845
- kafka_user_config=aiven.KafkaKafkaUserConfigArgs(
846
- kafka_rest=True,
847
- kafka_connect=True,
848
- schema_registry=True,
849
- kafka_version="3.5",
850
- kafka=aiven.KafkaKafkaUserConfigKafkaArgs(
851
- group_max_session_timeout_ms=70000,
852
- log_retention_bytes=1000000000,
853
- ),
854
- public_access=aiven.KafkaKafkaUserConfigPublicAccessArgs(
855
- kafka_rest=True,
856
- kafka_connect=True,
857
- ),
858
- ))
862
+ kafka_user_config={
863
+ "kafka_rest": True,
864
+ "kafka_connect": True,
865
+ "schema_registry": True,
866
+ "kafka_version": "3.5",
867
+ "kafka": {
868
+ "group_max_session_timeout_ms": 70000,
869
+ "log_retention_bytes": 1000000000,
870
+ },
871
+ "public_access": {
872
+ "kafka_rest": True,
873
+ "kafka_connect": True,
874
+ },
875
+ })
859
876
  ```
860
- <!--End PulumiCodeChooser -->
861
877
 
862
878
  ## Import
863
879
 
864
880
  ```sh
865
- $ pulumi import aiven:index/kafka:Kafka kafka1 project/service_name
881
+ $ pulumi import aiven:index/kafka:Kafka example_kafka PROJECT/SERVICE_NAME
866
882
  ```
867
883
 
868
884
  :param str resource_name: The name of the resource.
869
885
  :param pulumi.ResourceOptions opts: Options for the resource.
870
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
886
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
871
887
  :param pulumi.Input[str] cloud_name: Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
872
- :param pulumi.Input[bool] default_acl: Create default wildcard Kafka ACL
888
+ :param pulumi.Input[bool] default_acl: Create a default wildcard Kafka ACL.
873
889
  :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
874
- :param pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']] kafka_user_config: Kafka user configurable settings
875
- :param pulumi.Input[bool] karapace: Switch the service to use Karapace for schema registry and REST proxy
890
+ :param pulumi.Input[Union['KafkaKafkaUserConfigArgs', 'KafkaKafkaUserConfigArgsDict']] kafka_user_config: Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
891
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaKafkaArgs', 'KafkaKafkaArgsDict']]]] kafkas: Kafka server connection details.
892
+ :param pulumi.Input[bool] karapace: Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
876
893
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
877
894
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
878
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
879
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
895
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
896
+ :param pulumi.Input[str] project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
880
897
  :param pulumi.Input[str] project_vpc_id: Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
881
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
898
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaServiceIntegrationArgs', 'KafkaServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
882
899
  :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.
883
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
884
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
885
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
900
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
901
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTagArgs', 'KafkaTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
902
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTechEmailArgs', 'KafkaTechEmailArgsDict']]]] tech_emails: The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
886
903
  :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.
887
904
  """
888
905
  ...
@@ -892,43 +909,41 @@ class Kafka(pulumi.CustomResource):
892
909
  args: KafkaArgs,
893
910
  opts: Optional[pulumi.ResourceOptions] = None):
894
911
  """
895
- The Kafka resource allows the creation and management of Aiven Kafka services.
912
+ Creates and manages an [Aiven for Apache Kafka®](https://aiven.io/docs/products/kafka) service.
896
913
 
897
914
  ## Example Usage
898
915
 
899
- <!--Start PulumiCodeChooser -->
900
916
  ```python
901
917
  import pulumi
902
918
  import pulumi_aiven as aiven
903
919
 
904
- kafka1 = aiven.Kafka("kafka1",
905
- project=data["aiven_project"]["pr1"]["project"],
920
+ example_kafka = aiven.Kafka("example_kafka",
921
+ project=example_project["project"],
906
922
  cloud_name="google-europe-west1",
907
923
  plan="business-4",
908
- service_name="my-kafka1",
924
+ service_name="example-kafka",
909
925
  maintenance_window_dow="monday",
910
926
  maintenance_window_time="10:00:00",
911
- kafka_user_config=aiven.KafkaKafkaUserConfigArgs(
912
- kafka_rest=True,
913
- kafka_connect=True,
914
- schema_registry=True,
915
- kafka_version="3.5",
916
- kafka=aiven.KafkaKafkaUserConfigKafkaArgs(
917
- group_max_session_timeout_ms=70000,
918
- log_retention_bytes=1000000000,
919
- ),
920
- public_access=aiven.KafkaKafkaUserConfigPublicAccessArgs(
921
- kafka_rest=True,
922
- kafka_connect=True,
923
- ),
924
- ))
927
+ kafka_user_config={
928
+ "kafka_rest": True,
929
+ "kafka_connect": True,
930
+ "schema_registry": True,
931
+ "kafka_version": "3.5",
932
+ "kafka": {
933
+ "group_max_session_timeout_ms": 70000,
934
+ "log_retention_bytes": 1000000000,
935
+ },
936
+ "public_access": {
937
+ "kafka_rest": True,
938
+ "kafka_connect": True,
939
+ },
940
+ })
925
941
  ```
926
- <!--End PulumiCodeChooser -->
927
942
 
928
943
  ## Import
929
944
 
930
945
  ```sh
931
- $ pulumi import aiven:index/kafka:Kafka kafka1 project/service_name
946
+ $ pulumi import aiven:index/kafka:Kafka example_kafka PROJECT/SERVICE_NAME
932
947
  ```
933
948
 
934
949
  :param str resource_name: The name of the resource.
@@ -950,18 +965,19 @@ class Kafka(pulumi.CustomResource):
950
965
  cloud_name: Optional[pulumi.Input[str]] = None,
951
966
  default_acl: Optional[pulumi.Input[bool]] = None,
952
967
  disk_space: Optional[pulumi.Input[str]] = None,
953
- kafka_user_config: Optional[pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']]] = None,
968
+ kafka_user_config: Optional[pulumi.Input[Union['KafkaKafkaUserConfigArgs', 'KafkaKafkaUserConfigArgsDict']]] = None,
969
+ kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaKafkaArgs', 'KafkaKafkaArgsDict']]]]] = None,
954
970
  karapace: Optional[pulumi.Input[bool]] = None,
955
971
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
956
972
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
957
973
  plan: Optional[pulumi.Input[str]] = None,
958
974
  project: Optional[pulumi.Input[str]] = None,
959
975
  project_vpc_id: Optional[pulumi.Input[str]] = None,
960
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaServiceIntegrationArgs']]]]] = None,
976
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaServiceIntegrationArgs', 'KafkaServiceIntegrationArgsDict']]]]] = None,
961
977
  service_name: Optional[pulumi.Input[str]] = None,
962
978
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
963
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]]] = None,
964
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTechEmailArgs']]]]] = None,
979
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTagArgs', 'KafkaTagArgsDict']]]]] = None,
980
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTechEmailArgs', 'KafkaTechEmailArgsDict']]]]] = None,
965
981
  termination_protection: Optional[pulumi.Input[bool]] = None,
966
982
  __props__=None):
967
983
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -977,6 +993,7 @@ class Kafka(pulumi.CustomResource):
977
993
  __props__.__dict__["default_acl"] = default_acl
978
994
  __props__.__dict__["disk_space"] = disk_space
979
995
  __props__.__dict__["kafka_user_config"] = kafka_user_config
996
+ __props__.__dict__["kafkas"] = None if kafkas is None else pulumi.Output.secret(kafkas)
980
997
  __props__.__dict__["karapace"] = karapace
981
998
  __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
982
999
  __props__.__dict__["maintenance_window_time"] = maintenance_window_time
@@ -1000,7 +1017,6 @@ class Kafka(pulumi.CustomResource):
1000
1017
  __props__.__dict__["disk_space_default"] = None
1001
1018
  __props__.__dict__["disk_space_step"] = None
1002
1019
  __props__.__dict__["disk_space_used"] = None
1003
- __props__.__dict__["kafkas"] = None
1004
1020
  __props__.__dict__["service_host"] = None
1005
1021
  __props__.__dict__["service_password"] = None
1006
1022
  __props__.__dict__["service_port"] = None
@@ -1008,7 +1024,7 @@ class Kafka(pulumi.CustomResource):
1008
1024
  __props__.__dict__["service_uri"] = None
1009
1025
  __props__.__dict__["service_username"] = None
1010
1026
  __props__.__dict__["state"] = None
1011
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["servicePassword", "serviceUri"])
1027
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["kafkas", "servicePassword", "serviceUri"])
1012
1028
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1013
1029
  super(Kafka, __self__).__init__(
1014
1030
  'aiven:index/kafka:Kafka',
@@ -1022,15 +1038,15 @@ class Kafka(pulumi.CustomResource):
1022
1038
  opts: Optional[pulumi.ResourceOptions] = None,
1023
1039
  additional_disk_space: Optional[pulumi.Input[str]] = None,
1024
1040
  cloud_name: Optional[pulumi.Input[str]] = None,
1025
- components: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaComponentArgs']]]]] = None,
1041
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaComponentArgs', 'KafkaComponentArgsDict']]]]] = None,
1026
1042
  default_acl: Optional[pulumi.Input[bool]] = None,
1027
1043
  disk_space: Optional[pulumi.Input[str]] = None,
1028
1044
  disk_space_cap: Optional[pulumi.Input[str]] = None,
1029
1045
  disk_space_default: Optional[pulumi.Input[str]] = None,
1030
1046
  disk_space_step: Optional[pulumi.Input[str]] = None,
1031
1047
  disk_space_used: Optional[pulumi.Input[str]] = None,
1032
- kafka_user_config: Optional[pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']]] = None,
1033
- kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaKafkaArgs']]]]] = None,
1048
+ kafka_user_config: Optional[pulumi.Input[Union['KafkaKafkaUserConfigArgs', 'KafkaKafkaUserConfigArgsDict']]] = None,
1049
+ kafkas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaKafkaArgs', 'KafkaKafkaArgsDict']]]]] = None,
1034
1050
  karapace: Optional[pulumi.Input[bool]] = None,
1035
1051
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
1036
1052
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
@@ -1038,7 +1054,7 @@ class Kafka(pulumi.CustomResource):
1038
1054
  project: Optional[pulumi.Input[str]] = None,
1039
1055
  project_vpc_id: Optional[pulumi.Input[str]] = None,
1040
1056
  service_host: Optional[pulumi.Input[str]] = None,
1041
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaServiceIntegrationArgs']]]]] = None,
1057
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaServiceIntegrationArgs', 'KafkaServiceIntegrationArgsDict']]]]] = None,
1042
1058
  service_name: Optional[pulumi.Input[str]] = None,
1043
1059
  service_password: Optional[pulumi.Input[str]] = None,
1044
1060
  service_port: Optional[pulumi.Input[int]] = None,
@@ -1047,8 +1063,8 @@ class Kafka(pulumi.CustomResource):
1047
1063
  service_username: Optional[pulumi.Input[str]] = None,
1048
1064
  state: Optional[pulumi.Input[str]] = None,
1049
1065
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1050
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]]] = None,
1051
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTechEmailArgs']]]]] = None,
1066
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTagArgs', 'KafkaTagArgsDict']]]]] = None,
1067
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTechEmailArgs', 'KafkaTechEmailArgsDict']]]]] = None,
1052
1068
  termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Kafka':
1053
1069
  """
1054
1070
  Get an existing Kafka resource's state with the given name, id, and optional extra
@@ -1057,25 +1073,25 @@ class Kafka(pulumi.CustomResource):
1057
1073
  :param str resource_name: The unique name of the resulting resource.
1058
1074
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1059
1075
  :param pulumi.ResourceOptions opts: Options for the resource.
1060
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1076
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
1061
1077
  :param pulumi.Input[str] cloud_name: Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
1062
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaComponentArgs']]]] components: Service component information objects
1063
- :param pulumi.Input[bool] default_acl: Create default wildcard Kafka ACL
1078
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaComponentArgs', 'KafkaComponentArgsDict']]]] components: Service component information objects
1079
+ :param pulumi.Input[bool] default_acl: Create a default wildcard Kafka ACL.
1064
1080
  :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1065
1081
  :param pulumi.Input[str] disk_space_cap: The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
1066
1082
  :param pulumi.Input[str] disk_space_default: The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `disk_space`
1067
1083
  :param pulumi.Input[str] disk_space_step: The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
1068
1084
  :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
1069
- :param pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']] kafka_user_config: Kafka user configurable settings
1070
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaKafkaArgs']]]] kafkas: Kafka broker configuration values
1071
- :param pulumi.Input[bool] karapace: Switch the service to use Karapace for schema registry and REST proxy
1085
+ :param pulumi.Input[Union['KafkaKafkaUserConfigArgs', 'KafkaKafkaUserConfigArgsDict']] kafka_user_config: Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1086
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaKafkaArgs', 'KafkaKafkaArgsDict']]]] kafkas: Kafka server connection details.
1087
+ :param pulumi.Input[bool] karapace: Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
1072
1088
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1073
1089
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1074
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1075
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
1090
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
1091
+ :param pulumi.Input[str] project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
1076
1092
  :param pulumi.Input[str] project_vpc_id: Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
1077
1093
  :param pulumi.Input[str] service_host: The hostname of the service.
1078
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
1094
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaServiceIntegrationArgs', 'KafkaServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
1079
1095
  :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.
1080
1096
  :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
1081
1097
  :param pulumi.Input[int] service_port: The port of the service
@@ -1083,9 +1099,9 @@ class Kafka(pulumi.CustomResource):
1083
1099
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1084
1100
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
1085
1101
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1086
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
1087
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
1088
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
1102
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
1103
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTagArgs', 'KafkaTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
1104
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTechEmailArgs', 'KafkaTechEmailArgsDict']]]] tech_emails: The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
1089
1105
  :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.
1090
1106
  """
1091
1107
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1126,9 +1142,9 @@ class Kafka(pulumi.CustomResource):
1126
1142
 
1127
1143
  @property
1128
1144
  @pulumi.getter(name="additionalDiskSpace")
1129
- def additional_disk_space(self) -> pulumi.Output[Optional[str]]:
1145
+ def additional_disk_space(self) -> pulumi.Output[str]:
1130
1146
  """
1131
- Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1147
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
1132
1148
  """
1133
1149
  return pulumi.get(self, "additional_disk_space")
1134
1150
 
@@ -1152,19 +1168,17 @@ class Kafka(pulumi.CustomResource):
1152
1168
  @pulumi.getter(name="defaultAcl")
1153
1169
  def default_acl(self) -> pulumi.Output[Optional[bool]]:
1154
1170
  """
1155
- Create default wildcard Kafka ACL
1171
+ Create a default wildcard Kafka ACL.
1156
1172
  """
1157
1173
  return pulumi.get(self, "default_acl")
1158
1174
 
1159
1175
  @property
1160
1176
  @pulumi.getter(name="diskSpace")
1177
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1161
1178
  def disk_space(self) -> pulumi.Output[Optional[str]]:
1162
1179
  """
1163
1180
  Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1164
1181
  """
1165
- warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
1166
- pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1167
-
1168
1182
  return pulumi.get(self, "disk_space")
1169
1183
 
1170
1184
  @property
@@ -1193,6 +1207,7 @@ class Kafka(pulumi.CustomResource):
1193
1207
 
1194
1208
  @property
1195
1209
  @pulumi.getter(name="diskSpaceUsed")
1210
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1196
1211
  def disk_space_used(self) -> pulumi.Output[str]:
1197
1212
  """
1198
1213
  Disk space that service is currently using
@@ -1203,7 +1218,7 @@ class Kafka(pulumi.CustomResource):
1203
1218
  @pulumi.getter(name="kafkaUserConfig")
1204
1219
  def kafka_user_config(self) -> pulumi.Output[Optional['outputs.KafkaKafkaUserConfig']]:
1205
1220
  """
1206
- Kafka user configurable settings
1221
+ Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1207
1222
  """
1208
1223
  return pulumi.get(self, "kafka_user_config")
1209
1224
 
@@ -1211,19 +1226,17 @@ class Kafka(pulumi.CustomResource):
1211
1226
  @pulumi.getter
1212
1227
  def kafkas(self) -> pulumi.Output[Sequence['outputs.KafkaKafka']]:
1213
1228
  """
1214
- Kafka broker configuration values
1229
+ Kafka server connection details.
1215
1230
  """
1216
1231
  return pulumi.get(self, "kafkas")
1217
1232
 
1218
1233
  @property
1219
1234
  @pulumi.getter
1235
+ @_utilities.deprecated("""Usage of this field is discouraged.""")
1220
1236
  def karapace(self) -> pulumi.Output[Optional[bool]]:
1221
1237
  """
1222
- Switch the service to use Karapace for schema registry and REST proxy
1238
+ Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy.
1223
1239
  """
1224
- warnings.warn("""Usage of this field is discouraged.""", DeprecationWarning)
1225
- pulumi.log.warn("""karapace is deprecated: Usage of this field is discouraged.""")
1226
-
1227
1240
  return pulumi.get(self, "karapace")
1228
1241
 
1229
1242
  @property
@@ -1246,7 +1259,7 @@ class Kafka(pulumi.CustomResource):
1246
1259
  @pulumi.getter
1247
1260
  def plan(self) -> pulumi.Output[str]:
1248
1261
  """
1249
- Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1262
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
1250
1263
  """
1251
1264
  return pulumi.get(self, "plan")
1252
1265
 
@@ -1254,13 +1267,13 @@ class Kafka(pulumi.CustomResource):
1254
1267
  @pulumi.getter
1255
1268
  def project(self) -> pulumi.Output[str]:
1256
1269
  """
1257
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
1270
+ The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
1258
1271
  """
1259
1272
  return pulumi.get(self, "project")
1260
1273
 
1261
1274
  @property
1262
1275
  @pulumi.getter(name="projectVpcId")
1263
- def project_vpc_id(self) -> pulumi.Output[Optional[str]]:
1276
+ def project_vpc_id(self) -> pulumi.Output[str]:
1264
1277
  """
1265
1278
  Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
1266
1279
  """
@@ -1276,7 +1289,7 @@ class Kafka(pulumi.CustomResource):
1276
1289
 
1277
1290
  @property
1278
1291
  @pulumi.getter(name="serviceIntegrations")
1279
- def service_integrations(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaServiceIntegration']]]:
1292
+ def service_integrations(self) -> pulumi.Output[Sequence['outputs.KafkaServiceIntegration']]:
1280
1293
  """
1281
1294
  Service integrations to specify when creating a service. Not applied after initial service creation
1282
1295
  """
@@ -1342,7 +1355,7 @@ class Kafka(pulumi.CustomResource):
1342
1355
  @pulumi.getter(name="staticIps")
1343
1356
  def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1344
1357
  """
1345
- Use static public IP addresses.
1358
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
1346
1359
  """
1347
1360
  return pulumi.get(self, "static_ips")
1348
1361
 
@@ -1358,7 +1371,7 @@ class Kafka(pulumi.CustomResource):
1358
1371
  @pulumi.getter(name="techEmails")
1359
1372
  def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaTechEmail']]]:
1360
1373
  """
1361
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
1374
+ The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
1362
1375
  """
1363
1376
  return pulumi.get(self, "tech_emails")
1364
1377