pulumi-aiven 6.13.0a1709702245__py3-none-any.whl → 6.31.0a1736831339__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 (168) hide show
  1. pulumi_aiven/__init__.py +127 -0
  2. pulumi_aiven/_inputs.py +32826 -13922
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +34 -43
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +37 -12
  7. pulumi_aiven/account_team_member.py +48 -35
  8. pulumi_aiven/account_team_project.py +42 -25
  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 -39
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -57
  14. pulumi_aiven/azure_privatelink.py +54 -49
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -73
  17. pulumi_aiven/billing_group.py +33 -30
  18. pulumi_aiven/cassandra.py +145 -122
  19. pulumi_aiven/cassandra_user.py +59 -54
  20. pulumi_aiven/clickhouse.py +133 -110
  21. pulumi_aiven/clickhouse_database.py +58 -58
  22. pulumi_aiven/clickhouse_grant.py +135 -130
  23. pulumi_aiven/clickhouse_role.py +36 -45
  24. pulumi_aiven/clickhouse_user.py +50 -45
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -62
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -100
  30. pulumi_aiven/flink_application.py +58 -51
  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 -44
  36. pulumi_aiven/get_account.py +20 -5
  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 -20
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -29
  46. pulumi_aiven/get_azure_privatelink.py +37 -22
  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 -19
  50. pulumi_aiven/get_cassandra.py +55 -19
  51. pulumi_aiven/get_cassandra_user.py +42 -26
  52. pulumi_aiven/get_clickhouse.py +55 -19
  53. pulumi_aiven/get_clickhouse_database.py +35 -22
  54. pulumi_aiven/get_clickhouse_user.py +40 -25
  55. pulumi_aiven/get_connection_pool.py +43 -26
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -19
  59. pulumi_aiven/get_flink_application.py +44 -27
  60. pulumi_aiven/get_flink_application_version.py +55 -33
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -24
  63. pulumi_aiven/get_grafana.py +55 -19
  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 -21
  68. pulumi_aiven/get_kafka_acl.py +50 -33
  69. pulumi_aiven/get_kafka_connect.py +54 -32
  70. pulumi_aiven/get_kafka_connector.py +44 -24
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -28
  72. pulumi_aiven/get_kafka_schema.py +35 -19
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -17
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -25
  76. pulumi_aiven/get_kafka_user.py +42 -26
  77. pulumi_aiven/get_m3_aggregator.py +51 -15
  78. pulumi_aiven/get_m3_db.py +55 -19
  79. pulumi_aiven/get_m3db_user.py +38 -24
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -21
  81. pulumi_aiven/get_my_sql.py +50 -14
  82. pulumi_aiven/get_mysql_database.py +31 -18
  83. pulumi_aiven/get_mysql_user.py +36 -19
  84. pulumi_aiven/get_open_search.py +50 -14
  85. pulumi_aiven/get_open_search_acl_config.py +27 -15
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -21
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -15
  88. pulumi_aiven/get_opensearch_user.py +32 -18
  89. pulumi_aiven/get_organization.py +25 -13
  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 -19
  96. pulumi_aiven/get_pg_database.py +39 -24
  97. pulumi_aiven/get_pg_user.py +44 -27
  98. pulumi_aiven/get_project.py +43 -22
  99. pulumi_aiven/get_project_user.py +27 -15
  100. pulumi_aiven/get_project_vpc.py +31 -19
  101. pulumi_aiven/get_redis.py +50 -14
  102. pulumi_aiven/get_redis_user.py +40 -22
  103. pulumi_aiven/get_service_component.py +40 -18
  104. pulumi_aiven/get_service_integration.py +163 -49
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -33
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -18
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -318
  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 -140
  115. pulumi_aiven/kafka_acl.py +64 -53
  116. pulumi_aiven/kafka_connect.py +201 -328
  117. pulumi_aiven/kafka_connector.py +67 -56
  118. pulumi_aiven/kafka_mirror_maker.py +139 -318
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_schema.py +65 -56
  121. pulumi_aiven/kafka_schema_configuration.py +25 -20
  122. pulumi_aiven/kafka_schema_registry_acl.py +80 -35
  123. pulumi_aiven/kafka_topic.py +184 -65
  124. pulumi_aiven/kafka_user.py +59 -54
  125. pulumi_aiven/m3_aggregator.py +176 -308
  126. pulumi_aiven/m3_db.py +190 -322
  127. pulumi_aiven/m3db_user.py +51 -46
  128. pulumi_aiven/mirror_maker_replication_flow.py +217 -53
  129. pulumi_aiven/my_sql.py +190 -322
  130. pulumi_aiven/mysql_database.py +32 -47
  131. pulumi_aiven/mysql_user.py +37 -32
  132. pulumi_aiven/open_search.py +128 -105
  133. pulumi_aiven/open_search_acl_config.py +33 -32
  134. pulumi_aiven/open_search_acl_rule.py +55 -50
  135. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  136. pulumi_aiven/opensearch_user.py +30 -25
  137. pulumi_aiven/organization.py +18 -13
  138. pulumi_aiven/organization_application_user.py +345 -0
  139. pulumi_aiven/organization_application_user_token.py +711 -0
  140. pulumi_aiven/organization_group_project.py +349 -0
  141. pulumi_aiven/organization_permission.py +421 -0
  142. pulumi_aiven/organization_user.py +25 -46
  143. pulumi_aiven/organization_user_group.py +64 -23
  144. pulumi_aiven/organization_user_group_member.py +359 -0
  145. pulumi_aiven/organizational_unit.py +41 -32
  146. pulumi_aiven/outputs.py +38509 -21612
  147. pulumi_aiven/pg.py +92 -88
  148. pulumi_aiven/pg_database.py +52 -67
  149. pulumi_aiven/pg_user.py +80 -61
  150. pulumi_aiven/project.py +111 -102
  151. pulumi_aiven/project_user.py +44 -31
  152. pulumi_aiven/project_vpc.py +58 -29
  153. pulumi_aiven/provider.py +5 -0
  154. pulumi_aiven/pulumi-plugin.json +2 -1
  155. pulumi_aiven/redis.py +163 -295
  156. pulumi_aiven/redis_user.py +58 -53
  157. pulumi_aiven/service_integration.py +511 -161
  158. pulumi_aiven/service_integration_endpoint.py +466 -158
  159. pulumi_aiven/static_ip.py +21 -16
  160. pulumi_aiven/thanos.py +1262 -0
  161. pulumi_aiven/transit_gateway_vpc_attachment.py +44 -54
  162. pulumi_aiven/valkey.py +1256 -0
  163. pulumi_aiven/valkey_user.py +606 -0
  164. {pulumi_aiven-6.13.0a1709702245.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/METADATA +7 -6
  165. pulumi_aiven-6.31.0a1736831339.dist-info/RECORD +169 -0
  166. {pulumi_aiven-6.13.0a1709702245.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/WHEEL +1 -1
  167. pulumi_aiven-6.13.0a1709702245.dist-info/RECORD +0 -146
  168. {pulumi_aiven-6.13.0a1709702245.dist-info → pulumi_aiven-6.31.0a1736831339.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,22 +828,23 @@ 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
 
@@ -834,53 +852,54 @@ class Kafka(pulumi.CustomResource):
834
852
  import pulumi
835
853
  import pulumi_aiven as aiven
836
854
 
837
- kafka1 = aiven.Kafka("kafka1",
838
- project=data["aiven_project"]["pr1"]["project"],
855
+ example_kafka = aiven.Kafka("example_kafka",
856
+ project=example_project["project"],
839
857
  cloud_name="google-europe-west1",
840
858
  plan="business-4",
841
- service_name="my-kafka1",
859
+ service_name="example-kafka",
842
860
  maintenance_window_dow="monday",
843
861
  maintenance_window_time="10:00:00",
844
- kafka_user_config=aiven.KafkaKafkaUserConfigArgs(
845
- kafka_rest=True,
846
- kafka_connect=True,
847
- schema_registry=True,
848
- kafka_version="3.5",
849
- kafka=aiven.KafkaKafkaUserConfigKafkaArgs(
850
- group_max_session_timeout_ms=70000,
851
- log_retention_bytes=1000000000,
852
- ),
853
- public_access=aiven.KafkaKafkaUserConfigPublicAccessArgs(
854
- kafka_rest=True,
855
- kafka_connect=True,
856
- ),
857
- ))
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
+ })
858
876
  ```
859
877
 
860
878
  ## Import
861
879
 
862
880
  ```sh
863
- $ pulumi import aiven:index/kafka:Kafka kafka1 project/service_name
881
+ $ pulumi import aiven:index/kafka:Kafka example_kafka PROJECT/SERVICE_NAME
864
882
  ```
865
883
 
866
884
  :param str resource_name: The name of the resource.
867
885
  :param pulumi.ResourceOptions opts: Options for the resource.
868
- :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.
869
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).
870
- :param pulumi.Input[bool] default_acl: Create default wildcard Kafka ACL
888
+ :param pulumi.Input[bool] default_acl: Create a default wildcard Kafka ACL.
871
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.
872
- :param pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']] kafka_user_config: Kafka user configurable settings
873
- :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.
874
893
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
875
894
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
876
- :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).
877
- :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.
878
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.
879
- :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
880
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.
881
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
882
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
883
- :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.
884
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.
885
904
  """
886
905
  ...
@@ -890,7 +909,7 @@ class Kafka(pulumi.CustomResource):
890
909
  args: KafkaArgs,
891
910
  opts: Optional[pulumi.ResourceOptions] = None):
892
911
  """
893
- 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.
894
913
 
895
914
  ## Example Usage
896
915
 
@@ -898,33 +917,33 @@ class Kafka(pulumi.CustomResource):
898
917
  import pulumi
899
918
  import pulumi_aiven as aiven
900
919
 
901
- kafka1 = aiven.Kafka("kafka1",
902
- project=data["aiven_project"]["pr1"]["project"],
920
+ example_kafka = aiven.Kafka("example_kafka",
921
+ project=example_project["project"],
903
922
  cloud_name="google-europe-west1",
904
923
  plan="business-4",
905
- service_name="my-kafka1",
924
+ service_name="example-kafka",
906
925
  maintenance_window_dow="monday",
907
926
  maintenance_window_time="10:00:00",
908
- kafka_user_config=aiven.KafkaKafkaUserConfigArgs(
909
- kafka_rest=True,
910
- kafka_connect=True,
911
- schema_registry=True,
912
- kafka_version="3.5",
913
- kafka=aiven.KafkaKafkaUserConfigKafkaArgs(
914
- group_max_session_timeout_ms=70000,
915
- log_retention_bytes=1000000000,
916
- ),
917
- public_access=aiven.KafkaKafkaUserConfigPublicAccessArgs(
918
- kafka_rest=True,
919
- kafka_connect=True,
920
- ),
921
- ))
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
+ })
922
941
  ```
923
942
 
924
943
  ## Import
925
944
 
926
945
  ```sh
927
- $ pulumi import aiven:index/kafka:Kafka kafka1 project/service_name
946
+ $ pulumi import aiven:index/kafka:Kafka example_kafka PROJECT/SERVICE_NAME
928
947
  ```
929
948
 
930
949
  :param str resource_name: The name of the resource.
@@ -946,18 +965,19 @@ class Kafka(pulumi.CustomResource):
946
965
  cloud_name: Optional[pulumi.Input[str]] = None,
947
966
  default_acl: Optional[pulumi.Input[bool]] = None,
948
967
  disk_space: Optional[pulumi.Input[str]] = None,
949
- 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,
950
970
  karapace: Optional[pulumi.Input[bool]] = None,
951
971
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
952
972
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
953
973
  plan: Optional[pulumi.Input[str]] = None,
954
974
  project: Optional[pulumi.Input[str]] = None,
955
975
  project_vpc_id: Optional[pulumi.Input[str]] = None,
956
- 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,
957
977
  service_name: Optional[pulumi.Input[str]] = None,
958
978
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
959
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]]] = None,
960
- 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,
961
981
  termination_protection: Optional[pulumi.Input[bool]] = None,
962
982
  __props__=None):
963
983
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -973,6 +993,7 @@ class Kafka(pulumi.CustomResource):
973
993
  __props__.__dict__["default_acl"] = default_acl
974
994
  __props__.__dict__["disk_space"] = disk_space
975
995
  __props__.__dict__["kafka_user_config"] = kafka_user_config
996
+ __props__.__dict__["kafkas"] = None if kafkas is None else pulumi.Output.secret(kafkas)
976
997
  __props__.__dict__["karapace"] = karapace
977
998
  __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
978
999
  __props__.__dict__["maintenance_window_time"] = maintenance_window_time
@@ -996,7 +1017,6 @@ class Kafka(pulumi.CustomResource):
996
1017
  __props__.__dict__["disk_space_default"] = None
997
1018
  __props__.__dict__["disk_space_step"] = None
998
1019
  __props__.__dict__["disk_space_used"] = None
999
- __props__.__dict__["kafkas"] = None
1000
1020
  __props__.__dict__["service_host"] = None
1001
1021
  __props__.__dict__["service_password"] = None
1002
1022
  __props__.__dict__["service_port"] = None
@@ -1004,7 +1024,7 @@ class Kafka(pulumi.CustomResource):
1004
1024
  __props__.__dict__["service_uri"] = None
1005
1025
  __props__.__dict__["service_username"] = None
1006
1026
  __props__.__dict__["state"] = None
1007
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["servicePassword", "serviceUri"])
1027
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["kafkas", "servicePassword", "serviceUri"])
1008
1028
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1009
1029
  super(Kafka, __self__).__init__(
1010
1030
  'aiven:index/kafka:Kafka',
@@ -1018,15 +1038,15 @@ class Kafka(pulumi.CustomResource):
1018
1038
  opts: Optional[pulumi.ResourceOptions] = None,
1019
1039
  additional_disk_space: Optional[pulumi.Input[str]] = None,
1020
1040
  cloud_name: Optional[pulumi.Input[str]] = None,
1021
- components: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaComponentArgs']]]]] = None,
1041
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaComponentArgs', 'KafkaComponentArgsDict']]]]] = None,
1022
1042
  default_acl: Optional[pulumi.Input[bool]] = None,
1023
1043
  disk_space: Optional[pulumi.Input[str]] = None,
1024
1044
  disk_space_cap: Optional[pulumi.Input[str]] = None,
1025
1045
  disk_space_default: Optional[pulumi.Input[str]] = None,
1026
1046
  disk_space_step: Optional[pulumi.Input[str]] = None,
1027
1047
  disk_space_used: Optional[pulumi.Input[str]] = None,
1028
- kafka_user_config: Optional[pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']]] = None,
1029
- 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,
1030
1050
  karapace: Optional[pulumi.Input[bool]] = None,
1031
1051
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
1032
1052
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
@@ -1034,7 +1054,7 @@ class Kafka(pulumi.CustomResource):
1034
1054
  project: Optional[pulumi.Input[str]] = None,
1035
1055
  project_vpc_id: Optional[pulumi.Input[str]] = None,
1036
1056
  service_host: Optional[pulumi.Input[str]] = None,
1037
- 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,
1038
1058
  service_name: Optional[pulumi.Input[str]] = None,
1039
1059
  service_password: Optional[pulumi.Input[str]] = None,
1040
1060
  service_port: Optional[pulumi.Input[int]] = None,
@@ -1043,8 +1063,8 @@ class Kafka(pulumi.CustomResource):
1043
1063
  service_username: Optional[pulumi.Input[str]] = None,
1044
1064
  state: Optional[pulumi.Input[str]] = None,
1045
1065
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1046
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]]] = None,
1047
- 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,
1048
1068
  termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Kafka':
1049
1069
  """
1050
1070
  Get an existing Kafka resource's state with the given name, id, and optional extra
@@ -1053,25 +1073,25 @@ class Kafka(pulumi.CustomResource):
1053
1073
  :param str resource_name: The unique name of the resulting resource.
1054
1074
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1055
1075
  :param pulumi.ResourceOptions opts: Options for the resource.
1056
- :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.
1057
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).
1058
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaComponentArgs']]]] components: Service component information objects
1059
- :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.
1060
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.
1061
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.
1062
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`
1063
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.
1064
1084
  :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
1065
- :param pulumi.Input[pulumi.InputType['KafkaKafkaUserConfigArgs']] kafka_user_config: Kafka user configurable settings
1066
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaKafkaArgs']]]] kafkas: Kafka broker configuration values
1067
- :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.
1068
1088
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1069
1089
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1070
- :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).
1071
- :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.
1072
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.
1073
1093
  :param pulumi.Input[str] service_host: The hostname of the service.
1074
- :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
1075
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.
1076
1096
  :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
1077
1097
  :param pulumi.Input[int] service_port: The port of the service
@@ -1079,9 +1099,9 @@ class Kafka(pulumi.CustomResource):
1079
1099
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1080
1100
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
1081
1101
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1082
- :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
1083
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
1084
- :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.
1085
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.
1086
1106
  """
1087
1107
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1122,9 +1142,9 @@ class Kafka(pulumi.CustomResource):
1122
1142
 
1123
1143
  @property
1124
1144
  @pulumi.getter(name="additionalDiskSpace")
1125
- def additional_disk_space(self) -> pulumi.Output[Optional[str]]:
1145
+ def additional_disk_space(self) -> pulumi.Output[str]:
1126
1146
  """
1127
- 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.
1128
1148
  """
1129
1149
  return pulumi.get(self, "additional_disk_space")
1130
1150
 
@@ -1148,19 +1168,17 @@ class Kafka(pulumi.CustomResource):
1148
1168
  @pulumi.getter(name="defaultAcl")
1149
1169
  def default_acl(self) -> pulumi.Output[Optional[bool]]:
1150
1170
  """
1151
- Create default wildcard Kafka ACL
1171
+ Create a default wildcard Kafka ACL.
1152
1172
  """
1153
1173
  return pulumi.get(self, "default_acl")
1154
1174
 
1155
1175
  @property
1156
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.""")
1157
1178
  def disk_space(self) -> pulumi.Output[Optional[str]]:
1158
1179
  """
1159
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.
1160
1181
  """
1161
- 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)
1162
- 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.""")
1163
-
1164
1182
  return pulumi.get(self, "disk_space")
1165
1183
 
1166
1184
  @property
@@ -1189,6 +1207,7 @@ class Kafka(pulumi.CustomResource):
1189
1207
 
1190
1208
  @property
1191
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.""")
1192
1211
  def disk_space_used(self) -> pulumi.Output[str]:
1193
1212
  """
1194
1213
  Disk space that service is currently using
@@ -1199,7 +1218,7 @@ class Kafka(pulumi.CustomResource):
1199
1218
  @pulumi.getter(name="kafkaUserConfig")
1200
1219
  def kafka_user_config(self) -> pulumi.Output[Optional['outputs.KafkaKafkaUserConfig']]:
1201
1220
  """
1202
- 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
1203
1222
  """
1204
1223
  return pulumi.get(self, "kafka_user_config")
1205
1224
 
@@ -1207,19 +1226,17 @@ class Kafka(pulumi.CustomResource):
1207
1226
  @pulumi.getter
1208
1227
  def kafkas(self) -> pulumi.Output[Sequence['outputs.KafkaKafka']]:
1209
1228
  """
1210
- Kafka broker configuration values
1229
+ Kafka server connection details.
1211
1230
  """
1212
1231
  return pulumi.get(self, "kafkas")
1213
1232
 
1214
1233
  @property
1215
1234
  @pulumi.getter
1235
+ @_utilities.deprecated("""Usage of this field is discouraged.""")
1216
1236
  def karapace(self) -> pulumi.Output[Optional[bool]]:
1217
1237
  """
1218
- 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.
1219
1239
  """
1220
- warnings.warn("""Usage of this field is discouraged.""", DeprecationWarning)
1221
- pulumi.log.warn("""karapace is deprecated: Usage of this field is discouraged.""")
1222
-
1223
1240
  return pulumi.get(self, "karapace")
1224
1241
 
1225
1242
  @property
@@ -1242,7 +1259,7 @@ class Kafka(pulumi.CustomResource):
1242
1259
  @pulumi.getter
1243
1260
  def plan(self) -> pulumi.Output[str]:
1244
1261
  """
1245
- 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).
1246
1263
  """
1247
1264
  return pulumi.get(self, "plan")
1248
1265
 
@@ -1250,13 +1267,13 @@ class Kafka(pulumi.CustomResource):
1250
1267
  @pulumi.getter
1251
1268
  def project(self) -> pulumi.Output[str]:
1252
1269
  """
1253
- 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.
1254
1271
  """
1255
1272
  return pulumi.get(self, "project")
1256
1273
 
1257
1274
  @property
1258
1275
  @pulumi.getter(name="projectVpcId")
1259
- def project_vpc_id(self) -> pulumi.Output[Optional[str]]:
1276
+ def project_vpc_id(self) -> pulumi.Output[str]:
1260
1277
  """
1261
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.
1262
1279
  """
@@ -1272,7 +1289,7 @@ class Kafka(pulumi.CustomResource):
1272
1289
 
1273
1290
  @property
1274
1291
  @pulumi.getter(name="serviceIntegrations")
1275
- def service_integrations(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaServiceIntegration']]]:
1292
+ def service_integrations(self) -> pulumi.Output[Sequence['outputs.KafkaServiceIntegration']]:
1276
1293
  """
1277
1294
  Service integrations to specify when creating a service. Not applied after initial service creation
1278
1295
  """
@@ -1338,7 +1355,7 @@ class Kafka(pulumi.CustomResource):
1338
1355
  @pulumi.getter(name="staticIps")
1339
1356
  def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1340
1357
  """
1341
- 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
1342
1359
  """
1343
1360
  return pulumi.get(self, "static_ips")
1344
1361
 
@@ -1354,7 +1371,7 @@ class Kafka(pulumi.CustomResource):
1354
1371
  @pulumi.getter(name="techEmails")
1355
1372
  def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaTechEmail']]]:
1356
1373
  """
1357
- 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.
1358
1375
  """
1359
1376
  return pulumi.get(self, "tech_emails")
1360
1377