pulumi-aiven 6.13.0a1709702245__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 +32826 -13922
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +34 -43
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +37 -12
  7. pulumi_aiven/account_team_member.py +48 -35
  8. pulumi_aiven/account_team_project.py +42 -25
  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 -39
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -57
  14. pulumi_aiven/azure_privatelink.py +54 -49
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -73
  17. pulumi_aiven/billing_group.py +33 -30
  18. pulumi_aiven/cassandra.py +145 -122
  19. pulumi_aiven/cassandra_user.py +59 -54
  20. pulumi_aiven/clickhouse.py +133 -110
  21. pulumi_aiven/clickhouse_database.py +58 -58
  22. pulumi_aiven/clickhouse_grant.py +135 -130
  23. pulumi_aiven/clickhouse_role.py +36 -45
  24. pulumi_aiven/clickhouse_user.py +50 -45
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -62
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -100
  30. pulumi_aiven/flink_application.py +58 -51
  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 -44
  36. pulumi_aiven/get_account.py +20 -5
  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 -20
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -29
  46. pulumi_aiven/get_azure_privatelink.py +37 -22
  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 -19
  50. pulumi_aiven/get_cassandra.py +55 -19
  51. pulumi_aiven/get_cassandra_user.py +42 -26
  52. pulumi_aiven/get_clickhouse.py +55 -19
  53. pulumi_aiven/get_clickhouse_database.py +35 -22
  54. pulumi_aiven/get_clickhouse_user.py +40 -25
  55. pulumi_aiven/get_connection_pool.py +43 -26
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -19
  59. pulumi_aiven/get_flink_application.py +44 -27
  60. pulumi_aiven/get_flink_application_version.py +55 -33
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -24
  63. pulumi_aiven/get_grafana.py +55 -19
  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 -21
  68. pulumi_aiven/get_kafka_acl.py +50 -33
  69. pulumi_aiven/get_kafka_connect.py +54 -32
  70. pulumi_aiven/get_kafka_connector.py +44 -24
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -28
  72. pulumi_aiven/get_kafka_schema.py +35 -19
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -17
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -25
  76. pulumi_aiven/get_kafka_user.py +42 -26
  77. pulumi_aiven/get_m3_aggregator.py +51 -15
  78. pulumi_aiven/get_m3_db.py +55 -19
  79. pulumi_aiven/get_m3db_user.py +38 -24
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -21
  81. pulumi_aiven/get_my_sql.py +50 -14
  82. pulumi_aiven/get_mysql_database.py +31 -18
  83. pulumi_aiven/get_mysql_user.py +36 -19
  84. pulumi_aiven/get_open_search.py +50 -14
  85. pulumi_aiven/get_open_search_acl_config.py +27 -15
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -21
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -15
  88. pulumi_aiven/get_opensearch_user.py +32 -18
  89. pulumi_aiven/get_organization.py +25 -13
  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 -19
  96. pulumi_aiven/get_pg_database.py +39 -24
  97. pulumi_aiven/get_pg_user.py +44 -27
  98. pulumi_aiven/get_project.py +43 -22
  99. pulumi_aiven/get_project_user.py +27 -15
  100. pulumi_aiven/get_project_vpc.py +31 -19
  101. pulumi_aiven/get_redis.py +50 -14
  102. pulumi_aiven/get_redis_user.py +40 -22
  103. pulumi_aiven/get_service_component.py +40 -18
  104. pulumi_aiven/get_service_integration.py +163 -49
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -33
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -18
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -318
  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 -140
  115. pulumi_aiven/kafka_acl.py +64 -53
  116. pulumi_aiven/kafka_connect.py +201 -328
  117. pulumi_aiven/kafka_connector.py +67 -56
  118. pulumi_aiven/kafka_mirror_maker.py +139 -318
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_schema.py +65 -56
  121. pulumi_aiven/kafka_schema_configuration.py +25 -20
  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 -54
  125. pulumi_aiven/m3_aggregator.py +176 -308
  126. pulumi_aiven/m3_db.py +190 -322
  127. pulumi_aiven/m3db_user.py +51 -46
  128. pulumi_aiven/mirror_maker_replication_flow.py +217 -53
  129. pulumi_aiven/my_sql.py +190 -322
  130. pulumi_aiven/mysql_database.py +32 -47
  131. pulumi_aiven/mysql_user.py +37 -32
  132. pulumi_aiven/open_search.py +128 -105
  133. pulumi_aiven/open_search_acl_config.py +33 -32
  134. pulumi_aiven/open_search_acl_rule.py +55 -50
  135. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  136. pulumi_aiven/opensearch_user.py +30 -25
  137. pulumi_aiven/organization.py +18 -13
  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 -32
  146. pulumi_aiven/outputs.py +38509 -21612
  147. pulumi_aiven/pg.py +92 -88
  148. pulumi_aiven/pg_database.py +52 -67
  149. pulumi_aiven/pg_user.py +80 -61
  150. pulumi_aiven/project.py +111 -102
  151. pulumi_aiven/project_user.py +44 -31
  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 +163 -295
  156. pulumi_aiven/redis_user.py +58 -53
  157. pulumi_aiven/service_integration.py +511 -161
  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 -54
  162. pulumi_aiven/valkey.py +1256 -0
  163. pulumi_aiven/valkey_user.py +606 -0
  164. {pulumi_aiven-6.13.0a1709702245.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.0a1709702245.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/WHEEL +1 -1
  167. pulumi_aiven-6.13.0a1709702245.dist-info/RECORD +0 -146
  168. {pulumi_aiven-6.13.0a1709702245.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,711 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['OrganizationApplicationUserTokenArgs', 'OrganizationApplicationUserToken']
18
+
19
+ @pulumi.input_type
20
+ class OrganizationApplicationUserTokenArgs:
21
+ def __init__(__self__, *,
22
+ organization_id: pulumi.Input[str],
23
+ user_id: pulumi.Input[str],
24
+ description: Optional[pulumi.Input[str]] = None,
25
+ extend_when_used: Optional[pulumi.Input[bool]] = None,
26
+ max_age_seconds: Optional[pulumi.Input[int]] = None,
27
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
28
+ """
29
+ The set of arguments for constructing a OrganizationApplicationUserToken resource.
30
+ :param pulumi.Input[str] organization_id: The ID of the organization the application user belongs to.
31
+ :param pulumi.Input[str] user_id: The ID of the application user the token is created for.
32
+ :param pulumi.Input[str] description: Description of the token.
33
+ :param pulumi.Input[bool] extend_when_used: Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
34
+ :param pulumi.Input[int] max_age_seconds: The number of hours after which a token expires. Default session duration is 10 hours.
35
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
36
+ """
37
+ pulumi.set(__self__, "organization_id", organization_id)
38
+ pulumi.set(__self__, "user_id", user_id)
39
+ if description is not None:
40
+ pulumi.set(__self__, "description", description)
41
+ if extend_when_used is not None:
42
+ pulumi.set(__self__, "extend_when_used", extend_when_used)
43
+ if max_age_seconds is not None:
44
+ pulumi.set(__self__, "max_age_seconds", max_age_seconds)
45
+ if scopes is not None:
46
+ pulumi.set(__self__, "scopes", scopes)
47
+
48
+ @property
49
+ @pulumi.getter(name="organizationId")
50
+ def organization_id(self) -> pulumi.Input[str]:
51
+ """
52
+ The ID of the organization the application user belongs to.
53
+ """
54
+ return pulumi.get(self, "organization_id")
55
+
56
+ @organization_id.setter
57
+ def organization_id(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "organization_id", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="userId")
62
+ def user_id(self) -> pulumi.Input[str]:
63
+ """
64
+ The ID of the application user the token is created for.
65
+ """
66
+ return pulumi.get(self, "user_id")
67
+
68
+ @user_id.setter
69
+ def user_id(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "user_id", value)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def description(self) -> Optional[pulumi.Input[str]]:
75
+ """
76
+ Description of the token.
77
+ """
78
+ return pulumi.get(self, "description")
79
+
80
+ @description.setter
81
+ def description(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "description", value)
83
+
84
+ @property
85
+ @pulumi.getter(name="extendWhenUsed")
86
+ def extend_when_used(self) -> Optional[pulumi.Input[bool]]:
87
+ """
88
+ Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
89
+ """
90
+ return pulumi.get(self, "extend_when_used")
91
+
92
+ @extend_when_used.setter
93
+ def extend_when_used(self, value: Optional[pulumi.Input[bool]]):
94
+ pulumi.set(self, "extend_when_used", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="maxAgeSeconds")
98
+ def max_age_seconds(self) -> Optional[pulumi.Input[int]]:
99
+ """
100
+ The number of hours after which a token expires. Default session duration is 10 hours.
101
+ """
102
+ return pulumi.get(self, "max_age_seconds")
103
+
104
+ @max_age_seconds.setter
105
+ def max_age_seconds(self, value: Optional[pulumi.Input[int]]):
106
+ pulumi.set(self, "max_age_seconds", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
111
+ """
112
+ Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
113
+ """
114
+ return pulumi.get(self, "scopes")
115
+
116
+ @scopes.setter
117
+ def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
118
+ pulumi.set(self, "scopes", value)
119
+
120
+
121
+ @pulumi.input_type
122
+ class _OrganizationApplicationUserTokenState:
123
+ def __init__(__self__, *,
124
+ create_time: Optional[pulumi.Input[str]] = None,
125
+ created_manually: Optional[pulumi.Input[bool]] = None,
126
+ currently_active: Optional[pulumi.Input[bool]] = None,
127
+ description: Optional[pulumi.Input[str]] = None,
128
+ expiry_time: Optional[pulumi.Input[str]] = None,
129
+ extend_when_used: Optional[pulumi.Input[bool]] = None,
130
+ full_token: Optional[pulumi.Input[str]] = None,
131
+ last_ip: Optional[pulumi.Input[str]] = None,
132
+ last_used_time: Optional[pulumi.Input[str]] = None,
133
+ last_user_agent: Optional[pulumi.Input[str]] = None,
134
+ last_user_agent_human_readable: Optional[pulumi.Input[str]] = None,
135
+ max_age_seconds: Optional[pulumi.Input[int]] = None,
136
+ organization_id: Optional[pulumi.Input[str]] = None,
137
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
138
+ token_prefix: Optional[pulumi.Input[str]] = None,
139
+ user_id: Optional[pulumi.Input[str]] = None):
140
+ """
141
+ Input properties used for looking up and filtering OrganizationApplicationUserToken resources.
142
+ :param pulumi.Input[str] create_time: Time when the token was created.
143
+ :param pulumi.Input[bool] created_manually: True for tokens explicitly created using the `access_tokens` API. False for tokens created when a user logs in.
144
+ :param pulumi.Input[bool] currently_active: True if the API request was made with this token.
145
+ :param pulumi.Input[str] description: Description of the token.
146
+ :param pulumi.Input[str] expiry_time: Timestamp when the access token will expire unless extended.
147
+ :param pulumi.Input[bool] extend_when_used: Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
148
+ :param pulumi.Input[str] full_token: Full token.
149
+ :param pulumi.Input[str] last_ip: IP address of the last request made with this token.
150
+ :param pulumi.Input[str] last_used_time: Timestamp when the access token was last used.
151
+ :param pulumi.Input[str] last_user_agent: User agent of the last request made with this token.
152
+ :param pulumi.Input[str] last_user_agent_human_readable: User agent of the last request made with this token in human-readable format.
153
+ :param pulumi.Input[int] max_age_seconds: The number of hours after which a token expires. Default session duration is 10 hours.
154
+ :param pulumi.Input[str] organization_id: The ID of the organization the application user belongs to.
155
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
156
+ :param pulumi.Input[str] token_prefix: Prefix of the token.
157
+ :param pulumi.Input[str] user_id: The ID of the application user the token is created for.
158
+ """
159
+ if create_time is not None:
160
+ pulumi.set(__self__, "create_time", create_time)
161
+ if created_manually is not None:
162
+ pulumi.set(__self__, "created_manually", created_manually)
163
+ if currently_active is not None:
164
+ pulumi.set(__self__, "currently_active", currently_active)
165
+ if description is not None:
166
+ pulumi.set(__self__, "description", description)
167
+ if expiry_time is not None:
168
+ pulumi.set(__self__, "expiry_time", expiry_time)
169
+ if extend_when_used is not None:
170
+ pulumi.set(__self__, "extend_when_used", extend_when_used)
171
+ if full_token is not None:
172
+ pulumi.set(__self__, "full_token", full_token)
173
+ if last_ip is not None:
174
+ pulumi.set(__self__, "last_ip", last_ip)
175
+ if last_used_time is not None:
176
+ pulumi.set(__self__, "last_used_time", last_used_time)
177
+ if last_user_agent is not None:
178
+ pulumi.set(__self__, "last_user_agent", last_user_agent)
179
+ if last_user_agent_human_readable is not None:
180
+ pulumi.set(__self__, "last_user_agent_human_readable", last_user_agent_human_readable)
181
+ if max_age_seconds is not None:
182
+ pulumi.set(__self__, "max_age_seconds", max_age_seconds)
183
+ if organization_id is not None:
184
+ pulumi.set(__self__, "organization_id", organization_id)
185
+ if scopes is not None:
186
+ pulumi.set(__self__, "scopes", scopes)
187
+ if token_prefix is not None:
188
+ pulumi.set(__self__, "token_prefix", token_prefix)
189
+ if user_id is not None:
190
+ pulumi.set(__self__, "user_id", user_id)
191
+
192
+ @property
193
+ @pulumi.getter(name="createTime")
194
+ def create_time(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ Time when the token was created.
197
+ """
198
+ return pulumi.get(self, "create_time")
199
+
200
+ @create_time.setter
201
+ def create_time(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "create_time", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="createdManually")
206
+ def created_manually(self) -> Optional[pulumi.Input[bool]]:
207
+ """
208
+ True for tokens explicitly created using the `access_tokens` API. False for tokens created when a user logs in.
209
+ """
210
+ return pulumi.get(self, "created_manually")
211
+
212
+ @created_manually.setter
213
+ def created_manually(self, value: Optional[pulumi.Input[bool]]):
214
+ pulumi.set(self, "created_manually", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="currentlyActive")
218
+ def currently_active(self) -> Optional[pulumi.Input[bool]]:
219
+ """
220
+ True if the API request was made with this token.
221
+ """
222
+ return pulumi.get(self, "currently_active")
223
+
224
+ @currently_active.setter
225
+ def currently_active(self, value: Optional[pulumi.Input[bool]]):
226
+ pulumi.set(self, "currently_active", value)
227
+
228
+ @property
229
+ @pulumi.getter
230
+ def description(self) -> Optional[pulumi.Input[str]]:
231
+ """
232
+ Description of the token.
233
+ """
234
+ return pulumi.get(self, "description")
235
+
236
+ @description.setter
237
+ def description(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "description", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="expiryTime")
242
+ def expiry_time(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ Timestamp when the access token will expire unless extended.
245
+ """
246
+ return pulumi.get(self, "expiry_time")
247
+
248
+ @expiry_time.setter
249
+ def expiry_time(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "expiry_time", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="extendWhenUsed")
254
+ def extend_when_used(self) -> Optional[pulumi.Input[bool]]:
255
+ """
256
+ Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
257
+ """
258
+ return pulumi.get(self, "extend_when_used")
259
+
260
+ @extend_when_used.setter
261
+ def extend_when_used(self, value: Optional[pulumi.Input[bool]]):
262
+ pulumi.set(self, "extend_when_used", value)
263
+
264
+ @property
265
+ @pulumi.getter(name="fullToken")
266
+ def full_token(self) -> Optional[pulumi.Input[str]]:
267
+ """
268
+ Full token.
269
+ """
270
+ return pulumi.get(self, "full_token")
271
+
272
+ @full_token.setter
273
+ def full_token(self, value: Optional[pulumi.Input[str]]):
274
+ pulumi.set(self, "full_token", value)
275
+
276
+ @property
277
+ @pulumi.getter(name="lastIp")
278
+ def last_ip(self) -> Optional[pulumi.Input[str]]:
279
+ """
280
+ IP address of the last request made with this token.
281
+ """
282
+ return pulumi.get(self, "last_ip")
283
+
284
+ @last_ip.setter
285
+ def last_ip(self, value: Optional[pulumi.Input[str]]):
286
+ pulumi.set(self, "last_ip", value)
287
+
288
+ @property
289
+ @pulumi.getter(name="lastUsedTime")
290
+ def last_used_time(self) -> Optional[pulumi.Input[str]]:
291
+ """
292
+ Timestamp when the access token was last used.
293
+ """
294
+ return pulumi.get(self, "last_used_time")
295
+
296
+ @last_used_time.setter
297
+ def last_used_time(self, value: Optional[pulumi.Input[str]]):
298
+ pulumi.set(self, "last_used_time", value)
299
+
300
+ @property
301
+ @pulumi.getter(name="lastUserAgent")
302
+ def last_user_agent(self) -> Optional[pulumi.Input[str]]:
303
+ """
304
+ User agent of the last request made with this token.
305
+ """
306
+ return pulumi.get(self, "last_user_agent")
307
+
308
+ @last_user_agent.setter
309
+ def last_user_agent(self, value: Optional[pulumi.Input[str]]):
310
+ pulumi.set(self, "last_user_agent", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="lastUserAgentHumanReadable")
314
+ def last_user_agent_human_readable(self) -> Optional[pulumi.Input[str]]:
315
+ """
316
+ User agent of the last request made with this token in human-readable format.
317
+ """
318
+ return pulumi.get(self, "last_user_agent_human_readable")
319
+
320
+ @last_user_agent_human_readable.setter
321
+ def last_user_agent_human_readable(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "last_user_agent_human_readable", value)
323
+
324
+ @property
325
+ @pulumi.getter(name="maxAgeSeconds")
326
+ def max_age_seconds(self) -> Optional[pulumi.Input[int]]:
327
+ """
328
+ The number of hours after which a token expires. Default session duration is 10 hours.
329
+ """
330
+ return pulumi.get(self, "max_age_seconds")
331
+
332
+ @max_age_seconds.setter
333
+ def max_age_seconds(self, value: Optional[pulumi.Input[int]]):
334
+ pulumi.set(self, "max_age_seconds", value)
335
+
336
+ @property
337
+ @pulumi.getter(name="organizationId")
338
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
339
+ """
340
+ The ID of the organization the application user belongs to.
341
+ """
342
+ return pulumi.get(self, "organization_id")
343
+
344
+ @organization_id.setter
345
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
346
+ pulumi.set(self, "organization_id", value)
347
+
348
+ @property
349
+ @pulumi.getter
350
+ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
351
+ """
352
+ Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
353
+ """
354
+ return pulumi.get(self, "scopes")
355
+
356
+ @scopes.setter
357
+ def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
358
+ pulumi.set(self, "scopes", value)
359
+
360
+ @property
361
+ @pulumi.getter(name="tokenPrefix")
362
+ def token_prefix(self) -> Optional[pulumi.Input[str]]:
363
+ """
364
+ Prefix of the token.
365
+ """
366
+ return pulumi.get(self, "token_prefix")
367
+
368
+ @token_prefix.setter
369
+ def token_prefix(self, value: Optional[pulumi.Input[str]]):
370
+ pulumi.set(self, "token_prefix", value)
371
+
372
+ @property
373
+ @pulumi.getter(name="userId")
374
+ def user_id(self) -> Optional[pulumi.Input[str]]:
375
+ """
376
+ The ID of the application user the token is created for.
377
+ """
378
+ return pulumi.get(self, "user_id")
379
+
380
+ @user_id.setter
381
+ def user_id(self, value: Optional[pulumi.Input[str]]):
382
+ pulumi.set(self, "user_id", value)
383
+
384
+
385
+ class OrganizationApplicationUserToken(pulumi.CustomResource):
386
+ @overload
387
+ def __init__(__self__,
388
+ resource_name: str,
389
+ opts: Optional[pulumi.ResourceOptions] = None,
390
+ description: Optional[pulumi.Input[str]] = None,
391
+ extend_when_used: Optional[pulumi.Input[bool]] = None,
392
+ max_age_seconds: Optional[pulumi.Input[int]] = None,
393
+ organization_id: Optional[pulumi.Input[str]] = None,
394
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
395
+ user_id: Optional[pulumi.Input[str]] = None,
396
+ __props__=None):
397
+ """
398
+ Creates and manages an application user token. Review the [best practices](https://aiven.io/docs/platform/concepts/application-users#security-best-practices) for securing application users and their tokens.
399
+
400
+ ## Example Usage
401
+
402
+ ```python
403
+ import pulumi
404
+ import pulumi_aiven as aiven
405
+
406
+ tf_user = aiven.OrganizationApplicationUser("tf_user",
407
+ organization_id=main["id"],
408
+ name="app-terraform")
409
+ example = aiven.OrganizationApplicationUserToken("example",
410
+ organization_id=main["id"],
411
+ user_id=tf_user.user_id,
412
+ description="Token for TF access to Aiven.")
413
+ ```
414
+
415
+ ## Import
416
+
417
+ ```sh
418
+ $ pulumi import aiven:index/organizationApplicationUserToken:OrganizationApplicationUserToken example ORGANIZATION_ID/USER_ID/TOKEN_PREFIX
419
+ ```
420
+
421
+ :param str resource_name: The name of the resource.
422
+ :param pulumi.ResourceOptions opts: Options for the resource.
423
+ :param pulumi.Input[str] description: Description of the token.
424
+ :param pulumi.Input[bool] extend_when_used: Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
425
+ :param pulumi.Input[int] max_age_seconds: The number of hours after which a token expires. Default session duration is 10 hours.
426
+ :param pulumi.Input[str] organization_id: The ID of the organization the application user belongs to.
427
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
428
+ :param pulumi.Input[str] user_id: The ID of the application user the token is created for.
429
+ """
430
+ ...
431
+ @overload
432
+ def __init__(__self__,
433
+ resource_name: str,
434
+ args: OrganizationApplicationUserTokenArgs,
435
+ opts: Optional[pulumi.ResourceOptions] = None):
436
+ """
437
+ Creates and manages an application user token. Review the [best practices](https://aiven.io/docs/platform/concepts/application-users#security-best-practices) for securing application users and their tokens.
438
+
439
+ ## Example Usage
440
+
441
+ ```python
442
+ import pulumi
443
+ import pulumi_aiven as aiven
444
+
445
+ tf_user = aiven.OrganizationApplicationUser("tf_user",
446
+ organization_id=main["id"],
447
+ name="app-terraform")
448
+ example = aiven.OrganizationApplicationUserToken("example",
449
+ organization_id=main["id"],
450
+ user_id=tf_user.user_id,
451
+ description="Token for TF access to Aiven.")
452
+ ```
453
+
454
+ ## Import
455
+
456
+ ```sh
457
+ $ pulumi import aiven:index/organizationApplicationUserToken:OrganizationApplicationUserToken example ORGANIZATION_ID/USER_ID/TOKEN_PREFIX
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param OrganizationApplicationUserTokenArgs args: The arguments to use to populate this resource's properties.
462
+ :param pulumi.ResourceOptions opts: Options for the resource.
463
+ """
464
+ ...
465
+ def __init__(__self__, resource_name: str, *args, **kwargs):
466
+ resource_args, opts = _utilities.get_resource_args_opts(OrganizationApplicationUserTokenArgs, pulumi.ResourceOptions, *args, **kwargs)
467
+ if resource_args is not None:
468
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
469
+ else:
470
+ __self__._internal_init(resource_name, *args, **kwargs)
471
+
472
+ def _internal_init(__self__,
473
+ resource_name: str,
474
+ opts: Optional[pulumi.ResourceOptions] = None,
475
+ description: Optional[pulumi.Input[str]] = None,
476
+ extend_when_used: Optional[pulumi.Input[bool]] = None,
477
+ max_age_seconds: Optional[pulumi.Input[int]] = None,
478
+ organization_id: Optional[pulumi.Input[str]] = None,
479
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
480
+ user_id: Optional[pulumi.Input[str]] = None,
481
+ __props__=None):
482
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
483
+ if not isinstance(opts, pulumi.ResourceOptions):
484
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
485
+ if opts.id is None:
486
+ if __props__ is not None:
487
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
488
+ __props__ = OrganizationApplicationUserTokenArgs.__new__(OrganizationApplicationUserTokenArgs)
489
+
490
+ __props__.__dict__["description"] = description
491
+ __props__.__dict__["extend_when_used"] = extend_when_used
492
+ __props__.__dict__["max_age_seconds"] = max_age_seconds
493
+ if organization_id is None and not opts.urn:
494
+ raise TypeError("Missing required property 'organization_id'")
495
+ __props__.__dict__["organization_id"] = organization_id
496
+ __props__.__dict__["scopes"] = scopes
497
+ if user_id is None and not opts.urn:
498
+ raise TypeError("Missing required property 'user_id'")
499
+ __props__.__dict__["user_id"] = user_id
500
+ __props__.__dict__["create_time"] = None
501
+ __props__.__dict__["created_manually"] = None
502
+ __props__.__dict__["currently_active"] = None
503
+ __props__.__dict__["expiry_time"] = None
504
+ __props__.__dict__["full_token"] = None
505
+ __props__.__dict__["last_ip"] = None
506
+ __props__.__dict__["last_used_time"] = None
507
+ __props__.__dict__["last_user_agent"] = None
508
+ __props__.__dict__["last_user_agent_human_readable"] = None
509
+ __props__.__dict__["token_prefix"] = None
510
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["fullToken"])
511
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
512
+ super(OrganizationApplicationUserToken, __self__).__init__(
513
+ 'aiven:index/organizationApplicationUserToken:OrganizationApplicationUserToken',
514
+ resource_name,
515
+ __props__,
516
+ opts)
517
+
518
+ @staticmethod
519
+ def get(resource_name: str,
520
+ id: pulumi.Input[str],
521
+ opts: Optional[pulumi.ResourceOptions] = None,
522
+ create_time: Optional[pulumi.Input[str]] = None,
523
+ created_manually: Optional[pulumi.Input[bool]] = None,
524
+ currently_active: Optional[pulumi.Input[bool]] = None,
525
+ description: Optional[pulumi.Input[str]] = None,
526
+ expiry_time: Optional[pulumi.Input[str]] = None,
527
+ extend_when_used: Optional[pulumi.Input[bool]] = None,
528
+ full_token: Optional[pulumi.Input[str]] = None,
529
+ last_ip: Optional[pulumi.Input[str]] = None,
530
+ last_used_time: Optional[pulumi.Input[str]] = None,
531
+ last_user_agent: Optional[pulumi.Input[str]] = None,
532
+ last_user_agent_human_readable: Optional[pulumi.Input[str]] = None,
533
+ max_age_seconds: Optional[pulumi.Input[int]] = None,
534
+ organization_id: Optional[pulumi.Input[str]] = None,
535
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
536
+ token_prefix: Optional[pulumi.Input[str]] = None,
537
+ user_id: Optional[pulumi.Input[str]] = None) -> 'OrganizationApplicationUserToken':
538
+ """
539
+ Get an existing OrganizationApplicationUserToken resource's state with the given name, id, and optional extra
540
+ properties used to qualify the lookup.
541
+
542
+ :param str resource_name: The unique name of the resulting resource.
543
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
544
+ :param pulumi.ResourceOptions opts: Options for the resource.
545
+ :param pulumi.Input[str] create_time: Time when the token was created.
546
+ :param pulumi.Input[bool] created_manually: True for tokens explicitly created using the `access_tokens` API. False for tokens created when a user logs in.
547
+ :param pulumi.Input[bool] currently_active: True if the API request was made with this token.
548
+ :param pulumi.Input[str] description: Description of the token.
549
+ :param pulumi.Input[str] expiry_time: Timestamp when the access token will expire unless extended.
550
+ :param pulumi.Input[bool] extend_when_used: Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
551
+ :param pulumi.Input[str] full_token: Full token.
552
+ :param pulumi.Input[str] last_ip: IP address of the last request made with this token.
553
+ :param pulumi.Input[str] last_used_time: Timestamp when the access token was last used.
554
+ :param pulumi.Input[str] last_user_agent: User agent of the last request made with this token.
555
+ :param pulumi.Input[str] last_user_agent_human_readable: User agent of the last request made with this token in human-readable format.
556
+ :param pulumi.Input[int] max_age_seconds: The number of hours after which a token expires. Default session duration is 10 hours.
557
+ :param pulumi.Input[str] organization_id: The ID of the organization the application user belongs to.
558
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scopes: Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
559
+ :param pulumi.Input[str] token_prefix: Prefix of the token.
560
+ :param pulumi.Input[str] user_id: The ID of the application user the token is created for.
561
+ """
562
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
563
+
564
+ __props__ = _OrganizationApplicationUserTokenState.__new__(_OrganizationApplicationUserTokenState)
565
+
566
+ __props__.__dict__["create_time"] = create_time
567
+ __props__.__dict__["created_manually"] = created_manually
568
+ __props__.__dict__["currently_active"] = currently_active
569
+ __props__.__dict__["description"] = description
570
+ __props__.__dict__["expiry_time"] = expiry_time
571
+ __props__.__dict__["extend_when_used"] = extend_when_used
572
+ __props__.__dict__["full_token"] = full_token
573
+ __props__.__dict__["last_ip"] = last_ip
574
+ __props__.__dict__["last_used_time"] = last_used_time
575
+ __props__.__dict__["last_user_agent"] = last_user_agent
576
+ __props__.__dict__["last_user_agent_human_readable"] = last_user_agent_human_readable
577
+ __props__.__dict__["max_age_seconds"] = max_age_seconds
578
+ __props__.__dict__["organization_id"] = organization_id
579
+ __props__.__dict__["scopes"] = scopes
580
+ __props__.__dict__["token_prefix"] = token_prefix
581
+ __props__.__dict__["user_id"] = user_id
582
+ return OrganizationApplicationUserToken(resource_name, opts=opts, __props__=__props__)
583
+
584
+ @property
585
+ @pulumi.getter(name="createTime")
586
+ def create_time(self) -> pulumi.Output[str]:
587
+ """
588
+ Time when the token was created.
589
+ """
590
+ return pulumi.get(self, "create_time")
591
+
592
+ @property
593
+ @pulumi.getter(name="createdManually")
594
+ def created_manually(self) -> pulumi.Output[bool]:
595
+ """
596
+ True for tokens explicitly created using the `access_tokens` API. False for tokens created when a user logs in.
597
+ """
598
+ return pulumi.get(self, "created_manually")
599
+
600
+ @property
601
+ @pulumi.getter(name="currentlyActive")
602
+ def currently_active(self) -> pulumi.Output[bool]:
603
+ """
604
+ True if the API request was made with this token.
605
+ """
606
+ return pulumi.get(self, "currently_active")
607
+
608
+ @property
609
+ @pulumi.getter
610
+ def description(self) -> pulumi.Output[Optional[str]]:
611
+ """
612
+ Description of the token.
613
+ """
614
+ return pulumi.get(self, "description")
615
+
616
+ @property
617
+ @pulumi.getter(name="expiryTime")
618
+ def expiry_time(self) -> pulumi.Output[str]:
619
+ """
620
+ Timestamp when the access token will expire unless extended.
621
+ """
622
+ return pulumi.get(self, "expiry_time")
623
+
624
+ @property
625
+ @pulumi.getter(name="extendWhenUsed")
626
+ def extend_when_used(self) -> pulumi.Output[Optional[bool]]:
627
+ """
628
+ Extends the token session duration when the token is used. Only applicable if a value is set for `max_age_seconds`.
629
+ """
630
+ return pulumi.get(self, "extend_when_used")
631
+
632
+ @property
633
+ @pulumi.getter(name="fullToken")
634
+ def full_token(self) -> pulumi.Output[str]:
635
+ """
636
+ Full token.
637
+ """
638
+ return pulumi.get(self, "full_token")
639
+
640
+ @property
641
+ @pulumi.getter(name="lastIp")
642
+ def last_ip(self) -> pulumi.Output[str]:
643
+ """
644
+ IP address of the last request made with this token.
645
+ """
646
+ return pulumi.get(self, "last_ip")
647
+
648
+ @property
649
+ @pulumi.getter(name="lastUsedTime")
650
+ def last_used_time(self) -> pulumi.Output[str]:
651
+ """
652
+ Timestamp when the access token was last used.
653
+ """
654
+ return pulumi.get(self, "last_used_time")
655
+
656
+ @property
657
+ @pulumi.getter(name="lastUserAgent")
658
+ def last_user_agent(self) -> pulumi.Output[str]:
659
+ """
660
+ User agent of the last request made with this token.
661
+ """
662
+ return pulumi.get(self, "last_user_agent")
663
+
664
+ @property
665
+ @pulumi.getter(name="lastUserAgentHumanReadable")
666
+ def last_user_agent_human_readable(self) -> pulumi.Output[str]:
667
+ """
668
+ User agent of the last request made with this token in human-readable format.
669
+ """
670
+ return pulumi.get(self, "last_user_agent_human_readable")
671
+
672
+ @property
673
+ @pulumi.getter(name="maxAgeSeconds")
674
+ def max_age_seconds(self) -> pulumi.Output[Optional[int]]:
675
+ """
676
+ The number of hours after which a token expires. Default session duration is 10 hours.
677
+ """
678
+ return pulumi.get(self, "max_age_seconds")
679
+
680
+ @property
681
+ @pulumi.getter(name="organizationId")
682
+ def organization_id(self) -> pulumi.Output[str]:
683
+ """
684
+ The ID of the organization the application user belongs to.
685
+ """
686
+ return pulumi.get(self, "organization_id")
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def scopes(self) -> pulumi.Output[Optional[Sequence[str]]]:
691
+ """
692
+ Limits access to specific resources by granting read or write privileges to them. For example: `billing:read`. Available scopes are: `authentication`, `billing`, `payments` for [payment methods](https://aiven.io/docs/platform/howto/list-billing), `privatelink`, `projects`, `services`, `static_ips`, and `user`.
693
+ """
694
+ return pulumi.get(self, "scopes")
695
+
696
+ @property
697
+ @pulumi.getter(name="tokenPrefix")
698
+ def token_prefix(self) -> pulumi.Output[str]:
699
+ """
700
+ Prefix of the token.
701
+ """
702
+ return pulumi.get(self, "token_prefix")
703
+
704
+ @property
705
+ @pulumi.getter(name="userId")
706
+ def user_id(self) -> pulumi.Output[str]:
707
+ """
708
+ The ID of the application user the token is created for.
709
+ """
710
+ return pulumi.get(self, "user_id")
711
+