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
@@ -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__ = ['OrganizationUserGroupArgs', 'OrganizationUserGroup']
@@ -19,9 +24,9 @@ class OrganizationUserGroupArgs:
19
24
  name: Optional[pulumi.Input[str]] = None):
20
25
  """
21
26
  The set of arguments for constructing a OrganizationUserGroup resource.
22
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
23
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
24
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
27
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
28
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
29
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
25
30
  """
26
31
  pulumi.set(__self__, "description", description)
27
32
  pulumi.set(__self__, "organization_id", organization_id)
@@ -32,7 +37,7 @@ class OrganizationUserGroupArgs:
32
37
  @pulumi.getter
33
38
  def description(self) -> pulumi.Input[str]:
34
39
  """
35
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
40
+ The description of the user group. Changing this property forces recreation of the resource.
36
41
  """
37
42
  return pulumi.get(self, "description")
38
43
 
@@ -44,7 +49,7 @@ class OrganizationUserGroupArgs:
44
49
  @pulumi.getter(name="organizationId")
45
50
  def organization_id(self) -> pulumi.Input[str]:
46
51
  """
47
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
52
+ The ID of the organization. Changing this property forces recreation of the resource.
48
53
  """
49
54
  return pulumi.get(self, "organization_id")
50
55
 
@@ -56,7 +61,7 @@ class OrganizationUserGroupArgs:
56
61
  @pulumi.getter
57
62
  def name(self) -> Optional[pulumi.Input[str]]:
58
63
  """
59
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
64
+ The name of the user group. Changing this property forces recreation of the resource.
60
65
  """
61
66
  return pulumi.get(self, "name")
62
67
 
@@ -77,10 +82,10 @@ class _OrganizationUserGroupState:
77
82
  """
78
83
  Input properties used for looking up and filtering OrganizationUserGroup resources.
79
84
  :param pulumi.Input[str] create_time: Time of creation.
80
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
85
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
81
86
  :param pulumi.Input[str] group_id: The ID of the user group.
82
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
83
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
87
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
88
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
84
89
  :param pulumi.Input[str] update_time: Time of last update.
85
90
  """
86
91
  if create_time is not None:
@@ -112,7 +117,7 @@ class _OrganizationUserGroupState:
112
117
  @pulumi.getter
113
118
  def description(self) -> Optional[pulumi.Input[str]]:
114
119
  """
115
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
120
+ The description of the user group. Changing this property forces recreation of the resource.
116
121
  """
117
122
  return pulumi.get(self, "description")
118
123
 
@@ -136,7 +141,7 @@ class _OrganizationUserGroupState:
136
141
  @pulumi.getter
137
142
  def name(self) -> Optional[pulumi.Input[str]]:
138
143
  """
139
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
144
+ The name of the user group. Changing this property forces recreation of the resource.
140
145
  """
141
146
  return pulumi.get(self, "name")
142
147
 
@@ -148,7 +153,7 @@ class _OrganizationUserGroupState:
148
153
  @pulumi.getter(name="organizationId")
149
154
  def organization_id(self) -> Optional[pulumi.Input[str]]:
150
155
  """
151
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
156
+ The ID of the organization. Changing this property forces recreation of the resource.
152
157
  """
153
158
  return pulumi.get(self, "organization_id")
154
159
 
@@ -179,13 +184,31 @@ class OrganizationUserGroup(pulumi.CustomResource):
179
184
  organization_id: Optional[pulumi.Input[str]] = None,
180
185
  __props__=None):
181
186
  """
182
- Creates and manages a user group in an organization.
187
+ Creates and manages a [user group](https://aiven.io/docs/platform/howto/list-groups) in an organization.
188
+
189
+ ## Example Usage
190
+
191
+ ```python
192
+ import pulumi
193
+ import pulumi_aiven as aiven
194
+
195
+ example = aiven.OrganizationUserGroup("example",
196
+ description="Example group of users.",
197
+ organization_id=main["id"],
198
+ name="Example group")
199
+ ```
200
+
201
+ ## Import
202
+
203
+ ```sh
204
+ $ pulumi import aiven:index/organizationUserGroup:OrganizationUserGroup example ORGANIZATION_ID/USER_GROUP_ID
205
+ ```
183
206
 
184
207
  :param str resource_name: The name of the resource.
185
208
  :param pulumi.ResourceOptions opts: Options for the resource.
186
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
187
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
188
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
209
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
210
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
211
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
189
212
  """
190
213
  ...
191
214
  @overload
@@ -194,7 +217,25 @@ class OrganizationUserGroup(pulumi.CustomResource):
194
217
  args: OrganizationUserGroupArgs,
195
218
  opts: Optional[pulumi.ResourceOptions] = None):
196
219
  """
197
- Creates and manages a user group in an organization.
220
+ Creates and manages a [user group](https://aiven.io/docs/platform/howto/list-groups) in an organization.
221
+
222
+ ## Example Usage
223
+
224
+ ```python
225
+ import pulumi
226
+ import pulumi_aiven as aiven
227
+
228
+ example = aiven.OrganizationUserGroup("example",
229
+ description="Example group of users.",
230
+ organization_id=main["id"],
231
+ name="Example group")
232
+ ```
233
+
234
+ ## Import
235
+
236
+ ```sh
237
+ $ pulumi import aiven:index/organizationUserGroup:OrganizationUserGroup example ORGANIZATION_ID/USER_GROUP_ID
238
+ ```
198
239
 
199
240
  :param str resource_name: The name of the resource.
200
241
  :param OrganizationUserGroupArgs args: The arguments to use to populate this resource's properties.
@@ -257,10 +298,10 @@ class OrganizationUserGroup(pulumi.CustomResource):
257
298
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
258
299
  :param pulumi.ResourceOptions opts: Options for the resource.
259
300
  :param pulumi.Input[str] create_time: Time of creation.
260
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
301
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
261
302
  :param pulumi.Input[str] group_id: The ID of the user group.
262
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
263
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
303
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
304
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
264
305
  :param pulumi.Input[str] update_time: Time of last update.
265
306
  """
266
307
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -287,7 +328,7 @@ class OrganizationUserGroup(pulumi.CustomResource):
287
328
  @pulumi.getter
288
329
  def description(self) -> pulumi.Output[str]:
289
330
  """
290
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
331
+ The description of the user group. Changing this property forces recreation of the resource.
291
332
  """
292
333
  return pulumi.get(self, "description")
293
334
 
@@ -303,7 +344,7 @@ class OrganizationUserGroup(pulumi.CustomResource):
303
344
  @pulumi.getter
304
345
  def name(self) -> pulumi.Output[str]:
305
346
  """
306
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
347
+ The name of the user group. Changing this property forces recreation of the resource.
307
348
  """
308
349
  return pulumi.get(self, "name")
309
350
 
@@ -311,7 +352,7 @@ class OrganizationUserGroup(pulumi.CustomResource):
311
352
  @pulumi.getter(name="organizationId")
312
353
  def organization_id(self) -> pulumi.Output[str]:
313
354
  """
314
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
355
+ The ID of the organization. Changing this property forces recreation of the resource.
315
356
  """
316
357
  return pulumi.get(self, "organization_id")
317
358
 
@@ -0,0 +1,359 @@
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__ = ['OrganizationUserGroupMemberArgs', 'OrganizationUserGroupMember']
20
+
21
+ @pulumi.input_type
22
+ class OrganizationUserGroupMemberArgs:
23
+ def __init__(__self__, *,
24
+ group_id: pulumi.Input[str],
25
+ organization_id: pulumi.Input[str],
26
+ user_id: pulumi.Input[str],
27
+ timeouts: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']] = None):
28
+ """
29
+ The set of arguments for constructing a OrganizationUserGroupMember resource.
30
+ :param pulumi.Input[str] group_id: The ID of the user group.
31
+ :param pulumi.Input[str] organization_id: The ID of the organization.
32
+ :param pulumi.Input[str] user_id: The ID of the organization user or application user.
33
+ """
34
+ pulumi.set(__self__, "group_id", group_id)
35
+ pulumi.set(__self__, "organization_id", organization_id)
36
+ pulumi.set(__self__, "user_id", user_id)
37
+ if timeouts is not None:
38
+ pulumi.set(__self__, "timeouts", timeouts)
39
+
40
+ @property
41
+ @pulumi.getter(name="groupId")
42
+ def group_id(self) -> pulumi.Input[str]:
43
+ """
44
+ The ID of the user group.
45
+ """
46
+ return pulumi.get(self, "group_id")
47
+
48
+ @group_id.setter
49
+ def group_id(self, value: pulumi.Input[str]):
50
+ pulumi.set(self, "group_id", value)
51
+
52
+ @property
53
+ @pulumi.getter(name="organizationId")
54
+ def organization_id(self) -> pulumi.Input[str]:
55
+ """
56
+ The ID of the organization.
57
+ """
58
+ return pulumi.get(self, "organization_id")
59
+
60
+ @organization_id.setter
61
+ def organization_id(self, value: pulumi.Input[str]):
62
+ pulumi.set(self, "organization_id", value)
63
+
64
+ @property
65
+ @pulumi.getter(name="userId")
66
+ def user_id(self) -> pulumi.Input[str]:
67
+ """
68
+ The ID of the organization user or application user.
69
+ """
70
+ return pulumi.get(self, "user_id")
71
+
72
+ @user_id.setter
73
+ def user_id(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "user_id", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]:
79
+ return pulumi.get(self, "timeouts")
80
+
81
+ @timeouts.setter
82
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]):
83
+ pulumi.set(self, "timeouts", value)
84
+
85
+
86
+ @pulumi.input_type
87
+ class _OrganizationUserGroupMemberState:
88
+ def __init__(__self__, *,
89
+ group_id: Optional[pulumi.Input[str]] = None,
90
+ last_activity_time: Optional[pulumi.Input[str]] = None,
91
+ organization_id: Optional[pulumi.Input[str]] = None,
92
+ timeouts: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']] = None,
93
+ user_id: Optional[pulumi.Input[str]] = None):
94
+ """
95
+ Input properties used for looking up and filtering OrganizationUserGroupMember resources.
96
+ :param pulumi.Input[str] group_id: The ID of the user group.
97
+ :param pulumi.Input[str] last_activity_time: Last activity time of the user group member.
98
+ :param pulumi.Input[str] organization_id: The ID of the organization.
99
+ :param pulumi.Input[str] user_id: The ID of the organization user or application user.
100
+ """
101
+ if group_id is not None:
102
+ pulumi.set(__self__, "group_id", group_id)
103
+ if last_activity_time is not None:
104
+ pulumi.set(__self__, "last_activity_time", last_activity_time)
105
+ if organization_id is not None:
106
+ pulumi.set(__self__, "organization_id", organization_id)
107
+ if timeouts is not None:
108
+ pulumi.set(__self__, "timeouts", timeouts)
109
+ if user_id is not None:
110
+ pulumi.set(__self__, "user_id", user_id)
111
+
112
+ @property
113
+ @pulumi.getter(name="groupId")
114
+ def group_id(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ The ID of the user group.
117
+ """
118
+ return pulumi.get(self, "group_id")
119
+
120
+ @group_id.setter
121
+ def group_id(self, value: Optional[pulumi.Input[str]]):
122
+ pulumi.set(self, "group_id", value)
123
+
124
+ @property
125
+ @pulumi.getter(name="lastActivityTime")
126
+ def last_activity_time(self) -> Optional[pulumi.Input[str]]:
127
+ """
128
+ Last activity time of the user group member.
129
+ """
130
+ return pulumi.get(self, "last_activity_time")
131
+
132
+ @last_activity_time.setter
133
+ def last_activity_time(self, value: Optional[pulumi.Input[str]]):
134
+ pulumi.set(self, "last_activity_time", value)
135
+
136
+ @property
137
+ @pulumi.getter(name="organizationId")
138
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
139
+ """
140
+ The ID of the organization.
141
+ """
142
+ return pulumi.get(self, "organization_id")
143
+
144
+ @organization_id.setter
145
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "organization_id", value)
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]:
151
+ return pulumi.get(self, "timeouts")
152
+
153
+ @timeouts.setter
154
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]):
155
+ pulumi.set(self, "timeouts", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="userId")
159
+ def user_id(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ The ID of the organization user or application user.
162
+ """
163
+ return pulumi.get(self, "user_id")
164
+
165
+ @user_id.setter
166
+ def user_id(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "user_id", value)
168
+
169
+
170
+ class OrganizationUserGroupMember(pulumi.CustomResource):
171
+ @overload
172
+ def __init__(__self__,
173
+ resource_name: str,
174
+ opts: Optional[pulumi.ResourceOptions] = None,
175
+ group_id: Optional[pulumi.Input[str]] = None,
176
+ organization_id: Optional[pulumi.Input[str]] = None,
177
+ timeouts: Optional[pulumi.Input[Union['OrganizationUserGroupMemberTimeoutsArgs', 'OrganizationUserGroupMemberTimeoutsArgsDict']]] = None,
178
+ user_id: Optional[pulumi.Input[str]] = None,
179
+ __props__=None):
180
+ """
181
+ Adds and manages users in a [user group](https://aiven.io/docs/platform/howto/list-groups). You can add organization users and application users to groups.
182
+
183
+ Groups are given access to projects using the `OrganizationGroupProject` resource.
184
+
185
+ ## Example Usage
186
+
187
+ ```python
188
+ import pulumi
189
+ import pulumi_aiven as aiven
190
+
191
+ example = aiven.OrganizationUserGroup("example",
192
+ description="Example group of users.",
193
+ organization_id=main["id"],
194
+ name="Example group")
195
+ project_admin = aiven.OrganizationUserGroupMember("project_admin",
196
+ group_id=example.group_id,
197
+ organization_id=main["id"],
198
+ user_id="u123a456b7890c")
199
+ ```
200
+
201
+ ## Import
202
+
203
+ ```sh
204
+ $ pulumi import aiven:index/organizationUserGroupMember:OrganizationUserGroupMember project_admin ORGANIZATION_ID/USER_GROUP_ID/USER_ID
205
+ ```
206
+
207
+ :param str resource_name: The name of the resource.
208
+ :param pulumi.ResourceOptions opts: Options for the resource.
209
+ :param pulumi.Input[str] group_id: The ID of the user group.
210
+ :param pulumi.Input[str] organization_id: The ID of the organization.
211
+ :param pulumi.Input[str] user_id: The ID of the organization user or application user.
212
+ """
213
+ ...
214
+ @overload
215
+ def __init__(__self__,
216
+ resource_name: str,
217
+ args: OrganizationUserGroupMemberArgs,
218
+ opts: Optional[pulumi.ResourceOptions] = None):
219
+ """
220
+ Adds and manages users in a [user group](https://aiven.io/docs/platform/howto/list-groups). You can add organization users and application users to groups.
221
+
222
+ Groups are given access to projects using the `OrganizationGroupProject` resource.
223
+
224
+ ## Example Usage
225
+
226
+ ```python
227
+ import pulumi
228
+ import pulumi_aiven as aiven
229
+
230
+ example = aiven.OrganizationUserGroup("example",
231
+ description="Example group of users.",
232
+ organization_id=main["id"],
233
+ name="Example group")
234
+ project_admin = aiven.OrganizationUserGroupMember("project_admin",
235
+ group_id=example.group_id,
236
+ organization_id=main["id"],
237
+ user_id="u123a456b7890c")
238
+ ```
239
+
240
+ ## Import
241
+
242
+ ```sh
243
+ $ pulumi import aiven:index/organizationUserGroupMember:OrganizationUserGroupMember project_admin ORGANIZATION_ID/USER_GROUP_ID/USER_ID
244
+ ```
245
+
246
+ :param str resource_name: The name of the resource.
247
+ :param OrganizationUserGroupMemberArgs args: The arguments to use to populate this resource's properties.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ """
250
+ ...
251
+ def __init__(__self__, resource_name: str, *args, **kwargs):
252
+ resource_args, opts = _utilities.get_resource_args_opts(OrganizationUserGroupMemberArgs, pulumi.ResourceOptions, *args, **kwargs)
253
+ if resource_args is not None:
254
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
255
+ else:
256
+ __self__._internal_init(resource_name, *args, **kwargs)
257
+
258
+ def _internal_init(__self__,
259
+ resource_name: str,
260
+ opts: Optional[pulumi.ResourceOptions] = None,
261
+ group_id: Optional[pulumi.Input[str]] = None,
262
+ organization_id: Optional[pulumi.Input[str]] = None,
263
+ timeouts: Optional[pulumi.Input[Union['OrganizationUserGroupMemberTimeoutsArgs', 'OrganizationUserGroupMemberTimeoutsArgsDict']]] = None,
264
+ user_id: Optional[pulumi.Input[str]] = None,
265
+ __props__=None):
266
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
267
+ if not isinstance(opts, pulumi.ResourceOptions):
268
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
269
+ if opts.id is None:
270
+ if __props__ is not None:
271
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
272
+ __props__ = OrganizationUserGroupMemberArgs.__new__(OrganizationUserGroupMemberArgs)
273
+
274
+ if group_id is None and not opts.urn:
275
+ raise TypeError("Missing required property 'group_id'")
276
+ __props__.__dict__["group_id"] = group_id
277
+ if organization_id is None and not opts.urn:
278
+ raise TypeError("Missing required property 'organization_id'")
279
+ __props__.__dict__["organization_id"] = organization_id
280
+ __props__.__dict__["timeouts"] = timeouts
281
+ if user_id is None and not opts.urn:
282
+ raise TypeError("Missing required property 'user_id'")
283
+ __props__.__dict__["user_id"] = user_id
284
+ __props__.__dict__["last_activity_time"] = None
285
+ super(OrganizationUserGroupMember, __self__).__init__(
286
+ 'aiven:index/organizationUserGroupMember:OrganizationUserGroupMember',
287
+ resource_name,
288
+ __props__,
289
+ opts)
290
+
291
+ @staticmethod
292
+ def get(resource_name: str,
293
+ id: pulumi.Input[str],
294
+ opts: Optional[pulumi.ResourceOptions] = None,
295
+ group_id: Optional[pulumi.Input[str]] = None,
296
+ last_activity_time: Optional[pulumi.Input[str]] = None,
297
+ organization_id: Optional[pulumi.Input[str]] = None,
298
+ timeouts: Optional[pulumi.Input[Union['OrganizationUserGroupMemberTimeoutsArgs', 'OrganizationUserGroupMemberTimeoutsArgsDict']]] = None,
299
+ user_id: Optional[pulumi.Input[str]] = None) -> 'OrganizationUserGroupMember':
300
+ """
301
+ Get an existing OrganizationUserGroupMember resource's state with the given name, id, and optional extra
302
+ properties used to qualify the lookup.
303
+
304
+ :param str resource_name: The unique name of the resulting resource.
305
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
306
+ :param pulumi.ResourceOptions opts: Options for the resource.
307
+ :param pulumi.Input[str] group_id: The ID of the user group.
308
+ :param pulumi.Input[str] last_activity_time: Last activity time of the user group member.
309
+ :param pulumi.Input[str] organization_id: The ID of the organization.
310
+ :param pulumi.Input[str] user_id: The ID of the organization user or application user.
311
+ """
312
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
313
+
314
+ __props__ = _OrganizationUserGroupMemberState.__new__(_OrganizationUserGroupMemberState)
315
+
316
+ __props__.__dict__["group_id"] = group_id
317
+ __props__.__dict__["last_activity_time"] = last_activity_time
318
+ __props__.__dict__["organization_id"] = organization_id
319
+ __props__.__dict__["timeouts"] = timeouts
320
+ __props__.__dict__["user_id"] = user_id
321
+ return OrganizationUserGroupMember(resource_name, opts=opts, __props__=__props__)
322
+
323
+ @property
324
+ @pulumi.getter(name="groupId")
325
+ def group_id(self) -> pulumi.Output[str]:
326
+ """
327
+ The ID of the user group.
328
+ """
329
+ return pulumi.get(self, "group_id")
330
+
331
+ @property
332
+ @pulumi.getter(name="lastActivityTime")
333
+ def last_activity_time(self) -> pulumi.Output[str]:
334
+ """
335
+ Last activity time of the user group member.
336
+ """
337
+ return pulumi.get(self, "last_activity_time")
338
+
339
+ @property
340
+ @pulumi.getter(name="organizationId")
341
+ def organization_id(self) -> pulumi.Output[str]:
342
+ """
343
+ The ID of the organization.
344
+ """
345
+ return pulumi.get(self, "organization_id")
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def timeouts(self) -> pulumi.Output[Optional['outputs.OrganizationUserGroupMemberTimeouts']]:
350
+ return pulumi.get(self, "timeouts")
351
+
352
+ @property
353
+ @pulumi.getter(name="userId")
354
+ def user_id(self) -> pulumi.Output[str]:
355
+ """
356
+ The ID of the organization user or application user.
357
+ """
358
+ return pulumi.get(self, "user_id")
359
+