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
@@ -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 *
@@ -22,19 +27,21 @@ class KafkaTopicArgs:
22
27
  service_name: pulumi.Input[str],
23
28
  topic_name: pulumi.Input[str],
24
29
  config: Optional[pulumi.Input['KafkaTopicConfigArgs']] = None,
30
+ owner_user_group_id: Optional[pulumi.Input[str]] = None,
25
31
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]]] = None,
26
- termination_protection: Optional[pulumi.Input[bool]] = None):
32
+ termination_protection: Optional[pulumi.Input[bool]] = None,
33
+ topic_description: Optional[pulumi.Input[str]] = None):
27
34
  """
28
35
  The set of arguments for constructing a KafkaTopic resource.
29
36
  :param pulumi.Input[int] partitions: The number of partitions to create in the topic.
30
- :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.
37
+ :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.
31
38
  :param pulumi.Input[int] replication: The replication factor for the topic.
32
- :param pulumi.Input[str] service_name: Specifies the name of the service that 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.
33
- :param pulumi.Input[str] topic_name: The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
34
- :param pulumi.Input['KafkaTopicConfigArgs'] config: Kafka topic configuration
35
- :param pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]] tags: Kafka Topic tag.
36
- :param pulumi.Input[bool] termination_protection: It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
37
- enable this for any production Kafka topic containing critical data.
39
+ :param pulumi.Input[str] service_name: The name of the service that 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
+ :param pulumi.Input[str] topic_name: The name of the topic. Changing this property forces recreation of the resource.
41
+ :param pulumi.Input['KafkaTopicConfigArgs'] config: [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
42
+ :param pulumi.Input[str] owner_user_group_id: The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
43
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]] tags: Tags for the topic.
44
+ :param pulumi.Input[str] topic_description: The description of the topic
38
45
  """
39
46
  pulumi.set(__self__, "partitions", partitions)
40
47
  pulumi.set(__self__, "project", project)
@@ -43,10 +50,14 @@ class KafkaTopicArgs:
43
50
  pulumi.set(__self__, "topic_name", topic_name)
44
51
  if config is not None:
45
52
  pulumi.set(__self__, "config", config)
53
+ if owner_user_group_id is not None:
54
+ pulumi.set(__self__, "owner_user_group_id", owner_user_group_id)
46
55
  if tags is not None:
47
56
  pulumi.set(__self__, "tags", tags)
48
57
  if termination_protection is not None:
49
58
  pulumi.set(__self__, "termination_protection", termination_protection)
59
+ if topic_description is not None:
60
+ pulumi.set(__self__, "topic_description", topic_description)
50
61
 
51
62
  @property
52
63
  @pulumi.getter
@@ -64,7 +75,7 @@ class KafkaTopicArgs:
64
75
  @pulumi.getter
65
76
  def project(self) -> pulumi.Input[str]:
66
77
  """
67
- 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.
78
+ 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.
68
79
  """
69
80
  return pulumi.get(self, "project")
70
81
 
@@ -88,7 +99,7 @@ class KafkaTopicArgs:
88
99
  @pulumi.getter(name="serviceName")
89
100
  def service_name(self) -> pulumi.Input[str]:
90
101
  """
91
- Specifies the name of the service that 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.
102
+ The name of the service that 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.
92
103
  """
93
104
  return pulumi.get(self, "service_name")
94
105
 
@@ -100,7 +111,7 @@ class KafkaTopicArgs:
100
111
  @pulumi.getter(name="topicName")
101
112
  def topic_name(self) -> pulumi.Input[str]:
102
113
  """
103
- The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
114
+ The name of the topic. Changing this property forces recreation of the resource.
104
115
  """
105
116
  return pulumi.get(self, "topic_name")
106
117
 
@@ -112,7 +123,7 @@ class KafkaTopicArgs:
112
123
  @pulumi.getter
113
124
  def config(self) -> Optional[pulumi.Input['KafkaTopicConfigArgs']]:
114
125
  """
115
- Kafka topic configuration
126
+ [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
116
127
  """
117
128
  return pulumi.get(self, "config")
118
129
 
@@ -120,11 +131,23 @@ class KafkaTopicArgs:
120
131
  def config(self, value: Optional[pulumi.Input['KafkaTopicConfigArgs']]):
121
132
  pulumi.set(self, "config", value)
122
133
 
134
+ @property
135
+ @pulumi.getter(name="ownerUserGroupId")
136
+ def owner_user_group_id(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
139
+ """
140
+ return pulumi.get(self, "owner_user_group_id")
141
+
142
+ @owner_user_group_id.setter
143
+ def owner_user_group_id(self, value: Optional[pulumi.Input[str]]):
144
+ pulumi.set(self, "owner_user_group_id", value)
145
+
123
146
  @property
124
147
  @pulumi.getter
125
148
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]]]:
126
149
  """
127
- Kafka Topic tag.
150
+ Tags for the topic.
128
151
  """
129
152
  return pulumi.get(self, "tags")
130
153
 
@@ -135,42 +158,54 @@ class KafkaTopicArgs:
135
158
  @property
136
159
  @pulumi.getter(name="terminationProtection")
137
160
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
138
- """
139
- It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
140
- enable this for any production Kafka topic containing critical data.
141
- """
142
161
  return pulumi.get(self, "termination_protection")
143
162
 
144
163
  @termination_protection.setter
145
164
  def termination_protection(self, value: Optional[pulumi.Input[bool]]):
146
165
  pulumi.set(self, "termination_protection", value)
147
166
 
167
+ @property
168
+ @pulumi.getter(name="topicDescription")
169
+ def topic_description(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The description of the topic
172
+ """
173
+ return pulumi.get(self, "topic_description")
174
+
175
+ @topic_description.setter
176
+ def topic_description(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "topic_description", value)
178
+
148
179
 
149
180
  @pulumi.input_type
150
181
  class _KafkaTopicState:
151
182
  def __init__(__self__, *,
152
183
  config: Optional[pulumi.Input['KafkaTopicConfigArgs']] = None,
184
+ owner_user_group_id: Optional[pulumi.Input[str]] = None,
153
185
  partitions: Optional[pulumi.Input[int]] = None,
154
186
  project: Optional[pulumi.Input[str]] = None,
155
187
  replication: Optional[pulumi.Input[int]] = None,
156
188
  service_name: Optional[pulumi.Input[str]] = None,
157
189
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]]] = None,
158
190
  termination_protection: Optional[pulumi.Input[bool]] = None,
191
+ topic_description: Optional[pulumi.Input[str]] = None,
159
192
  topic_name: Optional[pulumi.Input[str]] = None):
160
193
  """
161
194
  Input properties used for looking up and filtering KafkaTopic resources.
162
- :param pulumi.Input['KafkaTopicConfigArgs'] config: Kafka topic configuration
195
+ :param pulumi.Input['KafkaTopicConfigArgs'] config: [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
196
+ :param pulumi.Input[str] owner_user_group_id: The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
163
197
  :param pulumi.Input[int] partitions: The number of partitions to create in the topic.
164
- :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.
198
+ :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.
165
199
  :param pulumi.Input[int] replication: The replication factor for the topic.
166
- :param pulumi.Input[str] service_name: Specifies the name of the service that 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.
167
- :param pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]] tags: Kafka Topic tag.
168
- :param pulumi.Input[bool] termination_protection: It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
169
- enable this for any production Kafka topic containing critical data.
170
- :param pulumi.Input[str] topic_name: The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
200
+ :param pulumi.Input[str] service_name: The name of the service that 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.
201
+ :param pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]] tags: Tags for the topic.
202
+ :param pulumi.Input[str] topic_description: The description of the topic
203
+ :param pulumi.Input[str] topic_name: The name of the topic. Changing this property forces recreation of the resource.
171
204
  """
172
205
  if config is not None:
173
206
  pulumi.set(__self__, "config", config)
207
+ if owner_user_group_id is not None:
208
+ pulumi.set(__self__, "owner_user_group_id", owner_user_group_id)
174
209
  if partitions is not None:
175
210
  pulumi.set(__self__, "partitions", partitions)
176
211
  if project is not None:
@@ -183,6 +218,8 @@ class _KafkaTopicState:
183
218
  pulumi.set(__self__, "tags", tags)
184
219
  if termination_protection is not None:
185
220
  pulumi.set(__self__, "termination_protection", termination_protection)
221
+ if topic_description is not None:
222
+ pulumi.set(__self__, "topic_description", topic_description)
186
223
  if topic_name is not None:
187
224
  pulumi.set(__self__, "topic_name", topic_name)
188
225
 
@@ -190,7 +227,7 @@ class _KafkaTopicState:
190
227
  @pulumi.getter
191
228
  def config(self) -> Optional[pulumi.Input['KafkaTopicConfigArgs']]:
192
229
  """
193
- Kafka topic configuration
230
+ [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
194
231
  """
195
232
  return pulumi.get(self, "config")
196
233
 
@@ -198,6 +235,18 @@ class _KafkaTopicState:
198
235
  def config(self, value: Optional[pulumi.Input['KafkaTopicConfigArgs']]):
199
236
  pulumi.set(self, "config", value)
200
237
 
238
+ @property
239
+ @pulumi.getter(name="ownerUserGroupId")
240
+ def owner_user_group_id(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
243
+ """
244
+ return pulumi.get(self, "owner_user_group_id")
245
+
246
+ @owner_user_group_id.setter
247
+ def owner_user_group_id(self, value: Optional[pulumi.Input[str]]):
248
+ pulumi.set(self, "owner_user_group_id", value)
249
+
201
250
  @property
202
251
  @pulumi.getter
203
252
  def partitions(self) -> Optional[pulumi.Input[int]]:
@@ -214,7 +263,7 @@ class _KafkaTopicState:
214
263
  @pulumi.getter
215
264
  def project(self) -> Optional[pulumi.Input[str]]:
216
265
  """
217
- 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.
266
+ 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.
218
267
  """
219
268
  return pulumi.get(self, "project")
220
269
 
@@ -238,7 +287,7 @@ class _KafkaTopicState:
238
287
  @pulumi.getter(name="serviceName")
239
288
  def service_name(self) -> Optional[pulumi.Input[str]]:
240
289
  """
241
- Specifies the name of the service that 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.
290
+ The name of the service that 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.
242
291
  """
243
292
  return pulumi.get(self, "service_name")
244
293
 
@@ -250,7 +299,7 @@ class _KafkaTopicState:
250
299
  @pulumi.getter
251
300
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaTopicTagArgs']]]]:
252
301
  """
253
- Kafka Topic tag.
302
+ Tags for the topic.
254
303
  """
255
304
  return pulumi.get(self, "tags")
256
305
 
@@ -261,21 +310,29 @@ class _KafkaTopicState:
261
310
  @property
262
311
  @pulumi.getter(name="terminationProtection")
263
312
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
264
- """
265
- It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
266
- enable this for any production Kafka topic containing critical data.
267
- """
268
313
  return pulumi.get(self, "termination_protection")
269
314
 
270
315
  @termination_protection.setter
271
316
  def termination_protection(self, value: Optional[pulumi.Input[bool]]):
272
317
  pulumi.set(self, "termination_protection", value)
273
318
 
319
+ @property
320
+ @pulumi.getter(name="topicDescription")
321
+ def topic_description(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ The description of the topic
324
+ """
325
+ return pulumi.get(self, "topic_description")
326
+
327
+ @topic_description.setter
328
+ def topic_description(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "topic_description", value)
330
+
274
331
  @property
275
332
  @pulumi.getter(name="topicName")
276
333
  def topic_name(self) -> Optional[pulumi.Input[str]]:
277
334
  """
278
- The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
335
+ The name of the topic. Changing this property forces recreation of the resource.
279
336
  """
280
337
  return pulumi.get(self, "topic_name")
281
338
 
@@ -289,35 +346,57 @@ class KafkaTopic(pulumi.CustomResource):
289
346
  def __init__(__self__,
290
347
  resource_name: str,
291
348
  opts: Optional[pulumi.ResourceOptions] = None,
292
- config: Optional[pulumi.Input[pulumi.InputType['KafkaTopicConfigArgs']]] = None,
349
+ config: Optional[pulumi.Input[Union['KafkaTopicConfigArgs', 'KafkaTopicConfigArgsDict']]] = None,
350
+ owner_user_group_id: Optional[pulumi.Input[str]] = None,
293
351
  partitions: Optional[pulumi.Input[int]] = None,
294
352
  project: Optional[pulumi.Input[str]] = None,
295
353
  replication: Optional[pulumi.Input[int]] = None,
296
354
  service_name: Optional[pulumi.Input[str]] = None,
297
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTopicTagArgs']]]]] = None,
355
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTopicTagArgs', 'KafkaTopicTagArgsDict']]]]] = None,
298
356
  termination_protection: Optional[pulumi.Input[bool]] = None,
357
+ topic_description: Optional[pulumi.Input[str]] = None,
299
358
  topic_name: Optional[pulumi.Input[str]] = None,
300
359
  __props__=None):
301
360
  """
302
- The Kafka Topic resource allows the creation and management of Aiven Kafka Topics.
361
+ Creates and manages an Aiven for Apache Kafka® [topic](https://aiven.io/docs/products/kafka/concepts).
362
+
363
+ ## Example Usage
364
+
365
+ ```python
366
+ import pulumi
367
+ import pulumi_aiven as aiven
368
+
369
+ example_topic = aiven.KafkaTopic("example_topic",
370
+ project=example_project["project"],
371
+ service_name=example_kafka["serviceName"],
372
+ topic_name="example-topic",
373
+ partitions=5,
374
+ replication=3,
375
+ termination_protection=True,
376
+ config={
377
+ "flush_ms": "10",
378
+ "cleanup_policy": "compact,delete",
379
+ },
380
+ owner_user_group_id=example["groupId"])
381
+ ```
303
382
 
304
383
  ## Import
305
384
 
306
385
  ```sh
307
- $ pulumi import aiven:index/kafkaTopic:KafkaTopic mytesttopic project/service_name/topic_name
386
+ $ pulumi import aiven:index/kafkaTopic:KafkaTopic example_topic PROJECT/SERVICE_NAME/TOPIC_NAME
308
387
  ```
309
388
 
310
389
  :param str resource_name: The name of the resource.
311
390
  :param pulumi.ResourceOptions opts: Options for the resource.
312
- :param pulumi.Input[pulumi.InputType['KafkaTopicConfigArgs']] config: Kafka topic configuration
391
+ :param pulumi.Input[Union['KafkaTopicConfigArgs', 'KafkaTopicConfigArgsDict']] config: [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
392
+ :param pulumi.Input[str] owner_user_group_id: The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
313
393
  :param pulumi.Input[int] partitions: The number of partitions to create in the topic.
314
- :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.
394
+ :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.
315
395
  :param pulumi.Input[int] replication: The replication factor for the topic.
316
- :param pulumi.Input[str] service_name: Specifies the name of the service that 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.
317
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTopicTagArgs']]]] tags: Kafka Topic tag.
318
- :param pulumi.Input[bool] termination_protection: It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
319
- enable this for any production Kafka topic containing critical data.
320
- :param pulumi.Input[str] topic_name: The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
396
+ :param pulumi.Input[str] service_name: The name of the service that 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.
397
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTopicTagArgs', 'KafkaTopicTagArgsDict']]]] tags: Tags for the topic.
398
+ :param pulumi.Input[str] topic_description: The description of the topic
399
+ :param pulumi.Input[str] topic_name: The name of the topic. Changing this property forces recreation of the resource.
321
400
  """
322
401
  ...
323
402
  @overload
@@ -326,12 +405,32 @@ class KafkaTopic(pulumi.CustomResource):
326
405
  args: KafkaTopicArgs,
327
406
  opts: Optional[pulumi.ResourceOptions] = None):
328
407
  """
329
- The Kafka Topic resource allows the creation and management of Aiven Kafka Topics.
408
+ Creates and manages an Aiven for Apache Kafka® [topic](https://aiven.io/docs/products/kafka/concepts).
409
+
410
+ ## Example Usage
411
+
412
+ ```python
413
+ import pulumi
414
+ import pulumi_aiven as aiven
415
+
416
+ example_topic = aiven.KafkaTopic("example_topic",
417
+ project=example_project["project"],
418
+ service_name=example_kafka["serviceName"],
419
+ topic_name="example-topic",
420
+ partitions=5,
421
+ replication=3,
422
+ termination_protection=True,
423
+ config={
424
+ "flush_ms": "10",
425
+ "cleanup_policy": "compact,delete",
426
+ },
427
+ owner_user_group_id=example["groupId"])
428
+ ```
330
429
 
331
430
  ## Import
332
431
 
333
432
  ```sh
334
- $ pulumi import aiven:index/kafkaTopic:KafkaTopic mytesttopic project/service_name/topic_name
433
+ $ pulumi import aiven:index/kafkaTopic:KafkaTopic example_topic PROJECT/SERVICE_NAME/TOPIC_NAME
335
434
  ```
336
435
 
337
436
  :param str resource_name: The name of the resource.
@@ -349,13 +448,15 @@ class KafkaTopic(pulumi.CustomResource):
349
448
  def _internal_init(__self__,
350
449
  resource_name: str,
351
450
  opts: Optional[pulumi.ResourceOptions] = None,
352
- config: Optional[pulumi.Input[pulumi.InputType['KafkaTopicConfigArgs']]] = None,
451
+ config: Optional[pulumi.Input[Union['KafkaTopicConfigArgs', 'KafkaTopicConfigArgsDict']]] = None,
452
+ owner_user_group_id: Optional[pulumi.Input[str]] = None,
353
453
  partitions: Optional[pulumi.Input[int]] = None,
354
454
  project: Optional[pulumi.Input[str]] = None,
355
455
  replication: Optional[pulumi.Input[int]] = None,
356
456
  service_name: Optional[pulumi.Input[str]] = None,
357
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTopicTagArgs']]]]] = None,
457
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTopicTagArgs', 'KafkaTopicTagArgsDict']]]]] = None,
358
458
  termination_protection: Optional[pulumi.Input[bool]] = None,
459
+ topic_description: Optional[pulumi.Input[str]] = None,
359
460
  topic_name: Optional[pulumi.Input[str]] = None,
360
461
  __props__=None):
361
462
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -367,6 +468,7 @@ class KafkaTopic(pulumi.CustomResource):
367
468
  __props__ = KafkaTopicArgs.__new__(KafkaTopicArgs)
368
469
 
369
470
  __props__.__dict__["config"] = config
471
+ __props__.__dict__["owner_user_group_id"] = owner_user_group_id
370
472
  if partitions is None and not opts.urn:
371
473
  raise TypeError("Missing required property 'partitions'")
372
474
  __props__.__dict__["partitions"] = partitions
@@ -381,6 +483,7 @@ class KafkaTopic(pulumi.CustomResource):
381
483
  __props__.__dict__["service_name"] = service_name
382
484
  __props__.__dict__["tags"] = tags
383
485
  __props__.__dict__["termination_protection"] = termination_protection
486
+ __props__.__dict__["topic_description"] = topic_description
384
487
  if topic_name is None and not opts.urn:
385
488
  raise TypeError("Missing required property 'topic_name'")
386
489
  __props__.__dict__["topic_name"] = topic_name
@@ -394,13 +497,15 @@ class KafkaTopic(pulumi.CustomResource):
394
497
  def get(resource_name: str,
395
498
  id: pulumi.Input[str],
396
499
  opts: Optional[pulumi.ResourceOptions] = None,
397
- config: Optional[pulumi.Input[pulumi.InputType['KafkaTopicConfigArgs']]] = None,
500
+ config: Optional[pulumi.Input[Union['KafkaTopicConfigArgs', 'KafkaTopicConfigArgsDict']]] = None,
501
+ owner_user_group_id: Optional[pulumi.Input[str]] = None,
398
502
  partitions: Optional[pulumi.Input[int]] = None,
399
503
  project: Optional[pulumi.Input[str]] = None,
400
504
  replication: Optional[pulumi.Input[int]] = None,
401
505
  service_name: Optional[pulumi.Input[str]] = None,
402
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTopicTagArgs']]]]] = None,
506
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KafkaTopicTagArgs', 'KafkaTopicTagArgsDict']]]]] = None,
403
507
  termination_protection: Optional[pulumi.Input[bool]] = None,
508
+ topic_description: Optional[pulumi.Input[str]] = None,
404
509
  topic_name: Optional[pulumi.Input[str]] = None) -> 'KafkaTopic':
405
510
  """
406
511
  Get an existing KafkaTopic resource's state with the given name, id, and optional extra
@@ -409,27 +514,29 @@ class KafkaTopic(pulumi.CustomResource):
409
514
  :param str resource_name: The unique name of the resulting resource.
410
515
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
411
516
  :param pulumi.ResourceOptions opts: Options for the resource.
412
- :param pulumi.Input[pulumi.InputType['KafkaTopicConfigArgs']] config: Kafka topic configuration
517
+ :param pulumi.Input[Union['KafkaTopicConfigArgs', 'KafkaTopicConfigArgsDict']] config: [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
518
+ :param pulumi.Input[str] owner_user_group_id: The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
413
519
  :param pulumi.Input[int] partitions: The number of partitions to create in the topic.
414
- :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.
520
+ :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.
415
521
  :param pulumi.Input[int] replication: The replication factor for the topic.
416
- :param pulumi.Input[str] service_name: Specifies the name of the service that 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.
417
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaTopicTagArgs']]]] tags: Kafka Topic tag.
418
- :param pulumi.Input[bool] termination_protection: It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
419
- enable this for any production Kafka topic containing critical data.
420
- :param pulumi.Input[str] topic_name: The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
522
+ :param pulumi.Input[str] service_name: The name of the service that 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.
523
+ :param pulumi.Input[Sequence[pulumi.Input[Union['KafkaTopicTagArgs', 'KafkaTopicTagArgsDict']]]] tags: Tags for the topic.
524
+ :param pulumi.Input[str] topic_description: The description of the topic
525
+ :param pulumi.Input[str] topic_name: The name of the topic. Changing this property forces recreation of the resource.
421
526
  """
422
527
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
423
528
 
424
529
  __props__ = _KafkaTopicState.__new__(_KafkaTopicState)
425
530
 
426
531
  __props__.__dict__["config"] = config
532
+ __props__.__dict__["owner_user_group_id"] = owner_user_group_id
427
533
  __props__.__dict__["partitions"] = partitions
428
534
  __props__.__dict__["project"] = project
429
535
  __props__.__dict__["replication"] = replication
430
536
  __props__.__dict__["service_name"] = service_name
431
537
  __props__.__dict__["tags"] = tags
432
538
  __props__.__dict__["termination_protection"] = termination_protection
539
+ __props__.__dict__["topic_description"] = topic_description
433
540
  __props__.__dict__["topic_name"] = topic_name
434
541
  return KafkaTopic(resource_name, opts=opts, __props__=__props__)
435
542
 
@@ -437,10 +544,18 @@ class KafkaTopic(pulumi.CustomResource):
437
544
  @pulumi.getter
438
545
  def config(self) -> pulumi.Output[Optional['outputs.KafkaTopicConfig']]:
439
546
  """
440
- Kafka topic configuration
547
+ [Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.
441
548
  """
442
549
  return pulumi.get(self, "config")
443
550
 
551
+ @property
552
+ @pulumi.getter(name="ownerUserGroupId")
553
+ def owner_user_group_id(self) -> pulumi.Output[Optional[str]]:
554
+ """
555
+ The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).
556
+ """
557
+ return pulumi.get(self, "owner_user_group_id")
558
+
444
559
  @property
445
560
  @pulumi.getter
446
561
  def partitions(self) -> pulumi.Output[int]:
@@ -453,7 +568,7 @@ class KafkaTopic(pulumi.CustomResource):
453
568
  @pulumi.getter
454
569
  def project(self) -> pulumi.Output[str]:
455
570
  """
456
- 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.
571
+ 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.
457
572
  """
458
573
  return pulumi.get(self, "project")
459
574
 
@@ -469,7 +584,7 @@ class KafkaTopic(pulumi.CustomResource):
469
584
  @pulumi.getter(name="serviceName")
470
585
  def service_name(self) -> pulumi.Output[str]:
471
586
  """
472
- Specifies the name of the service that 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.
587
+ The name of the service that 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.
473
588
  """
474
589
  return pulumi.get(self, "service_name")
475
590
 
@@ -477,24 +592,28 @@ class KafkaTopic(pulumi.CustomResource):
477
592
  @pulumi.getter
478
593
  def tags(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaTopicTag']]]:
479
594
  """
480
- Kafka Topic tag.
595
+ Tags for the topic.
481
596
  """
482
597
  return pulumi.get(self, "tags")
483
598
 
484
599
  @property
485
600
  @pulumi.getter(name="terminationProtection")
486
601
  def termination_protection(self) -> pulumi.Output[Optional[bool]]:
602
+ return pulumi.get(self, "termination_protection")
603
+
604
+ @property
605
+ @pulumi.getter(name="topicDescription")
606
+ def topic_description(self) -> pulumi.Output[Optional[str]]:
487
607
  """
488
- It is a Terraform client-side deletion protection, which prevents a Kafka topic from being deleted. It is recommended to
489
- enable this for any production Kafka topic containing critical data.
608
+ The description of the topic
490
609
  """
491
- return pulumi.get(self, "termination_protection")
610
+ return pulumi.get(self, "topic_description")
492
611
 
493
612
  @property
494
613
  @pulumi.getter(name="topicName")
495
614
  def topic_name(self) -> pulumi.Output[str]:
496
615
  """
497
- The name of the topic. This property cannot be changed, doing so forces recreation of the resource.
616
+ The name of the topic. Changing this property forces recreation of the resource.
498
617
  """
499
618
  return pulumi.get(self, "topic_name")
500
619