pulumi-aiven 6.12.0a1708492523__py3-none-any.whl → 6.13.0__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 (138) hide show
  1. pulumi_aiven/__init__.py +28 -0
  2. pulumi_aiven/_inputs.py +2973 -1323
  3. pulumi_aiven/account.py +40 -32
  4. pulumi_aiven/account_authentication.py +8 -4
  5. pulumi_aiven/account_team.py +36 -4
  6. pulumi_aiven/account_team_member.py +69 -35
  7. pulumi_aiven/account_team_project.py +52 -12
  8. pulumi_aiven/aws_privatelink.py +43 -39
  9. pulumi_aiven/aws_vpc_peering_connection.py +66 -52
  10. pulumi_aiven/azure_privatelink.py +53 -49
  11. pulumi_aiven/azure_privatelink_connection_approval.py +33 -33
  12. pulumi_aiven/azure_vpc_peering_connection.py +80 -68
  13. pulumi_aiven/billing_group.py +6 -2
  14. pulumi_aiven/cassandra.py +17 -13
  15. pulumi_aiven/cassandra_user.py +27 -23
  16. pulumi_aiven/clickhouse.py +13 -9
  17. pulumi_aiven/clickhouse_database.py +27 -23
  18. pulumi_aiven/clickhouse_grant.py +46 -42
  19. pulumi_aiven/clickhouse_role.py +27 -23
  20. pulumi_aiven/clickhouse_user.py +27 -23
  21. pulumi_aiven/connection_pool.py +34 -30
  22. pulumi_aiven/dragonfly.py +1344 -0
  23. pulumi_aiven/flink.py +13 -9
  24. pulumi_aiven/flink_application.py +20 -16
  25. pulumi_aiven/flink_application_deployment.py +14 -14
  26. pulumi_aiven/flink_application_version.py +16 -16
  27. pulumi_aiven/gcp_privatelink.py +26 -26
  28. pulumi_aiven/gcp_privatelink_connection_approval.py +33 -33
  29. pulumi_aiven/gcp_vpc_peering_connection.py +41 -37
  30. pulumi_aiven/get_account.py +4 -0
  31. pulumi_aiven/get_account_team_member.py +9 -9
  32. pulumi_aiven/get_aws_privatelink.py +19 -15
  33. pulumi_aiven/get_aws_vpc_peering_connection.py +37 -23
  34. pulumi_aiven/get_azure_privatelink.py +21 -17
  35. pulumi_aiven/get_azure_vpc_peering_connection.py +58 -26
  36. pulumi_aiven/get_cassanda.py +7 -3
  37. pulumi_aiven/get_cassandra.py +7 -3
  38. pulumi_aiven/get_cassandra_user.py +13 -9
  39. pulumi_aiven/get_clickhouse.py +7 -3
  40. pulumi_aiven/get_clickhouse_database.py +13 -9
  41. pulumi_aiven/get_clickhouse_user.py +13 -9
  42. pulumi_aiven/get_connection_pool.py +14 -10
  43. pulumi_aiven/get_dragonfly.py +443 -0
  44. pulumi_aiven/get_flink.py +7 -3
  45. pulumi_aiven/get_flink_application.py +10 -6
  46. pulumi_aiven/get_flink_application_version.py +10 -6
  47. pulumi_aiven/get_gcp_vpc_peering_connection.py +22 -18
  48. pulumi_aiven/get_grafana.py +7 -3
  49. pulumi_aiven/get_influx_db.py +2 -114
  50. pulumi_aiven/get_influxdb_database.py +2 -21
  51. pulumi_aiven/get_influxdb_user.py +2 -55
  52. pulumi_aiven/get_kafka.py +7 -3
  53. pulumi_aiven/get_kafka_acl.py +19 -15
  54. pulumi_aiven/get_kafka_connect.py +7 -3
  55. pulumi_aiven/get_kafka_connector.py +13 -9
  56. pulumi_aiven/get_kafka_mirror_maker.py +7 -3
  57. pulumi_aiven/get_kafka_schema.py +13 -9
  58. pulumi_aiven/get_kafka_schema_configuration.py +11 -7
  59. pulumi_aiven/get_kafka_schema_registry_acl.py +15 -15
  60. pulumi_aiven/get_kafka_topic.py +13 -9
  61. pulumi_aiven/get_kafka_user.py +13 -9
  62. pulumi_aiven/get_m3_aggregator.py +7 -3
  63. pulumi_aiven/get_m3_db.py +7 -3
  64. pulumi_aiven/get_m3db_user.py +13 -9
  65. pulumi_aiven/get_mirror_maker_replication_flow.py +10 -6
  66. pulumi_aiven/get_my_sql.py +7 -3
  67. pulumi_aiven/get_mysql_database.py +13 -9
  68. pulumi_aiven/get_mysql_user.py +13 -9
  69. pulumi_aiven/get_open_search.py +7 -3
  70. pulumi_aiven/get_open_search_acl_config.py +10 -6
  71. pulumi_aiven/get_open_search_acl_rule.py +16 -12
  72. pulumi_aiven/get_opensearch_security_plugin_config.py +10 -6
  73. pulumi_aiven/get_opensearch_user.py +13 -9
  74. pulumi_aiven/get_organization.py +12 -8
  75. pulumi_aiven/get_organization_user_group.py +33 -9
  76. pulumi_aiven/get_organizational_unit.py +9 -9
  77. pulumi_aiven/get_pg.py +7 -3
  78. pulumi_aiven/get_pg_database.py +15 -11
  79. pulumi_aiven/get_pg_user.py +13 -9
  80. pulumi_aiven/get_project.py +4 -0
  81. pulumi_aiven/get_project_user.py +10 -6
  82. pulumi_aiven/get_project_vpc.py +15 -13
  83. pulumi_aiven/get_redis.py +7 -3
  84. pulumi_aiven/get_redis_user.py +17 -13
  85. pulumi_aiven/get_service_component.py +4 -0
  86. pulumi_aiven/get_service_integration.py +68 -6
  87. pulumi_aiven/get_service_integration_endpoint.py +5 -1
  88. pulumi_aiven/get_transit_gateway_vpc_attachment.py +13 -9
  89. pulumi_aiven/grafana.py +13 -9
  90. pulumi_aiven/influx_db.py +239 -138
  91. pulumi_aiven/influxdb_database.py +37 -25
  92. pulumi_aiven/influxdb_user.py +44 -63
  93. pulumi_aiven/kafka.py +19 -15
  94. pulumi_aiven/kafka_acl.py +41 -37
  95. pulumi_aiven/kafka_connect.py +13 -9
  96. pulumi_aiven/kafka_connector.py +29 -25
  97. pulumi_aiven/kafka_mirror_maker.py +13 -9
  98. pulumi_aiven/kafka_schema.py +53 -45
  99. pulumi_aiven/kafka_schema_configuration.py +20 -16
  100. pulumi_aiven/kafka_schema_registry_acl.py +35 -35
  101. pulumi_aiven/kafka_topic.py +23 -23
  102. pulumi_aiven/kafka_user.py +27 -23
  103. pulumi_aiven/m3_aggregator.py +13 -9
  104. pulumi_aiven/m3_db.py +13 -9
  105. pulumi_aiven/m3db_user.py +27 -23
  106. pulumi_aiven/mirror_maker_replication_flow.py +56 -50
  107. pulumi_aiven/my_sql.py +13 -9
  108. pulumi_aiven/mysql_database.py +27 -23
  109. pulumi_aiven/mysql_user.py +27 -23
  110. pulumi_aiven/open_search.py +17 -13
  111. pulumi_aiven/open_search_acl_config.py +20 -16
  112. pulumi_aiven/open_search_acl_rule.py +34 -30
  113. pulumi_aiven/opensearch_security_plugin_config.py +68 -16
  114. pulumi_aiven/opensearch_user.py +27 -23
  115. pulumi_aiven/organization.py +14 -10
  116. pulumi_aiven/organization_group_project.py +290 -0
  117. pulumi_aiven/organization_user.py +20 -18
  118. pulumi_aiven/organization_user_group.py +77 -38
  119. pulumi_aiven/organization_user_group_member.py +352 -0
  120. pulumi_aiven/organizational_unit.py +36 -32
  121. pulumi_aiven/outputs.py +4004 -1363
  122. pulumi_aiven/pg.py +16 -16
  123. pulumi_aiven/pg_database.py +41 -37
  124. pulumi_aiven/pg_user.py +27 -23
  125. pulumi_aiven/project.py +28 -2
  126. pulumi_aiven/project_user.py +20 -16
  127. pulumi_aiven/project_vpc.py +25 -25
  128. pulumi_aiven/redis.py +13 -9
  129. pulumi_aiven/redis_user.py +55 -51
  130. pulumi_aiven/service_integration.py +207 -15
  131. pulumi_aiven/service_integration_endpoint.py +7 -7
  132. pulumi_aiven/static_ip.py +14 -14
  133. pulumi_aiven/transit_gateway_vpc_attachment.py +27 -23
  134. {pulumi_aiven-6.12.0a1708492523.dist-info → pulumi_aiven-6.13.0.dist-info}/METADATA +1 -1
  135. pulumi_aiven-6.13.0.dist-info/RECORD +150 -0
  136. {pulumi_aiven-6.12.0a1708492523.dist-info → pulumi_aiven-6.13.0.dist-info}/WHEEL +1 -1
  137. pulumi_aiven-6.12.0a1708492523.dist-info/RECORD +0 -146
  138. {pulumi_aiven-6.12.0a1708492523.dist-info → pulumi_aiven-6.13.0.dist-info}/top_level.txt +0 -0
@@ -14,26 +14,37 @@ __all__ = ['OrganizationUserGroupArgs', 'OrganizationUserGroup']
14
14
  @pulumi.input_type
15
15
  class OrganizationUserGroupArgs:
16
16
  def __init__(__self__, *,
17
+ description: pulumi.Input[str],
17
18
  organization_id: pulumi.Input[str],
18
- description: Optional[pulumi.Input[str]] = None,
19
19
  name: Optional[pulumi.Input[str]] = None):
20
20
  """
21
21
  The set of arguments for constructing a OrganizationUserGroup resource.
22
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
23
- :param pulumi.Input[str] description: The description of the user group. 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.
22
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
23
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
24
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
25
25
  """
26
+ pulumi.set(__self__, "description", description)
26
27
  pulumi.set(__self__, "organization_id", organization_id)
27
- if description is not None:
28
- pulumi.set(__self__, "description", description)
29
28
  if name is not None:
30
29
  pulumi.set(__self__, "name", name)
31
30
 
31
+ @property
32
+ @pulumi.getter
33
+ def description(self) -> pulumi.Input[str]:
34
+ """
35
+ The description of the user group. Changing this property forces recreation of the resource.
36
+ """
37
+ return pulumi.get(self, "description")
38
+
39
+ @description.setter
40
+ def description(self, value: pulumi.Input[str]):
41
+ pulumi.set(self, "description", value)
42
+
32
43
  @property
33
44
  @pulumi.getter(name="organizationId")
34
45
  def organization_id(self) -> pulumi.Input[str]:
35
46
  """
36
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
47
+ The ID of the organization. Changing this property forces recreation of the resource.
37
48
  """
38
49
  return pulumi.get(self, "organization_id")
39
50
 
@@ -41,23 +52,11 @@ class OrganizationUserGroupArgs:
41
52
  def organization_id(self, value: pulumi.Input[str]):
42
53
  pulumi.set(self, "organization_id", value)
43
54
 
44
- @property
45
- @pulumi.getter
46
- def description(self) -> Optional[pulumi.Input[str]]:
47
- """
48
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
49
- """
50
- return pulumi.get(self, "description")
51
-
52
- @description.setter
53
- def description(self, value: Optional[pulumi.Input[str]]):
54
- pulumi.set(self, "description", value)
55
-
56
55
  @property
57
56
  @pulumi.getter
58
57
  def name(self) -> Optional[pulumi.Input[str]]:
59
58
  """
60
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
59
+ The name of the user group. Changing this property forces recreation of the resource.
61
60
  """
62
61
  return pulumi.get(self, "name")
63
62
 
@@ -78,10 +77,10 @@ class _OrganizationUserGroupState:
78
77
  """
79
78
  Input properties used for looking up and filtering OrganizationUserGroup resources.
80
79
  :param pulumi.Input[str] create_time: Time of creation.
81
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
80
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
82
81
  :param pulumi.Input[str] group_id: The ID of the user group.
83
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
84
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
82
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
83
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
85
84
  :param pulumi.Input[str] update_time: Time of last update.
86
85
  """
87
86
  if create_time is not None:
@@ -113,7 +112,7 @@ class _OrganizationUserGroupState:
113
112
  @pulumi.getter
114
113
  def description(self) -> Optional[pulumi.Input[str]]:
115
114
  """
116
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
115
+ The description of the user group. Changing this property forces recreation of the resource.
117
116
  """
118
117
  return pulumi.get(self, "description")
119
118
 
@@ -137,7 +136,7 @@ class _OrganizationUserGroupState:
137
136
  @pulumi.getter
138
137
  def name(self) -> Optional[pulumi.Input[str]]:
139
138
  """
140
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
139
+ The name of the user group. Changing this property forces recreation of the resource.
141
140
  """
142
141
  return pulumi.get(self, "name")
143
142
 
@@ -149,7 +148,7 @@ class _OrganizationUserGroupState:
149
148
  @pulumi.getter(name="organizationId")
150
149
  def organization_id(self) -> Optional[pulumi.Input[str]]:
151
150
  """
152
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
151
+ The ID of the organization. Changing this property forces recreation of the resource.
153
152
  """
154
153
  return pulumi.get(self, "organization_id")
155
154
 
@@ -180,13 +179,32 @@ class OrganizationUserGroup(pulumi.CustomResource):
180
179
  organization_id: Optional[pulumi.Input[str]] = None,
181
180
  __props__=None):
182
181
  """
183
- Creates and manages a user group in an organization.
182
+ Creates and manages a [user group](https://aiven.io/docs/platform/concepts/projects_accounts_access#groups) in an organization.
183
+
184
+ ## Example Usage
185
+
186
+ <!--Start PulumiCodeChooser -->
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=aiven_organization["main"]["id"])
194
+ ```
195
+ <!--End PulumiCodeChooser -->
196
+
197
+ ## Import
198
+
199
+ ```sh
200
+ $ pulumi import aiven:index/organizationUserGroup:OrganizationUserGroup example ORGANIZATION_ID/USER_GROUP_ID
201
+ ```
184
202
 
185
203
  :param str resource_name: The name of the resource.
186
204
  :param pulumi.ResourceOptions opts: Options for the resource.
187
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
188
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
189
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
205
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
206
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
207
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
190
208
  """
191
209
  ...
192
210
  @overload
@@ -195,7 +213,26 @@ class OrganizationUserGroup(pulumi.CustomResource):
195
213
  args: OrganizationUserGroupArgs,
196
214
  opts: Optional[pulumi.ResourceOptions] = None):
197
215
  """
198
- Creates and manages a user group in an organization.
216
+ Creates and manages a [user group](https://aiven.io/docs/platform/concepts/projects_accounts_access#groups) in an organization.
217
+
218
+ ## Example Usage
219
+
220
+ <!--Start PulumiCodeChooser -->
221
+ ```python
222
+ import pulumi
223
+ import pulumi_aiven as aiven
224
+
225
+ example = aiven.OrganizationUserGroup("example",
226
+ description="Example group of users.",
227
+ organization_id=aiven_organization["main"]["id"])
228
+ ```
229
+ <!--End PulumiCodeChooser -->
230
+
231
+ ## Import
232
+
233
+ ```sh
234
+ $ pulumi import aiven:index/organizationUserGroup:OrganizationUserGroup example ORGANIZATION_ID/USER_GROUP_ID
235
+ ```
199
236
 
200
237
  :param str resource_name: The name of the resource.
201
238
  :param OrganizationUserGroupArgs args: The arguments to use to populate this resource's properties.
@@ -224,6 +261,8 @@ class OrganizationUserGroup(pulumi.CustomResource):
224
261
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
225
262
  __props__ = OrganizationUserGroupArgs.__new__(OrganizationUserGroupArgs)
226
263
 
264
+ if description is None and not opts.urn:
265
+ raise TypeError("Missing required property 'description'")
227
266
  __props__.__dict__["description"] = description
228
267
  __props__.__dict__["name"] = name
229
268
  if organization_id is None and not opts.urn:
@@ -256,10 +295,10 @@ class OrganizationUserGroup(pulumi.CustomResource):
256
295
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
257
296
  :param pulumi.ResourceOptions opts: Options for the resource.
258
297
  :param pulumi.Input[str] create_time: Time of creation.
259
- :param pulumi.Input[str] description: The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
298
+ :param pulumi.Input[str] description: The description of the user group. Changing this property forces recreation of the resource.
260
299
  :param pulumi.Input[str] group_id: The ID of the user group.
261
- :param pulumi.Input[str] name: The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
262
- :param pulumi.Input[str] organization_id: The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
300
+ :param pulumi.Input[str] name: The name of the user group. Changing this property forces recreation of the resource.
301
+ :param pulumi.Input[str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
263
302
  :param pulumi.Input[str] update_time: Time of last update.
264
303
  """
265
304
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -284,9 +323,9 @@ class OrganizationUserGroup(pulumi.CustomResource):
284
323
 
285
324
  @property
286
325
  @pulumi.getter
287
- def description(self) -> pulumi.Output[Optional[str]]:
326
+ def description(self) -> pulumi.Output[str]:
288
327
  """
289
- The description of the user group. This property cannot be changed, doing so forces recreation of the resource.
328
+ The description of the user group. Changing this property forces recreation of the resource.
290
329
  """
291
330
  return pulumi.get(self, "description")
292
331
 
@@ -302,7 +341,7 @@ class OrganizationUserGroup(pulumi.CustomResource):
302
341
  @pulumi.getter
303
342
  def name(self) -> pulumi.Output[str]:
304
343
  """
305
- The name of the user group. This property cannot be changed, doing so forces recreation of the resource.
344
+ The name of the user group. Changing this property forces recreation of the resource.
306
345
  """
307
346
  return pulumi.get(self, "name")
308
347
 
@@ -310,7 +349,7 @@ class OrganizationUserGroup(pulumi.CustomResource):
310
349
  @pulumi.getter(name="organizationId")
311
350
  def organization_id(self) -> pulumi.Output[str]:
312
351
  """
313
- The ID of the organization. This property cannot be changed, doing so forces recreation of the resource.
352
+ The ID of the organization. Changing this property forces recreation of the resource.
314
353
  """
315
354
  return pulumi.get(self, "organization_id")
316
355
 
@@ -0,0 +1,352 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['OrganizationUserGroupMemberArgs', 'OrganizationUserGroupMember']
15
+
16
+ @pulumi.input_type
17
+ class OrganizationUserGroupMemberArgs:
18
+ def __init__(__self__, *,
19
+ group_id: pulumi.Input[str],
20
+ organization_id: pulumi.Input[str],
21
+ user_id: pulumi.Input[str],
22
+ timeouts: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']] = None):
23
+ """
24
+ The set of arguments for constructing a OrganizationUserGroupMember resource.
25
+ :param pulumi.Input[str] group_id: The ID of the user group.
26
+ :param pulumi.Input[str] organization_id: The ID of the organization.
27
+ :param pulumi.Input[str] user_id: The ID of the organization user.
28
+ """
29
+ pulumi.set(__self__, "group_id", group_id)
30
+ pulumi.set(__self__, "organization_id", organization_id)
31
+ pulumi.set(__self__, "user_id", user_id)
32
+ if timeouts is not None:
33
+ pulumi.set(__self__, "timeouts", timeouts)
34
+
35
+ @property
36
+ @pulumi.getter(name="groupId")
37
+ def group_id(self) -> pulumi.Input[str]:
38
+ """
39
+ The ID of the user group.
40
+ """
41
+ return pulumi.get(self, "group_id")
42
+
43
+ @group_id.setter
44
+ def group_id(self, value: pulumi.Input[str]):
45
+ pulumi.set(self, "group_id", value)
46
+
47
+ @property
48
+ @pulumi.getter(name="organizationId")
49
+ def organization_id(self) -> pulumi.Input[str]:
50
+ """
51
+ The ID of the organization.
52
+ """
53
+ return pulumi.get(self, "organization_id")
54
+
55
+ @organization_id.setter
56
+ def organization_id(self, value: pulumi.Input[str]):
57
+ pulumi.set(self, "organization_id", value)
58
+
59
+ @property
60
+ @pulumi.getter(name="userId")
61
+ def user_id(self) -> pulumi.Input[str]:
62
+ """
63
+ The ID of the organization user.
64
+ """
65
+ return pulumi.get(self, "user_id")
66
+
67
+ @user_id.setter
68
+ def user_id(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "user_id", value)
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]:
74
+ return pulumi.get(self, "timeouts")
75
+
76
+ @timeouts.setter
77
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]):
78
+ pulumi.set(self, "timeouts", value)
79
+
80
+
81
+ @pulumi.input_type
82
+ class _OrganizationUserGroupMemberState:
83
+ def __init__(__self__, *,
84
+ group_id: Optional[pulumi.Input[str]] = None,
85
+ last_activity_time: Optional[pulumi.Input[str]] = None,
86
+ organization_id: Optional[pulumi.Input[str]] = None,
87
+ timeouts: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']] = None,
88
+ user_id: Optional[pulumi.Input[str]] = None):
89
+ """
90
+ Input properties used for looking up and filtering OrganizationUserGroupMember resources.
91
+ :param pulumi.Input[str] group_id: The ID of the user group.
92
+ :param pulumi.Input[str] last_activity_time: Last activity time of the user group member.
93
+ :param pulumi.Input[str] organization_id: The ID of the organization.
94
+ :param pulumi.Input[str] user_id: The ID of the organization user.
95
+ """
96
+ if group_id is not None:
97
+ pulumi.set(__self__, "group_id", group_id)
98
+ if last_activity_time is not None:
99
+ pulumi.set(__self__, "last_activity_time", last_activity_time)
100
+ if organization_id is not None:
101
+ pulumi.set(__self__, "organization_id", organization_id)
102
+ if timeouts is not None:
103
+ pulumi.set(__self__, "timeouts", timeouts)
104
+ if user_id is not None:
105
+ pulumi.set(__self__, "user_id", user_id)
106
+
107
+ @property
108
+ @pulumi.getter(name="groupId")
109
+ def group_id(self) -> Optional[pulumi.Input[str]]:
110
+ """
111
+ The ID of the user group.
112
+ """
113
+ return pulumi.get(self, "group_id")
114
+
115
+ @group_id.setter
116
+ def group_id(self, value: Optional[pulumi.Input[str]]):
117
+ pulumi.set(self, "group_id", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="lastActivityTime")
121
+ def last_activity_time(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ Last activity time of the user group member.
124
+ """
125
+ return pulumi.get(self, "last_activity_time")
126
+
127
+ @last_activity_time.setter
128
+ def last_activity_time(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "last_activity_time", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="organizationId")
133
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ The ID of the organization.
136
+ """
137
+ return pulumi.get(self, "organization_id")
138
+
139
+ @organization_id.setter
140
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
141
+ pulumi.set(self, "organization_id", value)
142
+
143
+ @property
144
+ @pulumi.getter
145
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]:
146
+ return pulumi.get(self, "timeouts")
147
+
148
+ @timeouts.setter
149
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationUserGroupMemberTimeoutsArgs']]):
150
+ pulumi.set(self, "timeouts", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="userId")
154
+ def user_id(self) -> Optional[pulumi.Input[str]]:
155
+ """
156
+ The ID of the organization user.
157
+ """
158
+ return pulumi.get(self, "user_id")
159
+
160
+ @user_id.setter
161
+ def user_id(self, value: Optional[pulumi.Input[str]]):
162
+ pulumi.set(self, "user_id", value)
163
+
164
+
165
+ class OrganizationUserGroupMember(pulumi.CustomResource):
166
+ @overload
167
+ def __init__(__self__,
168
+ resource_name: str,
169
+ opts: Optional[pulumi.ResourceOptions] = None,
170
+ group_id: Optional[pulumi.Input[str]] = None,
171
+ organization_id: Optional[pulumi.Input[str]] = None,
172
+ timeouts: Optional[pulumi.Input[pulumi.InputType['OrganizationUserGroupMemberTimeoutsArgs']]] = None,
173
+ user_id: Optional[pulumi.Input[str]] = None,
174
+ __props__=None):
175
+ """
176
+ Adds and manages users in a [user group](https://aiven.io/docs/platform/concepts/projects_accounts_access#groups).
177
+
178
+ ## Example Usage
179
+
180
+ <!--Start PulumiCodeChooser -->
181
+ ```python
182
+ import pulumi
183
+ import pulumi_aiven as aiven
184
+
185
+ example = aiven.OrganizationUserGroup("example",
186
+ description="Example group of users.",
187
+ organization_id=aiven_organization["main"]["id"])
188
+ project_admin = aiven.OrganizationUserGroupMember("projectAdmin",
189
+ group_id=example.group_id,
190
+ organization_id=aiven_organization["main"]["id"],
191
+ user_id="u123a456b7890c")
192
+ ```
193
+ <!--End PulumiCodeChooser -->
194
+
195
+ ## Import
196
+
197
+ ```sh
198
+ $ pulumi import aiven:index/organizationUserGroupMember:OrganizationUserGroupMember project_admin ORGANIZATION_ID/USER_GROUP_ID/USER_ID
199
+ ```
200
+
201
+ :param str resource_name: The name of the resource.
202
+ :param pulumi.ResourceOptions opts: Options for the resource.
203
+ :param pulumi.Input[str] group_id: The ID of the user group.
204
+ :param pulumi.Input[str] organization_id: The ID of the organization.
205
+ :param pulumi.Input[str] user_id: The ID of the organization user.
206
+ """
207
+ ...
208
+ @overload
209
+ def __init__(__self__,
210
+ resource_name: str,
211
+ args: OrganizationUserGroupMemberArgs,
212
+ opts: Optional[pulumi.ResourceOptions] = None):
213
+ """
214
+ Adds and manages users in a [user group](https://aiven.io/docs/platform/concepts/projects_accounts_access#groups).
215
+
216
+ ## Example Usage
217
+
218
+ <!--Start PulumiCodeChooser -->
219
+ ```python
220
+ import pulumi
221
+ import pulumi_aiven as aiven
222
+
223
+ example = aiven.OrganizationUserGroup("example",
224
+ description="Example group of users.",
225
+ organization_id=aiven_organization["main"]["id"])
226
+ project_admin = aiven.OrganizationUserGroupMember("projectAdmin",
227
+ group_id=example.group_id,
228
+ organization_id=aiven_organization["main"]["id"],
229
+ user_id="u123a456b7890c")
230
+ ```
231
+ <!--End PulumiCodeChooser -->
232
+
233
+ ## Import
234
+
235
+ ```sh
236
+ $ pulumi import aiven:index/organizationUserGroupMember:OrganizationUserGroupMember project_admin ORGANIZATION_ID/USER_GROUP_ID/USER_ID
237
+ ```
238
+
239
+ :param str resource_name: The name of the resource.
240
+ :param OrganizationUserGroupMemberArgs args: The arguments to use to populate this resource's properties.
241
+ :param pulumi.ResourceOptions opts: Options for the resource.
242
+ """
243
+ ...
244
+ def __init__(__self__, resource_name: str, *args, **kwargs):
245
+ resource_args, opts = _utilities.get_resource_args_opts(OrganizationUserGroupMemberArgs, pulumi.ResourceOptions, *args, **kwargs)
246
+ if resource_args is not None:
247
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
248
+ else:
249
+ __self__._internal_init(resource_name, *args, **kwargs)
250
+
251
+ def _internal_init(__self__,
252
+ resource_name: str,
253
+ opts: Optional[pulumi.ResourceOptions] = None,
254
+ group_id: Optional[pulumi.Input[str]] = None,
255
+ organization_id: Optional[pulumi.Input[str]] = None,
256
+ timeouts: Optional[pulumi.Input[pulumi.InputType['OrganizationUserGroupMemberTimeoutsArgs']]] = None,
257
+ user_id: Optional[pulumi.Input[str]] = None,
258
+ __props__=None):
259
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
260
+ if not isinstance(opts, pulumi.ResourceOptions):
261
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
262
+ if opts.id is None:
263
+ if __props__ is not None:
264
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
265
+ __props__ = OrganizationUserGroupMemberArgs.__new__(OrganizationUserGroupMemberArgs)
266
+
267
+ if group_id is None and not opts.urn:
268
+ raise TypeError("Missing required property 'group_id'")
269
+ __props__.__dict__["group_id"] = group_id
270
+ if organization_id is None and not opts.urn:
271
+ raise TypeError("Missing required property 'organization_id'")
272
+ __props__.__dict__["organization_id"] = organization_id
273
+ __props__.__dict__["timeouts"] = timeouts
274
+ if user_id is None and not opts.urn:
275
+ raise TypeError("Missing required property 'user_id'")
276
+ __props__.__dict__["user_id"] = user_id
277
+ __props__.__dict__["last_activity_time"] = None
278
+ super(OrganizationUserGroupMember, __self__).__init__(
279
+ 'aiven:index/organizationUserGroupMember:OrganizationUserGroupMember',
280
+ resource_name,
281
+ __props__,
282
+ opts)
283
+
284
+ @staticmethod
285
+ def get(resource_name: str,
286
+ id: pulumi.Input[str],
287
+ opts: Optional[pulumi.ResourceOptions] = None,
288
+ group_id: Optional[pulumi.Input[str]] = None,
289
+ last_activity_time: Optional[pulumi.Input[str]] = None,
290
+ organization_id: Optional[pulumi.Input[str]] = None,
291
+ timeouts: Optional[pulumi.Input[pulumi.InputType['OrganizationUserGroupMemberTimeoutsArgs']]] = None,
292
+ user_id: Optional[pulumi.Input[str]] = None) -> 'OrganizationUserGroupMember':
293
+ """
294
+ Get an existing OrganizationUserGroupMember resource's state with the given name, id, and optional extra
295
+ properties used to qualify the lookup.
296
+
297
+ :param str resource_name: The unique name of the resulting resource.
298
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
299
+ :param pulumi.ResourceOptions opts: Options for the resource.
300
+ :param pulumi.Input[str] group_id: The ID of the user group.
301
+ :param pulumi.Input[str] last_activity_time: Last activity time of the user group member.
302
+ :param pulumi.Input[str] organization_id: The ID of the organization.
303
+ :param pulumi.Input[str] user_id: The ID of the organization user.
304
+ """
305
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
306
+
307
+ __props__ = _OrganizationUserGroupMemberState.__new__(_OrganizationUserGroupMemberState)
308
+
309
+ __props__.__dict__["group_id"] = group_id
310
+ __props__.__dict__["last_activity_time"] = last_activity_time
311
+ __props__.__dict__["organization_id"] = organization_id
312
+ __props__.__dict__["timeouts"] = timeouts
313
+ __props__.__dict__["user_id"] = user_id
314
+ return OrganizationUserGroupMember(resource_name, opts=opts, __props__=__props__)
315
+
316
+ @property
317
+ @pulumi.getter(name="groupId")
318
+ def group_id(self) -> pulumi.Output[str]:
319
+ """
320
+ The ID of the user group.
321
+ """
322
+ return pulumi.get(self, "group_id")
323
+
324
+ @property
325
+ @pulumi.getter(name="lastActivityTime")
326
+ def last_activity_time(self) -> pulumi.Output[str]:
327
+ """
328
+ Last activity time of the user group member.
329
+ """
330
+ return pulumi.get(self, "last_activity_time")
331
+
332
+ @property
333
+ @pulumi.getter(name="organizationId")
334
+ def organization_id(self) -> pulumi.Output[str]:
335
+ """
336
+ The ID of the organization.
337
+ """
338
+ return pulumi.get(self, "organization_id")
339
+
340
+ @property
341
+ @pulumi.getter
342
+ def timeouts(self) -> pulumi.Output[Optional['outputs.OrganizationUserGroupMemberTimeouts']]:
343
+ return pulumi.get(self, "timeouts")
344
+
345
+ @property
346
+ @pulumi.getter(name="userId")
347
+ def user_id(self) -> pulumi.Output[str]:
348
+ """
349
+ The ID of the organization user.
350
+ """
351
+ return pulumi.get(self, "user_id")
352
+