pulumi-aiven 6.13.0a1710156545__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 +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.0a1736831339.dist-info}/METADATA +7 -6
  165. pulumi_aiven-6.31.0a1736831339.dist-info/RECORD +169 -0
  166. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736831339.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.0a1736831339.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,421 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['OrganizationPermissionArgs', 'OrganizationPermission']
20
+
21
+ @pulumi.input_type
22
+ class OrganizationPermissionArgs:
23
+ def __init__(__self__, *,
24
+ organization_id: pulumi.Input[str],
25
+ permissions: pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]],
26
+ resource_id: pulumi.Input[str],
27
+ resource_type: pulumi.Input[str]):
28
+ """
29
+ The set of arguments for constructing a OrganizationPermission resource.
30
+ :param pulumi.Input[str] organization_id: Organization ID.
31
+ :param pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]] permissions: Permissions to grant to principals.
32
+ :param pulumi.Input[str] resource_id: Resource ID.
33
+ :param pulumi.Input[str] resource_type: Resource type. The possible values are `project`, `organization` and `organization_unit`.
34
+ """
35
+ pulumi.set(__self__, "organization_id", organization_id)
36
+ pulumi.set(__self__, "permissions", permissions)
37
+ pulumi.set(__self__, "resource_id", resource_id)
38
+ pulumi.set(__self__, "resource_type", resource_type)
39
+
40
+ @property
41
+ @pulumi.getter(name="organizationId")
42
+ def organization_id(self) -> pulumi.Input[str]:
43
+ """
44
+ Organization ID.
45
+ """
46
+ return pulumi.get(self, "organization_id")
47
+
48
+ @organization_id.setter
49
+ def organization_id(self, value: pulumi.Input[str]):
50
+ pulumi.set(self, "organization_id", value)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def permissions(self) -> pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]]:
55
+ """
56
+ Permissions to grant to principals.
57
+ """
58
+ return pulumi.get(self, "permissions")
59
+
60
+ @permissions.setter
61
+ def permissions(self, value: pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]]):
62
+ pulumi.set(self, "permissions", value)
63
+
64
+ @property
65
+ @pulumi.getter(name="resourceId")
66
+ def resource_id(self) -> pulumi.Input[str]:
67
+ """
68
+ Resource ID.
69
+ """
70
+ return pulumi.get(self, "resource_id")
71
+
72
+ @resource_id.setter
73
+ def resource_id(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "resource_id", value)
75
+
76
+ @property
77
+ @pulumi.getter(name="resourceType")
78
+ def resource_type(self) -> pulumi.Input[str]:
79
+ """
80
+ Resource type. The possible values are `project`, `organization` and `organization_unit`.
81
+ """
82
+ return pulumi.get(self, "resource_type")
83
+
84
+ @resource_type.setter
85
+ def resource_type(self, value: pulumi.Input[str]):
86
+ pulumi.set(self, "resource_type", value)
87
+
88
+
89
+ @pulumi.input_type
90
+ class _OrganizationPermissionState:
91
+ def __init__(__self__, *,
92
+ organization_id: Optional[pulumi.Input[str]] = None,
93
+ permissions: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]]] = None,
94
+ resource_id: Optional[pulumi.Input[str]] = None,
95
+ resource_type: Optional[pulumi.Input[str]] = None):
96
+ """
97
+ Input properties used for looking up and filtering OrganizationPermission resources.
98
+ :param pulumi.Input[str] organization_id: Organization ID.
99
+ :param pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]] permissions: Permissions to grant to principals.
100
+ :param pulumi.Input[str] resource_id: Resource ID.
101
+ :param pulumi.Input[str] resource_type: Resource type. The possible values are `project`, `organization` and `organization_unit`.
102
+ """
103
+ if organization_id is not None:
104
+ pulumi.set(__self__, "organization_id", organization_id)
105
+ if permissions is not None:
106
+ pulumi.set(__self__, "permissions", permissions)
107
+ if resource_id is not None:
108
+ pulumi.set(__self__, "resource_id", resource_id)
109
+ if resource_type is not None:
110
+ pulumi.set(__self__, "resource_type", resource_type)
111
+
112
+ @property
113
+ @pulumi.getter(name="organizationId")
114
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ Organization ID.
117
+ """
118
+ return pulumi.get(self, "organization_id")
119
+
120
+ @organization_id.setter
121
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
122
+ pulumi.set(self, "organization_id", value)
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]]]:
127
+ """
128
+ Permissions to grant to principals.
129
+ """
130
+ return pulumi.get(self, "permissions")
131
+
132
+ @permissions.setter
133
+ def permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationPermissionPermissionArgs']]]]):
134
+ pulumi.set(self, "permissions", value)
135
+
136
+ @property
137
+ @pulumi.getter(name="resourceId")
138
+ def resource_id(self) -> Optional[pulumi.Input[str]]:
139
+ """
140
+ Resource ID.
141
+ """
142
+ return pulumi.get(self, "resource_id")
143
+
144
+ @resource_id.setter
145
+ def resource_id(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "resource_id", value)
147
+
148
+ @property
149
+ @pulumi.getter(name="resourceType")
150
+ def resource_type(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ Resource type. The possible values are `project`, `organization` and `organization_unit`.
153
+ """
154
+ return pulumi.get(self, "resource_type")
155
+
156
+ @resource_type.setter
157
+ def resource_type(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "resource_type", value)
159
+
160
+
161
+ class OrganizationPermission(pulumi.CustomResource):
162
+ @overload
163
+ def __init__(__self__,
164
+ resource_name: str,
165
+ opts: Optional[pulumi.ResourceOptions] = None,
166
+ organization_id: Optional[pulumi.Input[str]] = None,
167
+ permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationPermissionPermissionArgs', 'OrganizationPermissionPermissionArgsDict']]]]] = None,
168
+ resource_id: Optional[pulumi.Input[str]] = None,
169
+ resource_type: Optional[pulumi.Input[str]] = None,
170
+ __props__=None):
171
+ """
172
+ Grants [roles and permissions](https://aiven.io/docs/platform/concepts/permissions) to a principal for a resource. Permissions can be granted at the organization, organizational unit, and project level. Unit-level permissions aren't shown in the Aiven Console.
173
+
174
+ ## Example Usage
175
+
176
+ ```python
177
+ import pulumi
178
+ import pulumi_aiven as aiven
179
+
180
+ # Grant access to a specific project
181
+ example_project_permissions = aiven.OrganizationPermission("example_project_permissions",
182
+ organization_id=main["id"],
183
+ resource_id=example_project["id"],
184
+ resource_type="project",
185
+ permissions=[
186
+ {
187
+ "permissions": [
188
+ "operator",
189
+ "service:logs:read",
190
+ ],
191
+ "principal_id": "u123a456b7890c",
192
+ "principal_type": "user",
193
+ },
194
+ {
195
+ "permissions": [
196
+ "project:integrations:write",
197
+ "developer",
198
+ ],
199
+ "principal_id": example_group["groupId"],
200
+ "principal_type": "user_group",
201
+ },
202
+ ])
203
+ # Organization-level permissions
204
+ example_org_permissions = aiven.OrganizationPermission("example_org_permissions",
205
+ organization_id=main["id"],
206
+ resource_id=main["id"],
207
+ resource_type="organization",
208
+ permissions=[
209
+ {
210
+ "permissions": [
211
+ "organization:app_users:write",
212
+ "project:audit_logs:read",
213
+ ],
214
+ "principal_id": "u123a456b7890c",
215
+ "principal_type": "user",
216
+ },
217
+ {
218
+ "permissions": [
219
+ "organization:users:write",
220
+ "organization:groups:write",
221
+ "organization:domains:write",
222
+ "organization:idps:write",
223
+ ],
224
+ "principal_id": example_group_aiven_organization_user_group["groupId"],
225
+ "principal_type": "user_group",
226
+ },
227
+ ])
228
+ ```
229
+
230
+ ## Import
231
+
232
+ ```sh
233
+ $ pulumi import aiven:index/organizationPermission:OrganizationPermission operator ORGANIZATION_ID/ID
234
+ ```
235
+
236
+ :param str resource_name: The name of the resource.
237
+ :param pulumi.ResourceOptions opts: Options for the resource.
238
+ :param pulumi.Input[str] organization_id: Organization ID.
239
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationPermissionPermissionArgs', 'OrganizationPermissionPermissionArgsDict']]]] permissions: Permissions to grant to principals.
240
+ :param pulumi.Input[str] resource_id: Resource ID.
241
+ :param pulumi.Input[str] resource_type: Resource type. The possible values are `project`, `organization` and `organization_unit`.
242
+ """
243
+ ...
244
+ @overload
245
+ def __init__(__self__,
246
+ resource_name: str,
247
+ args: OrganizationPermissionArgs,
248
+ opts: Optional[pulumi.ResourceOptions] = None):
249
+ """
250
+ Grants [roles and permissions](https://aiven.io/docs/platform/concepts/permissions) to a principal for a resource. Permissions can be granted at the organization, organizational unit, and project level. Unit-level permissions aren't shown in the Aiven Console.
251
+
252
+ ## Example Usage
253
+
254
+ ```python
255
+ import pulumi
256
+ import pulumi_aiven as aiven
257
+
258
+ # Grant access to a specific project
259
+ example_project_permissions = aiven.OrganizationPermission("example_project_permissions",
260
+ organization_id=main["id"],
261
+ resource_id=example_project["id"],
262
+ resource_type="project",
263
+ permissions=[
264
+ {
265
+ "permissions": [
266
+ "operator",
267
+ "service:logs:read",
268
+ ],
269
+ "principal_id": "u123a456b7890c",
270
+ "principal_type": "user",
271
+ },
272
+ {
273
+ "permissions": [
274
+ "project:integrations:write",
275
+ "developer",
276
+ ],
277
+ "principal_id": example_group["groupId"],
278
+ "principal_type": "user_group",
279
+ },
280
+ ])
281
+ # Organization-level permissions
282
+ example_org_permissions = aiven.OrganizationPermission("example_org_permissions",
283
+ organization_id=main["id"],
284
+ resource_id=main["id"],
285
+ resource_type="organization",
286
+ permissions=[
287
+ {
288
+ "permissions": [
289
+ "organization:app_users:write",
290
+ "project:audit_logs:read",
291
+ ],
292
+ "principal_id": "u123a456b7890c",
293
+ "principal_type": "user",
294
+ },
295
+ {
296
+ "permissions": [
297
+ "organization:users:write",
298
+ "organization:groups:write",
299
+ "organization:domains:write",
300
+ "organization:idps:write",
301
+ ],
302
+ "principal_id": example_group_aiven_organization_user_group["groupId"],
303
+ "principal_type": "user_group",
304
+ },
305
+ ])
306
+ ```
307
+
308
+ ## Import
309
+
310
+ ```sh
311
+ $ pulumi import aiven:index/organizationPermission:OrganizationPermission operator ORGANIZATION_ID/ID
312
+ ```
313
+
314
+ :param str resource_name: The name of the resource.
315
+ :param OrganizationPermissionArgs args: The arguments to use to populate this resource's properties.
316
+ :param pulumi.ResourceOptions opts: Options for the resource.
317
+ """
318
+ ...
319
+ def __init__(__self__, resource_name: str, *args, **kwargs):
320
+ resource_args, opts = _utilities.get_resource_args_opts(OrganizationPermissionArgs, pulumi.ResourceOptions, *args, **kwargs)
321
+ if resource_args is not None:
322
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
323
+ else:
324
+ __self__._internal_init(resource_name, *args, **kwargs)
325
+
326
+ def _internal_init(__self__,
327
+ resource_name: str,
328
+ opts: Optional[pulumi.ResourceOptions] = None,
329
+ organization_id: Optional[pulumi.Input[str]] = None,
330
+ permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationPermissionPermissionArgs', 'OrganizationPermissionPermissionArgsDict']]]]] = None,
331
+ resource_id: Optional[pulumi.Input[str]] = None,
332
+ resource_type: Optional[pulumi.Input[str]] = None,
333
+ __props__=None):
334
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
335
+ if not isinstance(opts, pulumi.ResourceOptions):
336
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
337
+ if opts.id is None:
338
+ if __props__ is not None:
339
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
340
+ __props__ = OrganizationPermissionArgs.__new__(OrganizationPermissionArgs)
341
+
342
+ if organization_id is None and not opts.urn:
343
+ raise TypeError("Missing required property 'organization_id'")
344
+ __props__.__dict__["organization_id"] = organization_id
345
+ if permissions is None and not opts.urn:
346
+ raise TypeError("Missing required property 'permissions'")
347
+ __props__.__dict__["permissions"] = permissions
348
+ if resource_id is None and not opts.urn:
349
+ raise TypeError("Missing required property 'resource_id'")
350
+ __props__.__dict__["resource_id"] = resource_id
351
+ if resource_type is None and not opts.urn:
352
+ raise TypeError("Missing required property 'resource_type'")
353
+ __props__.__dict__["resource_type"] = resource_type
354
+ super(OrganizationPermission, __self__).__init__(
355
+ 'aiven:index/organizationPermission:OrganizationPermission',
356
+ resource_name,
357
+ __props__,
358
+ opts)
359
+
360
+ @staticmethod
361
+ def get(resource_name: str,
362
+ id: pulumi.Input[str],
363
+ opts: Optional[pulumi.ResourceOptions] = None,
364
+ organization_id: Optional[pulumi.Input[str]] = None,
365
+ permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationPermissionPermissionArgs', 'OrganizationPermissionPermissionArgsDict']]]]] = None,
366
+ resource_id: Optional[pulumi.Input[str]] = None,
367
+ resource_type: Optional[pulumi.Input[str]] = None) -> 'OrganizationPermission':
368
+ """
369
+ Get an existing OrganizationPermission resource's state with the given name, id, and optional extra
370
+ properties used to qualify the lookup.
371
+
372
+ :param str resource_name: The unique name of the resulting resource.
373
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
374
+ :param pulumi.ResourceOptions opts: Options for the resource.
375
+ :param pulumi.Input[str] organization_id: Organization ID.
376
+ :param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationPermissionPermissionArgs', 'OrganizationPermissionPermissionArgsDict']]]] permissions: Permissions to grant to principals.
377
+ :param pulumi.Input[str] resource_id: Resource ID.
378
+ :param pulumi.Input[str] resource_type: Resource type. The possible values are `project`, `organization` and `organization_unit`.
379
+ """
380
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
381
+
382
+ __props__ = _OrganizationPermissionState.__new__(_OrganizationPermissionState)
383
+
384
+ __props__.__dict__["organization_id"] = organization_id
385
+ __props__.__dict__["permissions"] = permissions
386
+ __props__.__dict__["resource_id"] = resource_id
387
+ __props__.__dict__["resource_type"] = resource_type
388
+ return OrganizationPermission(resource_name, opts=opts, __props__=__props__)
389
+
390
+ @property
391
+ @pulumi.getter(name="organizationId")
392
+ def organization_id(self) -> pulumi.Output[str]:
393
+ """
394
+ Organization ID.
395
+ """
396
+ return pulumi.get(self, "organization_id")
397
+
398
+ @property
399
+ @pulumi.getter
400
+ def permissions(self) -> pulumi.Output[Sequence['outputs.OrganizationPermissionPermission']]:
401
+ """
402
+ Permissions to grant to principals.
403
+ """
404
+ return pulumi.get(self, "permissions")
405
+
406
+ @property
407
+ @pulumi.getter(name="resourceId")
408
+ def resource_id(self) -> pulumi.Output[str]:
409
+ """
410
+ Resource ID.
411
+ """
412
+ return pulumi.get(self, "resource_id")
413
+
414
+ @property
415
+ @pulumi.getter(name="resourceType")
416
+ def resource_type(self) -> pulumi.Output[str]:
417
+ """
418
+ Resource type. The possible values are `project`, `organization` and `organization_unit`.
419
+ """
420
+ return pulumi.get(self, "resource_type")
421
+
@@ -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
 
12
17
  __all__ = ['OrganizationUserArgs', 'OrganizationUser']
@@ -18,8 +23,8 @@ class OrganizationUserArgs:
18
23
  user_email: pulumi.Input[str]):
19
24
  """
20
25
  The set of arguments for constructing a OrganizationUser resource.
21
- :param pulumi.Input[str] organization_id: The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
22
- :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
26
+ :param pulumi.Input[str] organization_id: The unique organization ID. Changing this property forces recreation of the resource.
27
+ :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
23
28
  """
24
29
  pulumi.set(__self__, "organization_id", organization_id)
25
30
  pulumi.set(__self__, "user_email", user_email)
@@ -28,7 +33,7 @@ class OrganizationUserArgs:
28
33
  @pulumi.getter(name="organizationId")
29
34
  def organization_id(self) -> pulumi.Input[str]:
30
35
  """
31
- The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
36
+ The unique organization ID. Changing this property forces recreation of the resource.
32
37
  """
33
38
  return pulumi.get(self, "organization_id")
34
39
 
@@ -40,7 +45,7 @@ class OrganizationUserArgs:
40
45
  @pulumi.getter(name="userEmail")
41
46
  def user_email(self) -> pulumi.Input[str]:
42
47
  """
43
- This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
48
+ This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
44
49
  """
45
50
  return pulumi.get(self, "user_email")
46
51
 
@@ -63,8 +68,8 @@ class _OrganizationUserState:
63
68
  :param pulumi.Input[bool] accepted: This is a boolean flag that determines whether an invitation was accepted or not by the user. `false` value means that the invitation was sent to the user but not yet accepted. `true` means that the user accepted the invitation and now a member of an organization.
64
69
  :param pulumi.Input[str] create_time: Time of creation
65
70
  :param pulumi.Input[str] invited_by: The email address of the user who sent an invitation to the user.
66
- :param pulumi.Input[str] organization_id: The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
67
- :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
71
+ :param pulumi.Input[str] organization_id: The unique organization ID. Changing this property forces recreation of the resource.
72
+ :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
68
73
  :param pulumi.Input[str] user_id: The unique organization user ID
69
74
  """
70
75
  if accepted is not None:
@@ -88,13 +93,11 @@ class _OrganizationUserState:
88
93
 
89
94
  @property
90
95
  @pulumi.getter
96
+ @_utilities.deprecated("""This field is deprecated and will be removed in the next major release. """)
91
97
  def accepted(self) -> Optional[pulumi.Input[bool]]:
92
98
  """
93
99
  This is a boolean flag that determines whether an invitation was accepted or not by the user. `false` value means that the invitation was sent to the user but not yet accepted. `true` means that the user accepted the invitation and now a member of an organization.
94
100
  """
95
- warnings.warn("""This field is deprecated and will be removed in the next major release. """, DeprecationWarning)
96
- pulumi.log.warn("""accepted is deprecated: This field is deprecated and will be removed in the next major release. """)
97
-
98
101
  return pulumi.get(self, "accepted")
99
102
 
100
103
  @accepted.setter
@@ -115,13 +118,11 @@ class _OrganizationUserState:
115
118
 
116
119
  @property
117
120
  @pulumi.getter(name="invitedBy")
121
+ @_utilities.deprecated("""This field is deprecated and will be removed in the next major release. """)
118
122
  def invited_by(self) -> Optional[pulumi.Input[str]]:
119
123
  """
120
124
  The email address of the user who sent an invitation to the user.
121
125
  """
122
- warnings.warn("""This field is deprecated and will be removed in the next major release. """, DeprecationWarning)
123
- pulumi.log.warn("""invited_by is deprecated: This field is deprecated and will be removed in the next major release. """)
124
-
125
126
  return pulumi.get(self, "invited_by")
126
127
 
127
128
  @invited_by.setter
@@ -132,7 +133,7 @@ class _OrganizationUserState:
132
133
  @pulumi.getter(name="organizationId")
133
134
  def organization_id(self) -> Optional[pulumi.Input[str]]:
134
135
  """
135
- The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
136
+ The unique organization ID. Changing this property forces recreation of the resource.
136
137
  """
137
138
  return pulumi.get(self, "organization_id")
138
139
 
@@ -144,7 +145,7 @@ class _OrganizationUserState:
144
145
  @pulumi.getter(name="userEmail")
145
146
  def user_email(self) -> Optional[pulumi.Input[str]]:
146
147
  """
147
- This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
148
+ This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
148
149
  """
149
150
  return pulumi.get(self, "user_email")
150
151
 
@@ -174,20 +175,11 @@ class OrganizationUser(pulumi.CustomResource):
174
175
  user_email: Optional[pulumi.Input[str]] = None,
175
176
  __props__=None):
176
177
  """
177
- **This resource is deprecated**. Use the OrganizationUser data source instead.
178
-
179
- The organization user resource allows the creation and management of an Aiven organization user.
180
-
181
- During the creation of `OrganizationUser`resource, an email invitation will be sent
182
- to a user using `user_email` address. If the user accepts an invitation, they will become
183
- a member of the organization. The deletion of `OrganizationUser` will not only
184
- delete the invitation if one was sent but not yet accepted by the user, it will also
185
- eliminate the member from the organization if one has accepted an invitation previously.
186
-
178
+ Create a OrganizationUser resource with the given unique name, props, and options.
187
179
  :param str resource_name: The name of the resource.
188
180
  :param pulumi.ResourceOptions opts: Options for the resource.
189
- :param pulumi.Input[str] organization_id: The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
190
- :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
181
+ :param pulumi.Input[str] organization_id: The unique organization ID. Changing this property forces recreation of the resource.
182
+ :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
191
183
  """
192
184
  ...
193
185
  @overload
@@ -196,16 +188,7 @@ class OrganizationUser(pulumi.CustomResource):
196
188
  args: OrganizationUserArgs,
197
189
  opts: Optional[pulumi.ResourceOptions] = None):
198
190
  """
199
- **This resource is deprecated**. Use the OrganizationUser data source instead.
200
-
201
- The organization user resource allows the creation and management of an Aiven organization user.
202
-
203
- During the creation of `OrganizationUser`resource, an email invitation will be sent
204
- to a user using `user_email` address. If the user accepts an invitation, they will become
205
- a member of the organization. The deletion of `OrganizationUser` will not only
206
- delete the invitation if one was sent but not yet accepted by the user, it will also
207
- eliminate the member from the organization if one has accepted an invitation previously.
208
-
191
+ Create a OrganizationUser resource with the given unique name, props, and options.
209
192
  :param str resource_name: The name of the resource.
210
193
  :param OrganizationUserArgs args: The arguments to use to populate this resource's properties.
211
194
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -268,8 +251,8 @@ class OrganizationUser(pulumi.CustomResource):
268
251
  :param pulumi.Input[bool] accepted: This is a boolean flag that determines whether an invitation was accepted or not by the user. `false` value means that the invitation was sent to the user but not yet accepted. `true` means that the user accepted the invitation and now a member of an organization.
269
252
  :param pulumi.Input[str] create_time: Time of creation
270
253
  :param pulumi.Input[str] invited_by: The email address of the user who sent an invitation to the user.
271
- :param pulumi.Input[str] organization_id: The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
272
- :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
254
+ :param pulumi.Input[str] organization_id: The unique organization ID. Changing this property forces recreation of the resource.
255
+ :param pulumi.Input[str] user_email: This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
273
256
  :param pulumi.Input[str] user_id: The unique organization user ID
274
257
  """
275
258
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -286,13 +269,11 @@ class OrganizationUser(pulumi.CustomResource):
286
269
 
287
270
  @property
288
271
  @pulumi.getter
272
+ @_utilities.deprecated("""This field is deprecated and will be removed in the next major release. """)
289
273
  def accepted(self) -> pulumi.Output[bool]:
290
274
  """
291
275
  This is a boolean flag that determines whether an invitation was accepted or not by the user. `false` value means that the invitation was sent to the user but not yet accepted. `true` means that the user accepted the invitation and now a member of an organization.
292
276
  """
293
- warnings.warn("""This field is deprecated and will be removed in the next major release. """, DeprecationWarning)
294
- pulumi.log.warn("""accepted is deprecated: This field is deprecated and will be removed in the next major release. """)
295
-
296
277
  return pulumi.get(self, "accepted")
297
278
 
298
279
  @property
@@ -305,20 +286,18 @@ class OrganizationUser(pulumi.CustomResource):
305
286
 
306
287
  @property
307
288
  @pulumi.getter(name="invitedBy")
289
+ @_utilities.deprecated("""This field is deprecated and will be removed in the next major release. """)
308
290
  def invited_by(self) -> pulumi.Output[str]:
309
291
  """
310
292
  The email address of the user who sent an invitation to the user.
311
293
  """
312
- warnings.warn("""This field is deprecated and will be removed in the next major release. """, DeprecationWarning)
313
- pulumi.log.warn("""invited_by is deprecated: This field is deprecated and will be removed in the next major release. """)
314
-
315
294
  return pulumi.get(self, "invited_by")
316
295
 
317
296
  @property
318
297
  @pulumi.getter(name="organizationId")
319
298
  def organization_id(self) -> pulumi.Output[str]:
320
299
  """
321
- The unique organization ID. This property cannot be changed, doing so forces recreation of the resource.
300
+ The unique organization ID. Changing this property forces recreation of the resource.
322
301
  """
323
302
  return pulumi.get(self, "organization_id")
324
303
 
@@ -326,7 +305,7 @@ class OrganizationUser(pulumi.CustomResource):
326
305
  @pulumi.getter(name="userEmail")
327
306
  def user_email(self) -> pulumi.Output[str]:
328
307
  """
329
- This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. This property cannot be changed, doing so forces recreation of the resource.
308
+ This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.
330
309
  """
331
310
  return pulumi.get(self, "user_email")
332
311