pulumi-aiven 6.13.0a1710156545__py3-none-any.whl → 6.31.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 (169) hide show
  1. pulumi_aiven/__init__.py +136 -0
  2. pulumi_aiven/_inputs.py +32749 -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_quota.py +604 -0
  121. pulumi_aiven/kafka_schema.py +63 -58
  122. pulumi_aiven/kafka_schema_configuration.py +25 -24
  123. pulumi_aiven/kafka_schema_registry_acl.py +80 -35
  124. pulumi_aiven/kafka_topic.py +184 -65
  125. pulumi_aiven/kafka_user.py +59 -58
  126. pulumi_aiven/m3_aggregator.py +174 -310
  127. pulumi_aiven/m3_db.py +190 -326
  128. pulumi_aiven/m3db_user.py +51 -50
  129. pulumi_aiven/mirror_maker_replication_flow.py +215 -55
  130. pulumi_aiven/my_sql.py +188 -324
  131. pulumi_aiven/mysql_database.py +32 -51
  132. pulumi_aiven/mysql_user.py +37 -36
  133. pulumi_aiven/open_search.py +126 -107
  134. pulumi_aiven/open_search_acl_config.py +33 -36
  135. pulumi_aiven/open_search_acl_rule.py +55 -54
  136. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  137. pulumi_aiven/opensearch_user.py +30 -29
  138. pulumi_aiven/organization.py +18 -17
  139. pulumi_aiven/organization_application_user.py +345 -0
  140. pulumi_aiven/organization_application_user_token.py +711 -0
  141. pulumi_aiven/organization_group_project.py +349 -0
  142. pulumi_aiven/organization_permission.py +421 -0
  143. pulumi_aiven/organization_user.py +25 -46
  144. pulumi_aiven/organization_user_group.py +64 -23
  145. pulumi_aiven/organization_user_group_member.py +359 -0
  146. pulumi_aiven/organizational_unit.py +41 -36
  147. pulumi_aiven/outputs.py +38976 -21894
  148. pulumi_aiven/pg.py +92 -88
  149. pulumi_aiven/pg_database.py +52 -71
  150. pulumi_aiven/pg_user.py +80 -65
  151. pulumi_aiven/project.py +111 -102
  152. pulumi_aiven/project_user.py +44 -35
  153. pulumi_aiven/project_vpc.py +58 -29
  154. pulumi_aiven/provider.py +5 -0
  155. pulumi_aiven/pulumi-plugin.json +2 -1
  156. pulumi_aiven/redis.py +161 -297
  157. pulumi_aiven/redis_user.py +58 -57
  158. pulumi_aiven/service_integration.py +511 -165
  159. pulumi_aiven/service_integration_endpoint.py +466 -158
  160. pulumi_aiven/static_ip.py +21 -16
  161. pulumi_aiven/thanos.py +1262 -0
  162. pulumi_aiven/transit_gateway_vpc_attachment.py +44 -58
  163. pulumi_aiven/valkey.py +1256 -0
  164. pulumi_aiven/valkey_user.py +606 -0
  165. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/METADATA +7 -6
  166. pulumi_aiven-6.31.0.dist-info/RECORD +170 -0
  167. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/WHEEL +1 -1
  168. pulumi_aiven-6.13.0a1710156545.dist-info/RECORD +0 -146
  169. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
- result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
pulumi_aiven/account.py CHANGED
@@ -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__ = ['AccountArgs', 'Account']
@@ -24,8 +29,8 @@ class AccountArgs:
24
29
  if name is not None:
25
30
  pulumi.set(__self__, "name", name)
26
31
  if primary_billing_group_id is not None:
27
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
28
- pulumi.log.warn("""primary_billing_group_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
32
+ warnings.warn("""The new Organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
33
+ pulumi.log.warn("""primary_billing_group_id is deprecated: The new Organization resource won't have it, and will not have a replacement.""")
29
34
  if primary_billing_group_id is not None:
30
35
  pulumi.set(__self__, "primary_billing_group_id", primary_billing_group_id)
31
36
 
@@ -43,13 +48,11 @@ class AccountArgs:
43
48
 
44
49
  @property
45
50
  @pulumi.getter(name="primaryBillingGroupId")
51
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
46
52
  def primary_billing_group_id(self) -> Optional[pulumi.Input[str]]:
47
53
  """
48
54
  Billing group id
49
55
  """
50
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
51
- pulumi.log.warn("""primary_billing_group_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
52
-
53
56
  return pulumi.get(self, "primary_billing_group_id")
54
57
 
55
58
  @primary_billing_group_id.setter
@@ -80,27 +83,27 @@ class _AccountState:
80
83
  :param pulumi.Input[str] update_time: Time of last update
81
84
  """
82
85
  if account_id is not None:
83
- warnings.warn("""The new aiven_organization resource won't have it, use the built-in ID field instead.""", DeprecationWarning)
84
- pulumi.log.warn("""account_id is deprecated: The new aiven_organization resource won't have it, use the built-in ID field instead.""")
86
+ warnings.warn("""The new Organization resource won't have it, use the built-in ID field instead.""", DeprecationWarning)
87
+ pulumi.log.warn("""account_id is deprecated: The new Organization resource won't have it, use the built-in ID field instead.""")
85
88
  if account_id is not None:
86
89
  pulumi.set(__self__, "account_id", account_id)
87
90
  if create_time is not None:
88
91
  pulumi.set(__self__, "create_time", create_time)
89
92
  if is_account_owner is not None:
90
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
91
- pulumi.log.warn("""is_account_owner is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
93
+ warnings.warn("""The new Organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
94
+ pulumi.log.warn("""is_account_owner is deprecated: The new Organization resource won't have it, and will not have a replacement.""")
92
95
  if is_account_owner is not None:
93
96
  pulumi.set(__self__, "is_account_owner", is_account_owner)
94
97
  if name is not None:
95
98
  pulumi.set(__self__, "name", name)
96
99
  if owner_team_id is not None:
97
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
98
- pulumi.log.warn("""owner_team_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
100
+ warnings.warn("""The new Organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
101
+ pulumi.log.warn("""owner_team_id is deprecated: The new Organization resource won't have it, and will not have a replacement.""")
99
102
  if owner_team_id is not None:
100
103
  pulumi.set(__self__, "owner_team_id", owner_team_id)
101
104
  if primary_billing_group_id is not None:
102
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
103
- pulumi.log.warn("""primary_billing_group_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
105
+ warnings.warn("""The new Organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
106
+ pulumi.log.warn("""primary_billing_group_id is deprecated: The new Organization resource won't have it, and will not have a replacement.""")
104
107
  if primary_billing_group_id is not None:
105
108
  pulumi.set(__self__, "primary_billing_group_id", primary_billing_group_id)
106
109
  if tenant_id is not None:
@@ -110,13 +113,11 @@ class _AccountState:
110
113
 
111
114
  @property
112
115
  @pulumi.getter(name="accountId")
116
+ @_utilities.deprecated("""The new Organization resource won't have it, use the built-in ID field instead.""")
113
117
  def account_id(self) -> Optional[pulumi.Input[str]]:
114
118
  """
115
119
  Account id
116
120
  """
117
- warnings.warn("""The new aiven_organization resource won't have it, use the built-in ID field instead.""", DeprecationWarning)
118
- pulumi.log.warn("""account_id is deprecated: The new aiven_organization resource won't have it, use the built-in ID field instead.""")
119
-
120
121
  return pulumi.get(self, "account_id")
121
122
 
122
123
  @account_id.setter
@@ -137,13 +138,11 @@ class _AccountState:
137
138
 
138
139
  @property
139
140
  @pulumi.getter(name="isAccountOwner")
141
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
140
142
  def is_account_owner(self) -> Optional[pulumi.Input[bool]]:
141
143
  """
142
144
  If true, user is part of the owners team for this account
143
145
  """
144
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
145
- pulumi.log.warn("""is_account_owner is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
146
-
147
146
  return pulumi.get(self, "is_account_owner")
148
147
 
149
148
  @is_account_owner.setter
@@ -164,13 +163,11 @@ class _AccountState:
164
163
 
165
164
  @property
166
165
  @pulumi.getter(name="ownerTeamId")
166
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
167
167
  def owner_team_id(self) -> Optional[pulumi.Input[str]]:
168
168
  """
169
169
  Owner team id
170
170
  """
171
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
172
- pulumi.log.warn("""owner_team_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
173
-
174
171
  return pulumi.get(self, "owner_team_id")
175
172
 
176
173
  @owner_team_id.setter
@@ -179,13 +176,11 @@ class _AccountState:
179
176
 
180
177
  @property
181
178
  @pulumi.getter(name="primaryBillingGroupId")
179
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
182
180
  def primary_billing_group_id(self) -> Optional[pulumi.Input[str]]:
183
181
  """
184
182
  Billing group id
185
183
  """
186
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
187
- pulumi.log.warn("""primary_billing_group_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
188
-
189
184
  return pulumi.get(self, "primary_billing_group_id")
190
185
 
191
186
  @primary_billing_group_id.setter
@@ -226,18 +221,18 @@ class Account(pulumi.CustomResource):
226
221
  primary_billing_group_id: Optional[pulumi.Input[str]] = None,
227
222
  __props__=None):
228
223
  """
229
- The Account resource allows the creation and management of an Aiven Account.
224
+ Creates and manages an Aiven account.
225
+
226
+ **This resource is deprecated.** Use `Organization` instead.
230
227
 
231
228
  ## Example Usage
232
229
 
233
- <!--Start PulumiCodeChooser -->
234
230
  ```python
235
231
  import pulumi
236
232
  import pulumi_aiven as aiven
237
233
 
238
- account1 = aiven.Account("account1")
234
+ account1 = aiven.Account("account1", name="<ACCOUNT_NAME>")
239
235
  ```
240
- <!--End PulumiCodeChooser -->
241
236
 
242
237
  ## Import
243
238
 
@@ -257,18 +252,18 @@ class Account(pulumi.CustomResource):
257
252
  args: Optional[AccountArgs] = None,
258
253
  opts: Optional[pulumi.ResourceOptions] = None):
259
254
  """
260
- The Account resource allows the creation and management of an Aiven Account.
255
+ Creates and manages an Aiven account.
256
+
257
+ **This resource is deprecated.** Use `Organization` instead.
261
258
 
262
259
  ## Example Usage
263
260
 
264
- <!--Start PulumiCodeChooser -->
265
261
  ```python
266
262
  import pulumi
267
263
  import pulumi_aiven as aiven
268
264
 
269
- account1 = aiven.Account("account1")
265
+ account1 = aiven.Account("account1", name="<ACCOUNT_NAME>")
270
266
  ```
271
- <!--End PulumiCodeChooser -->
272
267
 
273
268
  ## Import
274
269
 
@@ -360,13 +355,11 @@ class Account(pulumi.CustomResource):
360
355
 
361
356
  @property
362
357
  @pulumi.getter(name="accountId")
358
+ @_utilities.deprecated("""The new Organization resource won't have it, use the built-in ID field instead.""")
363
359
  def account_id(self) -> pulumi.Output[str]:
364
360
  """
365
361
  Account id
366
362
  """
367
- warnings.warn("""The new aiven_organization resource won't have it, use the built-in ID field instead.""", DeprecationWarning)
368
- pulumi.log.warn("""account_id is deprecated: The new aiven_organization resource won't have it, use the built-in ID field instead.""")
369
-
370
363
  return pulumi.get(self, "account_id")
371
364
 
372
365
  @property
@@ -379,13 +372,11 @@ class Account(pulumi.CustomResource):
379
372
 
380
373
  @property
381
374
  @pulumi.getter(name="isAccountOwner")
375
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
382
376
  def is_account_owner(self) -> pulumi.Output[bool]:
383
377
  """
384
378
  If true, user is part of the owners team for this account
385
379
  """
386
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
387
- pulumi.log.warn("""is_account_owner is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
388
-
389
380
  return pulumi.get(self, "is_account_owner")
390
381
 
391
382
  @property
@@ -398,24 +389,20 @@ class Account(pulumi.CustomResource):
398
389
 
399
390
  @property
400
391
  @pulumi.getter(name="ownerTeamId")
392
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
401
393
  def owner_team_id(self) -> pulumi.Output[str]:
402
394
  """
403
395
  Owner team id
404
396
  """
405
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
406
- pulumi.log.warn("""owner_team_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
407
-
408
397
  return pulumi.get(self, "owner_team_id")
409
398
 
410
399
  @property
411
400
  @pulumi.getter(name="primaryBillingGroupId")
401
+ @_utilities.deprecated("""The new Organization resource won't have it, and will not have a replacement.""")
412
402
  def primary_billing_group_id(self) -> pulumi.Output[Optional[str]]:
413
403
  """
414
404
  Billing group id
415
405
  """
416
- warnings.warn("""The new aiven_organization resource won't have it, and will not have a replacement.""", DeprecationWarning)
417
- pulumi.log.warn("""primary_billing_group_id is deprecated: The new aiven_organization resource won't have it, and will not have a replacement.""")
418
-
419
406
  return pulumi.get(self, "primary_billing_group_id")
420
407
 
421
408
  @property
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -535,7 +540,7 @@ class AccountAuthentication(pulumi.CustomResource):
535
540
  saml_certificate: Optional[pulumi.Input[str]] = None,
536
541
  saml_digest_algorithm: Optional[pulumi.Input[str]] = None,
537
542
  saml_entity_id: Optional[pulumi.Input[str]] = None,
538
- saml_field_mapping: Optional[pulumi.Input[pulumi.InputType['AccountAuthenticationSamlFieldMappingArgs']]] = None,
543
+ saml_field_mapping: Optional[pulumi.Input[Union['AccountAuthenticationSamlFieldMappingArgs', 'AccountAuthenticationSamlFieldMappingArgsDict']]] = None,
539
544
  saml_idp_login_allowed: Optional[pulumi.Input[bool]] = None,
540
545
  saml_idp_url: Optional[pulumi.Input[str]] = None,
541
546
  saml_signature_algorithm: Optional[pulumi.Input[str]] = None,
@@ -543,12 +548,17 @@ class AccountAuthentication(pulumi.CustomResource):
543
548
  type: Optional[pulumi.Input[str]] = None,
544
549
  __props__=None):
545
550
  """
546
- The Account Authentication resource allows the creation and management of an Aiven Account Authentications.
551
+ Creates and manages an authentication method.
552
+
553
+ > **This resource is deprecated**
554
+ To set up an identity provider as an authentication method for your organization,
555
+ [use the Aiven Console](https://aiven.io/docs/platform/howto/saml/add-identity-providers).
556
+ It guides you through the steps and explains the settings.
547
557
 
548
558
  ## Import
549
559
 
550
560
  ```sh
551
- $ pulumi import aiven:index/accountAuthentication:AccountAuthentication foo account_id/authentication_id
561
+ $ pulumi import aiven:index/accountAuthentication:AccountAuthentication foo ACCOUNT_ID/AUTHENTICATION_ID
552
562
  ```
553
563
 
554
564
  :param str resource_name: The name of the resource.
@@ -560,7 +570,7 @@ class AccountAuthentication(pulumi.CustomResource):
560
570
  :param pulumi.Input[str] saml_certificate: SAML Certificate
561
571
  :param pulumi.Input[str] saml_digest_algorithm: Digest algorithm. This is an advanced option that typically does not need to be set.
562
572
  :param pulumi.Input[str] saml_entity_id: SAML Entity id
563
- :param pulumi.Input[pulumi.InputType['AccountAuthenticationSamlFieldMappingArgs']] saml_field_mapping: Map IdP fields
573
+ :param pulumi.Input[Union['AccountAuthenticationSamlFieldMappingArgs', 'AccountAuthenticationSamlFieldMappingArgsDict']] saml_field_mapping: Map IdP fields
564
574
  :param pulumi.Input[bool] saml_idp_login_allowed: Set to 'true' to enable IdP initiated login
565
575
  :param pulumi.Input[str] saml_idp_url: SAML Idp URL
566
576
  :param pulumi.Input[str] saml_signature_algorithm: Signature algorithm. This is an advanced option that typically does not need to be set.
@@ -574,12 +584,17 @@ class AccountAuthentication(pulumi.CustomResource):
574
584
  args: AccountAuthenticationArgs,
575
585
  opts: Optional[pulumi.ResourceOptions] = None):
576
586
  """
577
- The Account Authentication resource allows the creation and management of an Aiven Account Authentications.
587
+ Creates and manages an authentication method.
588
+
589
+ > **This resource is deprecated**
590
+ To set up an identity provider as an authentication method for your organization,
591
+ [use the Aiven Console](https://aiven.io/docs/platform/howto/saml/add-identity-providers).
592
+ It guides you through the steps and explains the settings.
578
593
 
579
594
  ## Import
580
595
 
581
596
  ```sh
582
- $ pulumi import aiven:index/accountAuthentication:AccountAuthentication foo account_id/authentication_id
597
+ $ pulumi import aiven:index/accountAuthentication:AccountAuthentication foo ACCOUNT_ID/AUTHENTICATION_ID
583
598
  ```
584
599
 
585
600
  :param str resource_name: The name of the resource.
@@ -604,7 +619,7 @@ class AccountAuthentication(pulumi.CustomResource):
604
619
  saml_certificate: Optional[pulumi.Input[str]] = None,
605
620
  saml_digest_algorithm: Optional[pulumi.Input[str]] = None,
606
621
  saml_entity_id: Optional[pulumi.Input[str]] = None,
607
- saml_field_mapping: Optional[pulumi.Input[pulumi.InputType['AccountAuthenticationSamlFieldMappingArgs']]] = None,
622
+ saml_field_mapping: Optional[pulumi.Input[Union['AccountAuthenticationSamlFieldMappingArgs', 'AccountAuthenticationSamlFieldMappingArgsDict']]] = None,
608
623
  saml_idp_login_allowed: Optional[pulumi.Input[bool]] = None,
609
624
  saml_idp_url: Optional[pulumi.Input[str]] = None,
610
625
  saml_signature_algorithm: Optional[pulumi.Input[str]] = None,
@@ -661,7 +676,7 @@ class AccountAuthentication(pulumi.CustomResource):
661
676
  saml_certificate: Optional[pulumi.Input[str]] = None,
662
677
  saml_digest_algorithm: Optional[pulumi.Input[str]] = None,
663
678
  saml_entity_id: Optional[pulumi.Input[str]] = None,
664
- saml_field_mapping: Optional[pulumi.Input[pulumi.InputType['AccountAuthenticationSamlFieldMappingArgs']]] = None,
679
+ saml_field_mapping: Optional[pulumi.Input[Union['AccountAuthenticationSamlFieldMappingArgs', 'AccountAuthenticationSamlFieldMappingArgsDict']]] = None,
665
680
  saml_idp_login_allowed: Optional[pulumi.Input[bool]] = None,
666
681
  saml_idp_url: Optional[pulumi.Input[str]] = None,
667
682
  saml_metadata_url: Optional[pulumi.Input[str]] = None,
@@ -686,7 +701,7 @@ class AccountAuthentication(pulumi.CustomResource):
686
701
  :param pulumi.Input[str] saml_certificate: SAML Certificate
687
702
  :param pulumi.Input[str] saml_digest_algorithm: Digest algorithm. This is an advanced option that typically does not need to be set.
688
703
  :param pulumi.Input[str] saml_entity_id: SAML Entity id
689
- :param pulumi.Input[pulumi.InputType['AccountAuthenticationSamlFieldMappingArgs']] saml_field_mapping: Map IdP fields
704
+ :param pulumi.Input[Union['AccountAuthenticationSamlFieldMappingArgs', 'AccountAuthenticationSamlFieldMappingArgsDict']] saml_field_mapping: Map IdP fields
690
705
  :param pulumi.Input[bool] saml_idp_login_allowed: Set to 'true' to enable IdP initiated login
691
706
  :param pulumi.Input[str] saml_idp_url: SAML Idp URL
692
707
  :param pulumi.Input[str] saml_metadata_url: SAML Metadata URL
@@ -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__ = ['AccountTeamArgs', 'AccountTeam']
@@ -147,23 +152,31 @@ class AccountTeam(pulumi.CustomResource):
147
152
  name: Optional[pulumi.Input[str]] = None,
148
153
  __props__=None):
149
154
  """
155
+ **This resource is deprecated.** Use `OrganizationUserGroup` instead.
156
+
150
157
  Creates and manages a team.
151
158
 
152
- > **Teams are becoming groups**
153
- Groups are an easier way to control access to your organization's projects and
154
- services for a group of users.
155
- Migrate your teams to groups.
159
+ > **Teams have been deprecated and are being migrated to groups**
160
+ **On 30 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
161
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions.
162
+ **From 4 November 2024** you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after
163
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
164
+ migration guide for more information on the changes and migrating to groups.
165
+
166
+ > **Important**
167
+ You can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**
168
+ You won't be able to create new teams or access your Account Owners team.
156
169
 
157
170
  ## Example Usage
158
171
 
159
- <!--Start PulumiCodeChooser -->
160
172
  ```python
161
173
  import pulumi
162
174
  import pulumi_aiven as aiven
163
175
 
164
- example_team = aiven.AccountTeam("exampleTeam", account_id=aiven_account["ACCOUNT_RESOURCE_NAME"]["account_id"])
176
+ example_team = aiven.AccountTeam("example_team",
177
+ account_id=accoun_t__resourc_e__name["accountId"],
178
+ name="Example team")
165
179
  ```
166
- <!--End PulumiCodeChooser -->
167
180
 
168
181
  ## Import
169
182
 
@@ -183,23 +196,31 @@ class AccountTeam(pulumi.CustomResource):
183
196
  args: AccountTeamArgs,
184
197
  opts: Optional[pulumi.ResourceOptions] = None):
185
198
  """
199
+ **This resource is deprecated.** Use `OrganizationUserGroup` instead.
200
+
186
201
  Creates and manages a team.
187
202
 
188
- > **Teams are becoming groups**
189
- Groups are an easier way to control access to your organization's projects and
190
- services for a group of users.
191
- Migrate your teams to groups.
203
+ > **Teams have been deprecated and are being migrated to groups**
204
+ **On 30 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
205
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on existing permissions.
206
+ **From 4 November 2024** you won't be able to create new teams or update existing ones. Existing teams will be migrated to groups after
207
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
208
+ migration guide for more information on the changes and migrating to groups.
209
+
210
+ > **Important**
211
+ You can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**
212
+ You won't be able to create new teams or access your Account Owners team.
192
213
 
193
214
  ## Example Usage
194
215
 
195
- <!--Start PulumiCodeChooser -->
196
216
  ```python
197
217
  import pulumi
198
218
  import pulumi_aiven as aiven
199
219
 
200
- example_team = aiven.AccountTeam("exampleTeam", account_id=aiven_account["ACCOUNT_RESOURCE_NAME"]["account_id"])
220
+ example_team = aiven.AccountTeam("example_team",
221
+ account_id=accoun_t__resourc_e__name["accountId"],
222
+ name="Example team")
201
223
  ```
202
- <!--End PulumiCodeChooser -->
203
224
 
204
225
  ## Import
205
226