pulumi-aiven 6.13.0a1710156545__py3-none-any.whl → 6.31.0a1736849214__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 +32615 -13711
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +32 -45
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +35 -14
  7. pulumi_aiven/account_team_member.py +48 -39
  8. pulumi_aiven/account_team_project.py +40 -27
  9. pulumi_aiven/alloydbomni.py +1335 -0
  10. pulumi_aiven/alloydbomni_database.py +347 -0
  11. pulumi_aiven/alloydbomni_user.py +433 -0
  12. pulumi_aiven/aws_privatelink.py +44 -43
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -61
  14. pulumi_aiven/azure_privatelink.py +54 -53
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -77
  17. pulumi_aiven/billing_group.py +33 -34
  18. pulumi_aiven/cassandra.py +145 -126
  19. pulumi_aiven/cassandra_user.py +59 -58
  20. pulumi_aiven/clickhouse.py +133 -114
  21. pulumi_aiven/clickhouse_database.py +58 -62
  22. pulumi_aiven/clickhouse_grant.py +135 -134
  23. pulumi_aiven/clickhouse_role.py +36 -49
  24. pulumi_aiven/clickhouse_user.py +50 -49
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -66
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -104
  30. pulumi_aiven/flink_application.py +58 -55
  31. pulumi_aiven/flink_application_deployment.py +178 -73
  32. pulumi_aiven/flink_application_version.py +179 -96
  33. pulumi_aiven/gcp_privatelink.py +69 -42
  34. pulumi_aiven/gcp_privatelink_connection_approval.py +78 -49
  35. pulumi_aiven/gcp_vpc_peering_connection.py +49 -48
  36. pulumi_aiven/get_account.py +20 -9
  37. pulumi_aiven/get_account_authentication.py +31 -5
  38. pulumi_aiven/get_account_team.py +18 -5
  39. pulumi_aiven/get_account_team_member.py +29 -14
  40. pulumi_aiven/get_account_team_project.py +19 -6
  41. pulumi_aiven/get_alloydbomni.py +499 -0
  42. pulumi_aiven/get_alloydbomni_database.py +168 -0
  43. pulumi_aiven/get_alloydbomni_user.py +210 -0
  44. pulumi_aiven/get_aws_privatelink.py +33 -24
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -33
  46. pulumi_aiven/get_azure_privatelink.py +37 -26
  47. pulumi_aiven/get_azure_vpc_peering_connection.py +77 -28
  48. pulumi_aiven/get_billing_group.py +31 -8
  49. pulumi_aiven/get_cassanda.py +55 -23
  50. pulumi_aiven/get_cassandra.py +55 -23
  51. pulumi_aiven/get_cassandra_user.py +42 -30
  52. pulumi_aiven/get_clickhouse.py +55 -23
  53. pulumi_aiven/get_clickhouse_database.py +35 -26
  54. pulumi_aiven/get_clickhouse_user.py +40 -29
  55. pulumi_aiven/get_connection_pool.py +43 -30
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -23
  59. pulumi_aiven/get_flink_application.py +44 -31
  60. pulumi_aiven/get_flink_application_version.py +55 -37
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -28
  63. pulumi_aiven/get_grafana.py +55 -23
  64. pulumi_aiven/get_influx_db.py +41 -5
  65. pulumi_aiven/get_influxdb_database.py +18 -5
  66. pulumi_aiven/get_influxdb_user.py +21 -5
  67. pulumi_aiven/get_kafka.py +59 -25
  68. pulumi_aiven/get_kafka_acl.py +50 -37
  69. pulumi_aiven/get_kafka_connect.py +54 -36
  70. pulumi_aiven/get_kafka_connector.py +44 -28
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -32
  72. pulumi_aiven/get_kafka_schema.py +35 -23
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -21
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -29
  76. pulumi_aiven/get_kafka_user.py +42 -30
  77. pulumi_aiven/get_m3_aggregator.py +51 -19
  78. pulumi_aiven/get_m3_db.py +55 -23
  79. pulumi_aiven/get_m3db_user.py +38 -28
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -25
  81. pulumi_aiven/get_my_sql.py +50 -18
  82. pulumi_aiven/get_mysql_database.py +31 -22
  83. pulumi_aiven/get_mysql_user.py +36 -23
  84. pulumi_aiven/get_open_search.py +50 -18
  85. pulumi_aiven/get_open_search_acl_config.py +27 -19
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -25
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -19
  88. pulumi_aiven/get_opensearch_user.py +32 -22
  89. pulumi_aiven/get_organization.py +25 -17
  90. pulumi_aiven/get_organization_application_user.py +176 -0
  91. pulumi_aiven/get_organization_user.py +18 -5
  92. pulumi_aiven/get_organization_user_group.py +48 -14
  93. pulumi_aiven/get_organization_user_list.py +121 -0
  94. pulumi_aiven/get_organizational_unit.py +26 -14
  95. pulumi_aiven/get_pg.py +55 -23
  96. pulumi_aiven/get_pg_database.py +39 -28
  97. pulumi_aiven/get_pg_user.py +44 -31
  98. pulumi_aiven/get_project.py +43 -26
  99. pulumi_aiven/get_project_user.py +27 -19
  100. pulumi_aiven/get_project_vpc.py +31 -23
  101. pulumi_aiven/get_redis.py +50 -18
  102. pulumi_aiven/get_redis_user.py +40 -26
  103. pulumi_aiven/get_service_component.py +40 -22
  104. pulumi_aiven/get_service_integration.py +163 -53
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -37
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -22
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -322
  111. pulumi_aiven/influx_db.py +127 -90
  112. pulumi_aiven/influxdb_database.py +40 -55
  113. pulumi_aiven/influxdb_user.py +47 -42
  114. pulumi_aiven/kafka.py +157 -144
  115. pulumi_aiven/kafka_acl.py +64 -57
  116. pulumi_aiven/kafka_connect.py +201 -332
  117. pulumi_aiven/kafka_connector.py +67 -60
  118. pulumi_aiven/kafka_mirror_maker.py +137 -320
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_schema.py +63 -58
  121. pulumi_aiven/kafka_schema_configuration.py +25 -24
  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 -58
  125. pulumi_aiven/m3_aggregator.py +174 -310
  126. pulumi_aiven/m3_db.py +190 -326
  127. pulumi_aiven/m3db_user.py +51 -50
  128. pulumi_aiven/mirror_maker_replication_flow.py +215 -55
  129. pulumi_aiven/my_sql.py +188 -324
  130. pulumi_aiven/mysql_database.py +32 -51
  131. pulumi_aiven/mysql_user.py +37 -36
  132. pulumi_aiven/open_search.py +126 -107
  133. pulumi_aiven/open_search_acl_config.py +33 -36
  134. pulumi_aiven/open_search_acl_rule.py +55 -54
  135. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  136. pulumi_aiven/opensearch_user.py +30 -29
  137. pulumi_aiven/organization.py +18 -17
  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 -36
  146. pulumi_aiven/outputs.py +38355 -21458
  147. pulumi_aiven/pg.py +92 -88
  148. pulumi_aiven/pg_database.py +52 -71
  149. pulumi_aiven/pg_user.py +80 -65
  150. pulumi_aiven/project.py +111 -102
  151. pulumi_aiven/project_user.py +44 -35
  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 +161 -297
  156. pulumi_aiven/redis_user.py +58 -57
  157. pulumi_aiven/service_integration.py +511 -165
  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 -58
  162. pulumi_aiven/valkey.py +1256 -0
  163. pulumi_aiven/valkey_user.py +606 -0
  164. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736849214.dist-info}/METADATA +7 -6
  165. pulumi_aiven-6.31.0a1736849214.dist-info/RECORD +169 -0
  166. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736849214.dist-info}/WHEEL +1 -1
  167. pulumi_aiven-6.13.0a1710156545.dist-info/RECORD +0 -146
  168. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736849214.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,588 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+
17
+ __all__ = ['KafkaNativeAclArgs', 'KafkaNativeAcl']
18
+
19
+ @pulumi.input_type
20
+ class KafkaNativeAclArgs:
21
+ def __init__(__self__, *,
22
+ operation: pulumi.Input[str],
23
+ pattern_type: pulumi.Input[str],
24
+ permission_type: pulumi.Input[str],
25
+ principal: pulumi.Input[str],
26
+ project: pulumi.Input[str],
27
+ resource_name: pulumi.Input[str],
28
+ resource_type: pulumi.Input[str],
29
+ service_name: pulumi.Input[str],
30
+ host: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a KafkaNativeAcl resource.
33
+ :param pulumi.Input[str] operation: The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
34
+ :param pulumi.Input[str] pattern_type: Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
35
+ :param pulumi.Input[str] permission_type: Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
36
+ :param pulumi.Input[str] principal: Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property 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.
38
+ :param pulumi.Input[str] resource_name: The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
39
+ :param pulumi.Input[str] resource_type: The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
40
+ :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.
41
+ :param pulumi.Input[str] host: The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
42
+ """
43
+ pulumi.set(__self__, "operation", operation)
44
+ pulumi.set(__self__, "pattern_type", pattern_type)
45
+ pulumi.set(__self__, "permission_type", permission_type)
46
+ pulumi.set(__self__, "principal", principal)
47
+ pulumi.set(__self__, "project", project)
48
+ pulumi.set(__self__, "resource_name", resource_name)
49
+ pulumi.set(__self__, "resource_type", resource_type)
50
+ pulumi.set(__self__, "service_name", service_name)
51
+ if host is not None:
52
+ pulumi.set(__self__, "host", host)
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def operation(self) -> pulumi.Input[str]:
57
+ """
58
+ The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
59
+ """
60
+ return pulumi.get(self, "operation")
61
+
62
+ @operation.setter
63
+ def operation(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "operation", value)
65
+
66
+ @property
67
+ @pulumi.getter(name="patternType")
68
+ def pattern_type(self) -> pulumi.Input[str]:
69
+ """
70
+ Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
71
+ """
72
+ return pulumi.get(self, "pattern_type")
73
+
74
+ @pattern_type.setter
75
+ def pattern_type(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "pattern_type", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="permissionType")
80
+ def permission_type(self) -> pulumi.Input[str]:
81
+ """
82
+ Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
83
+ """
84
+ return pulumi.get(self, "permission_type")
85
+
86
+ @permission_type.setter
87
+ def permission_type(self, value: pulumi.Input[str]):
88
+ pulumi.set(self, "permission_type", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def principal(self) -> pulumi.Input[str]:
93
+ """
94
+ Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
95
+ """
96
+ return pulumi.get(self, "principal")
97
+
98
+ @principal.setter
99
+ def principal(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "principal", value)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def project(self) -> pulumi.Input[str]:
105
+ """
106
+ 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.
107
+ """
108
+ return pulumi.get(self, "project")
109
+
110
+ @project.setter
111
+ def project(self, value: pulumi.Input[str]):
112
+ pulumi.set(self, "project", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="resourceName")
116
+ def resource_name(self) -> pulumi.Input[str]:
117
+ """
118
+ The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
119
+ """
120
+ return pulumi.get(self, "resource_name")
121
+
122
+ @resource_name.setter
123
+ def resource_name(self, value: pulumi.Input[str]):
124
+ pulumi.set(self, "resource_name", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="resourceType")
128
+ def resource_type(self) -> pulumi.Input[str]:
129
+ """
130
+ The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
131
+ """
132
+ return pulumi.get(self, "resource_type")
133
+
134
+ @resource_type.setter
135
+ def resource_type(self, value: pulumi.Input[str]):
136
+ pulumi.set(self, "resource_type", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="serviceName")
140
+ def service_name(self) -> pulumi.Input[str]:
141
+ """
142
+ 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.
143
+ """
144
+ return pulumi.get(self, "service_name")
145
+
146
+ @service_name.setter
147
+ def service_name(self, value: pulumi.Input[str]):
148
+ pulumi.set(self, "service_name", value)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def host(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
155
+ """
156
+ return pulumi.get(self, "host")
157
+
158
+ @host.setter
159
+ def host(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "host", value)
161
+
162
+
163
+ @pulumi.input_type
164
+ class _KafkaNativeAclState:
165
+ def __init__(__self__, *,
166
+ host: Optional[pulumi.Input[str]] = None,
167
+ operation: Optional[pulumi.Input[str]] = None,
168
+ pattern_type: Optional[pulumi.Input[str]] = None,
169
+ permission_type: Optional[pulumi.Input[str]] = None,
170
+ principal: Optional[pulumi.Input[str]] = None,
171
+ project: Optional[pulumi.Input[str]] = None,
172
+ resource_name: Optional[pulumi.Input[str]] = None,
173
+ resource_type: Optional[pulumi.Input[str]] = None,
174
+ service_name: Optional[pulumi.Input[str]] = None):
175
+ """
176
+ Input properties used for looking up and filtering KafkaNativeAcl resources.
177
+ :param pulumi.Input[str] host: The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
178
+ :param pulumi.Input[str] operation: The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
179
+ :param pulumi.Input[str] pattern_type: Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
180
+ :param pulumi.Input[str] permission_type: Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
181
+ :param pulumi.Input[str] principal: Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
182
+ :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.
183
+ :param pulumi.Input[str] resource_name: The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
184
+ :param pulumi.Input[str] resource_type: The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
185
+ :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.
186
+ """
187
+ if host is not None:
188
+ pulumi.set(__self__, "host", host)
189
+ if operation is not None:
190
+ pulumi.set(__self__, "operation", operation)
191
+ if pattern_type is not None:
192
+ pulumi.set(__self__, "pattern_type", pattern_type)
193
+ if permission_type is not None:
194
+ pulumi.set(__self__, "permission_type", permission_type)
195
+ if principal is not None:
196
+ pulumi.set(__self__, "principal", principal)
197
+ if project is not None:
198
+ pulumi.set(__self__, "project", project)
199
+ if resource_name is not None:
200
+ pulumi.set(__self__, "resource_name", resource_name)
201
+ if resource_type is not None:
202
+ pulumi.set(__self__, "resource_type", resource_type)
203
+ if service_name is not None:
204
+ pulumi.set(__self__, "service_name", service_name)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def host(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
211
+ """
212
+ return pulumi.get(self, "host")
213
+
214
+ @host.setter
215
+ def host(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "host", value)
217
+
218
+ @property
219
+ @pulumi.getter
220
+ def operation(self) -> Optional[pulumi.Input[str]]:
221
+ """
222
+ The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
223
+ """
224
+ return pulumi.get(self, "operation")
225
+
226
+ @operation.setter
227
+ def operation(self, value: Optional[pulumi.Input[str]]):
228
+ pulumi.set(self, "operation", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="patternType")
232
+ def pattern_type(self) -> Optional[pulumi.Input[str]]:
233
+ """
234
+ Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
235
+ """
236
+ return pulumi.get(self, "pattern_type")
237
+
238
+ @pattern_type.setter
239
+ def pattern_type(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "pattern_type", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="permissionType")
244
+ def permission_type(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
247
+ """
248
+ return pulumi.get(self, "permission_type")
249
+
250
+ @permission_type.setter
251
+ def permission_type(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "permission_type", value)
253
+
254
+ @property
255
+ @pulumi.getter
256
+ def principal(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
259
+ """
260
+ return pulumi.get(self, "principal")
261
+
262
+ @principal.setter
263
+ def principal(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "principal", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def project(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ 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.
271
+ """
272
+ return pulumi.get(self, "project")
273
+
274
+ @project.setter
275
+ def project(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "project", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="resourceName")
280
+ def resource_name(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
283
+ """
284
+ return pulumi.get(self, "resource_name")
285
+
286
+ @resource_name.setter
287
+ def resource_name(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "resource_name", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="resourceType")
292
+ def resource_type(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
295
+ """
296
+ return pulumi.get(self, "resource_type")
297
+
298
+ @resource_type.setter
299
+ def resource_type(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "resource_type", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="serviceName")
304
+ def service_name(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ 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.
307
+ """
308
+ return pulumi.get(self, "service_name")
309
+
310
+ @service_name.setter
311
+ def service_name(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "service_name", value)
313
+
314
+
315
+ class KafkaNativeAcl(pulumi.CustomResource):
316
+ @overload
317
+ def __init__(__self__,
318
+ resource_name: str,
319
+ opts: Optional[pulumi.ResourceOptions] = None,
320
+ host: Optional[pulumi.Input[str]] = None,
321
+ operation: Optional[pulumi.Input[str]] = None,
322
+ pattern_type: Optional[pulumi.Input[str]] = None,
323
+ permission_type: Optional[pulumi.Input[str]] = None,
324
+ principal: Optional[pulumi.Input[str]] = None,
325
+ project: Optional[pulumi.Input[str]] = None,
326
+ resource_name_: Optional[pulumi.Input[str]] = None,
327
+ resource_type: Optional[pulumi.Input[str]] = None,
328
+ service_name: Optional[pulumi.Input[str]] = None,
329
+ __props__=None):
330
+ """
331
+ Creates and manages Kafka-native [access control lists](https://aiven.io/docs/products/kafka/concepts/acl) (ACLs) for an Aiven for Apache Kafka® service. ACLs control access to Kafka topics, consumer groups,
332
+ clusters, and Schema Registry.
333
+
334
+ Kafka-native ACLs provide advanced resource-level access control with fine-grained permissions, including `ALLOW` and `DENY` rules. For simplified topic-level control you can use Aiven ACLs.
335
+
336
+ ## Example Usage
337
+
338
+ ```python
339
+ import pulumi
340
+ import pulumi_aiven as aiven
341
+
342
+ example_acl = aiven.KafkaNativeAcl("example_acl",
343
+ project=example_project["project"],
344
+ service_name=example_kafka["serviceName"],
345
+ resource_type="Topic",
346
+ resource_name_="example-topic",
347
+ principal="User:example-user",
348
+ operation="Read",
349
+ pattern_type="LITERAL",
350
+ permission_type="ALLOW",
351
+ host="198.51.100.0")
352
+ ```
353
+
354
+ ## Import
355
+
356
+ ```sh
357
+ $ pulumi import aiven:index/kafkaNativeAcl:KafkaNativeAcl example_acl PROJECT/SERVICE_NAME/ID
358
+ ```
359
+
360
+ :param str resource_name: The name of the resource.
361
+ :param pulumi.ResourceOptions opts: Options for the resource.
362
+ :param pulumi.Input[str] host: The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
363
+ :param pulumi.Input[str] operation: The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
364
+ :param pulumi.Input[str] pattern_type: Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
365
+ :param pulumi.Input[str] permission_type: Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
366
+ :param pulumi.Input[str] principal: Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
367
+ :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.
368
+ :param pulumi.Input[str] resource_name_: The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
369
+ :param pulumi.Input[str] resource_type: The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
370
+ :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.
371
+ """
372
+ ...
373
+ @overload
374
+ def __init__(__self__,
375
+ resource_name: str,
376
+ args: KafkaNativeAclArgs,
377
+ opts: Optional[pulumi.ResourceOptions] = None):
378
+ """
379
+ Creates and manages Kafka-native [access control lists](https://aiven.io/docs/products/kafka/concepts/acl) (ACLs) for an Aiven for Apache Kafka® service. ACLs control access to Kafka topics, consumer groups,
380
+ clusters, and Schema Registry.
381
+
382
+ Kafka-native ACLs provide advanced resource-level access control with fine-grained permissions, including `ALLOW` and `DENY` rules. For simplified topic-level control you can use Aiven ACLs.
383
+
384
+ ## Example Usage
385
+
386
+ ```python
387
+ import pulumi
388
+ import pulumi_aiven as aiven
389
+
390
+ example_acl = aiven.KafkaNativeAcl("example_acl",
391
+ project=example_project["project"],
392
+ service_name=example_kafka["serviceName"],
393
+ resource_type="Topic",
394
+ resource_name_="example-topic",
395
+ principal="User:example-user",
396
+ operation="Read",
397
+ pattern_type="LITERAL",
398
+ permission_type="ALLOW",
399
+ host="198.51.100.0")
400
+ ```
401
+
402
+ ## Import
403
+
404
+ ```sh
405
+ $ pulumi import aiven:index/kafkaNativeAcl:KafkaNativeAcl example_acl PROJECT/SERVICE_NAME/ID
406
+ ```
407
+
408
+ :param str resource_name: The name of the resource.
409
+ :param KafkaNativeAclArgs args: The arguments to use to populate this resource's properties.
410
+ :param pulumi.ResourceOptions opts: Options for the resource.
411
+ """
412
+ ...
413
+ def __init__(__self__, resource_name: str, *args, **kwargs):
414
+ resource_args, opts = _utilities.get_resource_args_opts(KafkaNativeAclArgs, pulumi.ResourceOptions, *args, **kwargs)
415
+ if resource_args is not None:
416
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
417
+ else:
418
+ __self__._internal_init(resource_name, *args, **kwargs)
419
+
420
+ def _internal_init(__self__,
421
+ resource_name: str,
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ host: Optional[pulumi.Input[str]] = None,
424
+ operation: Optional[pulumi.Input[str]] = None,
425
+ pattern_type: Optional[pulumi.Input[str]] = None,
426
+ permission_type: Optional[pulumi.Input[str]] = None,
427
+ principal: Optional[pulumi.Input[str]] = None,
428
+ project: Optional[pulumi.Input[str]] = None,
429
+ resource_name_: Optional[pulumi.Input[str]] = None,
430
+ resource_type: Optional[pulumi.Input[str]] = None,
431
+ service_name: Optional[pulumi.Input[str]] = None,
432
+ __props__=None):
433
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
434
+ if not isinstance(opts, pulumi.ResourceOptions):
435
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
436
+ if opts.id is None:
437
+ if __props__ is not None:
438
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
439
+ __props__ = KafkaNativeAclArgs.__new__(KafkaNativeAclArgs)
440
+
441
+ __props__.__dict__["host"] = host
442
+ if operation is None and not opts.urn:
443
+ raise TypeError("Missing required property 'operation'")
444
+ __props__.__dict__["operation"] = operation
445
+ if pattern_type is None and not opts.urn:
446
+ raise TypeError("Missing required property 'pattern_type'")
447
+ __props__.__dict__["pattern_type"] = pattern_type
448
+ if permission_type is None and not opts.urn:
449
+ raise TypeError("Missing required property 'permission_type'")
450
+ __props__.__dict__["permission_type"] = permission_type
451
+ if principal is None and not opts.urn:
452
+ raise TypeError("Missing required property 'principal'")
453
+ __props__.__dict__["principal"] = principal
454
+ if project is None and not opts.urn:
455
+ raise TypeError("Missing required property 'project'")
456
+ __props__.__dict__["project"] = project
457
+ if resource_name_ is None and not opts.urn:
458
+ raise TypeError("Missing required property 'resource_name_'")
459
+ __props__.__dict__["resource_name"] = resource_name_
460
+ if resource_type is None and not opts.urn:
461
+ raise TypeError("Missing required property 'resource_type'")
462
+ __props__.__dict__["resource_type"] = resource_type
463
+ if service_name is None and not opts.urn:
464
+ raise TypeError("Missing required property 'service_name'")
465
+ __props__.__dict__["service_name"] = service_name
466
+ super(KafkaNativeAcl, __self__).__init__(
467
+ 'aiven:index/kafkaNativeAcl:KafkaNativeAcl',
468
+ resource_name,
469
+ __props__,
470
+ opts)
471
+
472
+ @staticmethod
473
+ def get(resource_name: str,
474
+ id: pulumi.Input[str],
475
+ opts: Optional[pulumi.ResourceOptions] = None,
476
+ host: Optional[pulumi.Input[str]] = None,
477
+ operation: Optional[pulumi.Input[str]] = None,
478
+ pattern_type: Optional[pulumi.Input[str]] = None,
479
+ permission_type: Optional[pulumi.Input[str]] = None,
480
+ principal: Optional[pulumi.Input[str]] = None,
481
+ project: Optional[pulumi.Input[str]] = None,
482
+ resource_name_: Optional[pulumi.Input[str]] = None,
483
+ resource_type: Optional[pulumi.Input[str]] = None,
484
+ service_name: Optional[pulumi.Input[str]] = None) -> 'KafkaNativeAcl':
485
+ """
486
+ Get an existing KafkaNativeAcl resource's state with the given name, id, and optional extra
487
+ properties used to qualify the lookup.
488
+
489
+ :param str resource_name: The unique name of the resulting resource.
490
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
491
+ :param pulumi.ResourceOptions opts: Options for the resource.
492
+ :param pulumi.Input[str] host: The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
493
+ :param pulumi.Input[str] operation: The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
494
+ :param pulumi.Input[str] pattern_type: Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
495
+ :param pulumi.Input[str] permission_type: Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
496
+ :param pulumi.Input[str] principal: Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
497
+ :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.
498
+ :param pulumi.Input[str] resource_name_: The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
499
+ :param pulumi.Input[str] resource_type: The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
500
+ :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.
501
+ """
502
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
503
+
504
+ __props__ = _KafkaNativeAclState.__new__(_KafkaNativeAclState)
505
+
506
+ __props__.__dict__["host"] = host
507
+ __props__.__dict__["operation"] = operation
508
+ __props__.__dict__["pattern_type"] = pattern_type
509
+ __props__.__dict__["permission_type"] = permission_type
510
+ __props__.__dict__["principal"] = principal
511
+ __props__.__dict__["project"] = project
512
+ __props__.__dict__["resource_name"] = resource_name_
513
+ __props__.__dict__["resource_type"] = resource_type
514
+ __props__.__dict__["service_name"] = service_name
515
+ return KafkaNativeAcl(resource_name, opts=opts, __props__=__props__)
516
+
517
+ @property
518
+ @pulumi.getter
519
+ def host(self) -> pulumi.Output[Optional[str]]:
520
+ """
521
+ The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: `256`. Changing this property forces recreation of the resource.
522
+ """
523
+ return pulumi.get(self, "host")
524
+
525
+ @property
526
+ @pulumi.getter
527
+ def operation(self) -> pulumi.Output[str]:
528
+ """
529
+ The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.
530
+ """
531
+ return pulumi.get(self, "operation")
532
+
533
+ @property
534
+ @pulumi.getter(name="patternType")
535
+ def pattern_type(self) -> pulumi.Output[str]:
536
+ """
537
+ Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.
538
+ """
539
+ return pulumi.get(self, "pattern_type")
540
+
541
+ @property
542
+ @pulumi.getter(name="permissionType")
543
+ def permission_type(self) -> pulumi.Output[str]:
544
+ """
545
+ Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.
546
+ """
547
+ return pulumi.get(self, "permission_type")
548
+
549
+ @property
550
+ @pulumi.getter
551
+ def principal(self) -> pulumi.Output[str]:
552
+ """
553
+ Identities in `user:name` format that the permissions apply to. The `name` supports wildcards. Maximum length: `256`. Changing this property forces recreation of the resource.
554
+ """
555
+ return pulumi.get(self, "principal")
556
+
557
+ @property
558
+ @pulumi.getter
559
+ def project(self) -> pulumi.Output[str]:
560
+ """
561
+ 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.
562
+ """
563
+ return pulumi.get(self, "project")
564
+
565
+ @property
566
+ @pulumi.getter(name="resourceName")
567
+ def resource_name(self) -> pulumi.Output[str]:
568
+ """
569
+ The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: `256`. Changing this property forces recreation of the resource.
570
+ """
571
+ return pulumi.get(self, "resource_name")
572
+
573
+ @property
574
+ @pulumi.getter(name="resourceType")
575
+ def resource_type(self) -> pulumi.Output[str]:
576
+ """
577
+ The type of Kafka resource. The possible values are `Topic`, `Group`, `Cluster`, `TransactionalId`, `DelegationToken` and `User`. Changing this property forces recreation of the resource.
578
+ """
579
+ return pulumi.get(self, "resource_type")
580
+
581
+ @property
582
+ @pulumi.getter(name="serviceName")
583
+ def service_name(self) -> pulumi.Output[str]:
584
+ """
585
+ 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.
586
+ """
587
+ return pulumi.get(self, "service_name")
588
+