pulumi-aiven 6.13.0a1710156545__py3-none-any.whl → 6.31.0a1736831339__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-aiven might be problematic. Click here for more details.

Files changed (168) hide show
  1. pulumi_aiven/__init__.py +127 -0
  2. pulumi_aiven/_inputs.py +32615 -13711
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +32 -45
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +35 -14
  7. pulumi_aiven/account_team_member.py +48 -39
  8. pulumi_aiven/account_team_project.py +40 -27
  9. pulumi_aiven/alloydbomni.py +1335 -0
  10. pulumi_aiven/alloydbomni_database.py +347 -0
  11. pulumi_aiven/alloydbomni_user.py +433 -0
  12. pulumi_aiven/aws_privatelink.py +44 -43
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -61
  14. pulumi_aiven/azure_privatelink.py +54 -53
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -77
  17. pulumi_aiven/billing_group.py +33 -34
  18. pulumi_aiven/cassandra.py +145 -126
  19. pulumi_aiven/cassandra_user.py +59 -58
  20. pulumi_aiven/clickhouse.py +133 -114
  21. pulumi_aiven/clickhouse_database.py +58 -62
  22. pulumi_aiven/clickhouse_grant.py +135 -134
  23. pulumi_aiven/clickhouse_role.py +36 -49
  24. pulumi_aiven/clickhouse_user.py +50 -49
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -66
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -104
  30. pulumi_aiven/flink_application.py +58 -55
  31. pulumi_aiven/flink_application_deployment.py +178 -73
  32. pulumi_aiven/flink_application_version.py +179 -96
  33. pulumi_aiven/gcp_privatelink.py +69 -42
  34. pulumi_aiven/gcp_privatelink_connection_approval.py +78 -49
  35. pulumi_aiven/gcp_vpc_peering_connection.py +49 -48
  36. pulumi_aiven/get_account.py +20 -9
  37. pulumi_aiven/get_account_authentication.py +31 -5
  38. pulumi_aiven/get_account_team.py +18 -5
  39. pulumi_aiven/get_account_team_member.py +29 -14
  40. pulumi_aiven/get_account_team_project.py +19 -6
  41. pulumi_aiven/get_alloydbomni.py +499 -0
  42. pulumi_aiven/get_alloydbomni_database.py +168 -0
  43. pulumi_aiven/get_alloydbomni_user.py +210 -0
  44. pulumi_aiven/get_aws_privatelink.py +33 -24
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -33
  46. pulumi_aiven/get_azure_privatelink.py +37 -26
  47. pulumi_aiven/get_azure_vpc_peering_connection.py +77 -28
  48. pulumi_aiven/get_billing_group.py +31 -8
  49. pulumi_aiven/get_cassanda.py +55 -23
  50. pulumi_aiven/get_cassandra.py +55 -23
  51. pulumi_aiven/get_cassandra_user.py +42 -30
  52. pulumi_aiven/get_clickhouse.py +55 -23
  53. pulumi_aiven/get_clickhouse_database.py +35 -26
  54. pulumi_aiven/get_clickhouse_user.py +40 -29
  55. pulumi_aiven/get_connection_pool.py +43 -30
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -23
  59. pulumi_aiven/get_flink_application.py +44 -31
  60. pulumi_aiven/get_flink_application_version.py +55 -37
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -28
  63. pulumi_aiven/get_grafana.py +55 -23
  64. pulumi_aiven/get_influx_db.py +41 -5
  65. pulumi_aiven/get_influxdb_database.py +18 -5
  66. pulumi_aiven/get_influxdb_user.py +21 -5
  67. pulumi_aiven/get_kafka.py +59 -25
  68. pulumi_aiven/get_kafka_acl.py +50 -37
  69. pulumi_aiven/get_kafka_connect.py +54 -36
  70. pulumi_aiven/get_kafka_connector.py +44 -28
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -32
  72. pulumi_aiven/get_kafka_schema.py +35 -23
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -21
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -29
  76. pulumi_aiven/get_kafka_user.py +42 -30
  77. pulumi_aiven/get_m3_aggregator.py +51 -19
  78. pulumi_aiven/get_m3_db.py +55 -23
  79. pulumi_aiven/get_m3db_user.py +38 -28
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -25
  81. pulumi_aiven/get_my_sql.py +50 -18
  82. pulumi_aiven/get_mysql_database.py +31 -22
  83. pulumi_aiven/get_mysql_user.py +36 -23
  84. pulumi_aiven/get_open_search.py +50 -18
  85. pulumi_aiven/get_open_search_acl_config.py +27 -19
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -25
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -19
  88. pulumi_aiven/get_opensearch_user.py +32 -22
  89. pulumi_aiven/get_organization.py +25 -17
  90. pulumi_aiven/get_organization_application_user.py +176 -0
  91. pulumi_aiven/get_organization_user.py +18 -5
  92. pulumi_aiven/get_organization_user_group.py +48 -14
  93. pulumi_aiven/get_organization_user_list.py +121 -0
  94. pulumi_aiven/get_organizational_unit.py +26 -14
  95. pulumi_aiven/get_pg.py +55 -23
  96. pulumi_aiven/get_pg_database.py +39 -28
  97. pulumi_aiven/get_pg_user.py +44 -31
  98. pulumi_aiven/get_project.py +43 -26
  99. pulumi_aiven/get_project_user.py +27 -19
  100. pulumi_aiven/get_project_vpc.py +31 -23
  101. pulumi_aiven/get_redis.py +50 -18
  102. pulumi_aiven/get_redis_user.py +40 -26
  103. pulumi_aiven/get_service_component.py +40 -22
  104. pulumi_aiven/get_service_integration.py +163 -53
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -37
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -22
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -322
  111. pulumi_aiven/influx_db.py +127 -90
  112. pulumi_aiven/influxdb_database.py +40 -55
  113. pulumi_aiven/influxdb_user.py +47 -42
  114. pulumi_aiven/kafka.py +157 -144
  115. pulumi_aiven/kafka_acl.py +64 -57
  116. pulumi_aiven/kafka_connect.py +201 -332
  117. pulumi_aiven/kafka_connector.py +67 -60
  118. pulumi_aiven/kafka_mirror_maker.py +137 -320
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_schema.py +63 -58
  121. pulumi_aiven/kafka_schema_configuration.py +25 -24
  122. pulumi_aiven/kafka_schema_registry_acl.py +80 -35
  123. pulumi_aiven/kafka_topic.py +184 -65
  124. pulumi_aiven/kafka_user.py +59 -58
  125. pulumi_aiven/m3_aggregator.py +174 -310
  126. pulumi_aiven/m3_db.py +190 -326
  127. pulumi_aiven/m3db_user.py +51 -50
  128. pulumi_aiven/mirror_maker_replication_flow.py +215 -55
  129. pulumi_aiven/my_sql.py +188 -324
  130. pulumi_aiven/mysql_database.py +32 -51
  131. pulumi_aiven/mysql_user.py +37 -36
  132. pulumi_aiven/open_search.py +126 -107
  133. pulumi_aiven/open_search_acl_config.py +33 -36
  134. pulumi_aiven/open_search_acl_rule.py +55 -54
  135. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  136. pulumi_aiven/opensearch_user.py +30 -29
  137. pulumi_aiven/organization.py +18 -17
  138. pulumi_aiven/organization_application_user.py +345 -0
  139. pulumi_aiven/organization_application_user_token.py +711 -0
  140. pulumi_aiven/organization_group_project.py +349 -0
  141. pulumi_aiven/organization_permission.py +421 -0
  142. pulumi_aiven/organization_user.py +25 -46
  143. pulumi_aiven/organization_user_group.py +64 -23
  144. pulumi_aiven/organization_user_group_member.py +359 -0
  145. pulumi_aiven/organizational_unit.py +41 -36
  146. pulumi_aiven/outputs.py +38355 -21458
  147. pulumi_aiven/pg.py +92 -88
  148. pulumi_aiven/pg_database.py +52 -71
  149. pulumi_aiven/pg_user.py +80 -65
  150. pulumi_aiven/project.py +111 -102
  151. pulumi_aiven/project_user.py +44 -35
  152. pulumi_aiven/project_vpc.py +58 -29
  153. pulumi_aiven/provider.py +5 -0
  154. pulumi_aiven/pulumi-plugin.json +2 -1
  155. pulumi_aiven/redis.py +161 -297
  156. pulumi_aiven/redis_user.py +58 -57
  157. pulumi_aiven/service_integration.py +511 -165
  158. pulumi_aiven/service_integration_endpoint.py +466 -158
  159. pulumi_aiven/static_ip.py +21 -16
  160. pulumi_aiven/thanos.py +1262 -0
  161. pulumi_aiven/transit_gateway_vpc_attachment.py +44 -58
  162. pulumi_aiven/valkey.py +1256 -0
  163. pulumi_aiven/valkey_user.py +606 -0
  164. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/METADATA +7 -6
  165. pulumi_aiven-6.31.0a1736831339.dist-info/RECORD +169 -0
  166. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/WHEEL +1 -1
  167. pulumi_aiven-6.13.0a1710156545.dist-info/RECORD +0 -146
  168. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0a1736831339.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,499 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetThanosResult',
20
+ 'AwaitableGetThanosResult',
21
+ 'get_thanos',
22
+ 'get_thanos_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetThanosResult:
27
+ """
28
+ A collection of values returned by getThanos.
29
+ """
30
+ def __init__(__self__, additional_disk_space=None, cloud_name=None, components=None, disk_space=None, disk_space_cap=None, disk_space_default=None, disk_space_step=None, disk_space_used=None, id=None, maintenance_window_dow=None, maintenance_window_time=None, plan=None, project=None, project_vpc_id=None, service_host=None, service_integrations=None, service_name=None, service_password=None, service_port=None, service_type=None, service_uri=None, service_username=None, state=None, static_ips=None, tags=None, tech_emails=None, termination_protection=None, thanos=None, thanos_user_configs=None):
31
+ if additional_disk_space and not isinstance(additional_disk_space, str):
32
+ raise TypeError("Expected argument 'additional_disk_space' to be a str")
33
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
34
+ if cloud_name and not isinstance(cloud_name, str):
35
+ raise TypeError("Expected argument 'cloud_name' to be a str")
36
+ pulumi.set(__self__, "cloud_name", cloud_name)
37
+ if components and not isinstance(components, list):
38
+ raise TypeError("Expected argument 'components' to be a list")
39
+ pulumi.set(__self__, "components", components)
40
+ if disk_space and not isinstance(disk_space, str):
41
+ raise TypeError("Expected argument 'disk_space' to be a str")
42
+ pulumi.set(__self__, "disk_space", disk_space)
43
+ if disk_space_cap and not isinstance(disk_space_cap, str):
44
+ raise TypeError("Expected argument 'disk_space_cap' to be a str")
45
+ pulumi.set(__self__, "disk_space_cap", disk_space_cap)
46
+ if disk_space_default and not isinstance(disk_space_default, str):
47
+ raise TypeError("Expected argument 'disk_space_default' to be a str")
48
+ pulumi.set(__self__, "disk_space_default", disk_space_default)
49
+ if disk_space_step and not isinstance(disk_space_step, str):
50
+ raise TypeError("Expected argument 'disk_space_step' to be a str")
51
+ pulumi.set(__self__, "disk_space_step", disk_space_step)
52
+ if disk_space_used and not isinstance(disk_space_used, str):
53
+ raise TypeError("Expected argument 'disk_space_used' to be a str")
54
+ pulumi.set(__self__, "disk_space_used", disk_space_used)
55
+ if id and not isinstance(id, str):
56
+ raise TypeError("Expected argument 'id' to be a str")
57
+ pulumi.set(__self__, "id", id)
58
+ if maintenance_window_dow and not isinstance(maintenance_window_dow, str):
59
+ raise TypeError("Expected argument 'maintenance_window_dow' to be a str")
60
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
61
+ if maintenance_window_time and not isinstance(maintenance_window_time, str):
62
+ raise TypeError("Expected argument 'maintenance_window_time' to be a str")
63
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
64
+ if plan and not isinstance(plan, str):
65
+ raise TypeError("Expected argument 'plan' to be a str")
66
+ pulumi.set(__self__, "plan", plan)
67
+ if project and not isinstance(project, str):
68
+ raise TypeError("Expected argument 'project' to be a str")
69
+ pulumi.set(__self__, "project", project)
70
+ if project_vpc_id and not isinstance(project_vpc_id, str):
71
+ raise TypeError("Expected argument 'project_vpc_id' to be a str")
72
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
73
+ if service_host and not isinstance(service_host, str):
74
+ raise TypeError("Expected argument 'service_host' to be a str")
75
+ pulumi.set(__self__, "service_host", service_host)
76
+ if service_integrations and not isinstance(service_integrations, list):
77
+ raise TypeError("Expected argument 'service_integrations' to be a list")
78
+ pulumi.set(__self__, "service_integrations", service_integrations)
79
+ if service_name and not isinstance(service_name, str):
80
+ raise TypeError("Expected argument 'service_name' to be a str")
81
+ pulumi.set(__self__, "service_name", service_name)
82
+ if service_password and not isinstance(service_password, str):
83
+ raise TypeError("Expected argument 'service_password' to be a str")
84
+ pulumi.set(__self__, "service_password", service_password)
85
+ if service_port and not isinstance(service_port, int):
86
+ raise TypeError("Expected argument 'service_port' to be a int")
87
+ pulumi.set(__self__, "service_port", service_port)
88
+ if service_type and not isinstance(service_type, str):
89
+ raise TypeError("Expected argument 'service_type' to be a str")
90
+ pulumi.set(__self__, "service_type", service_type)
91
+ if service_uri and not isinstance(service_uri, str):
92
+ raise TypeError("Expected argument 'service_uri' to be a str")
93
+ pulumi.set(__self__, "service_uri", service_uri)
94
+ if service_username and not isinstance(service_username, str):
95
+ raise TypeError("Expected argument 'service_username' to be a str")
96
+ pulumi.set(__self__, "service_username", service_username)
97
+ if state and not isinstance(state, str):
98
+ raise TypeError("Expected argument 'state' to be a str")
99
+ pulumi.set(__self__, "state", state)
100
+ if static_ips and not isinstance(static_ips, list):
101
+ raise TypeError("Expected argument 'static_ips' to be a list")
102
+ pulumi.set(__self__, "static_ips", static_ips)
103
+ if tags and not isinstance(tags, list):
104
+ raise TypeError("Expected argument 'tags' to be a list")
105
+ pulumi.set(__self__, "tags", tags)
106
+ if tech_emails and not isinstance(tech_emails, list):
107
+ raise TypeError("Expected argument 'tech_emails' to be a list")
108
+ pulumi.set(__self__, "tech_emails", tech_emails)
109
+ if termination_protection and not isinstance(termination_protection, bool):
110
+ raise TypeError("Expected argument 'termination_protection' to be a bool")
111
+ pulumi.set(__self__, "termination_protection", termination_protection)
112
+ if thanos and not isinstance(thanos, list):
113
+ raise TypeError("Expected argument 'thanos' to be a list")
114
+ pulumi.set(__self__, "thanos", thanos)
115
+ if thanos_user_configs and not isinstance(thanos_user_configs, list):
116
+ raise TypeError("Expected argument 'thanos_user_configs' to be a list")
117
+ pulumi.set(__self__, "thanos_user_configs", thanos_user_configs)
118
+
119
+ @property
120
+ @pulumi.getter(name="additionalDiskSpace")
121
+ def additional_disk_space(self) -> str:
122
+ """
123
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
124
+ """
125
+ return pulumi.get(self, "additional_disk_space")
126
+
127
+ @property
128
+ @pulumi.getter(name="cloudName")
129
+ def cloud_name(self) -> str:
130
+ """
131
+ Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
132
+ """
133
+ return pulumi.get(self, "cloud_name")
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def components(self) -> Sequence['outputs.GetThanosComponentResult']:
138
+ """
139
+ Service component information objects
140
+ """
141
+ return pulumi.get(self, "components")
142
+
143
+ @property
144
+ @pulumi.getter(name="diskSpace")
145
+ def disk_space(self) -> str:
146
+ """
147
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
148
+ """
149
+ return pulumi.get(self, "disk_space")
150
+
151
+ @property
152
+ @pulumi.getter(name="diskSpaceCap")
153
+ def disk_space_cap(self) -> str:
154
+ """
155
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
156
+ """
157
+ return pulumi.get(self, "disk_space_cap")
158
+
159
+ @property
160
+ @pulumi.getter(name="diskSpaceDefault")
161
+ def disk_space_default(self) -> str:
162
+ """
163
+ The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `disk_space`
164
+ """
165
+ return pulumi.get(self, "disk_space_default")
166
+
167
+ @property
168
+ @pulumi.getter(name="diskSpaceStep")
169
+ def disk_space_step(self) -> str:
170
+ """
171
+ The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
172
+ """
173
+ return pulumi.get(self, "disk_space_step")
174
+
175
+ @property
176
+ @pulumi.getter(name="diskSpaceUsed")
177
+ def disk_space_used(self) -> str:
178
+ """
179
+ Disk space that service is currently using
180
+ """
181
+ return pulumi.get(self, "disk_space_used")
182
+
183
+ @property
184
+ @pulumi.getter
185
+ def id(self) -> str:
186
+ """
187
+ The provider-assigned unique ID for this managed resource.
188
+ """
189
+ return pulumi.get(self, "id")
190
+
191
+ @property
192
+ @pulumi.getter(name="maintenanceWindowDow")
193
+ def maintenance_window_dow(self) -> str:
194
+ """
195
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
196
+ """
197
+ return pulumi.get(self, "maintenance_window_dow")
198
+
199
+ @property
200
+ @pulumi.getter(name="maintenanceWindowTime")
201
+ def maintenance_window_time(self) -> str:
202
+ """
203
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
204
+ """
205
+ return pulumi.get(self, "maintenance_window_time")
206
+
207
+ @property
208
+ @pulumi.getter
209
+ def plan(self) -> str:
210
+ """
211
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
212
+ """
213
+ return pulumi.get(self, "plan")
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def project(self) -> str:
218
+ """
219
+ The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
220
+ """
221
+ return pulumi.get(self, "project")
222
+
223
+ @property
224
+ @pulumi.getter(name="projectVpcId")
225
+ def project_vpc_id(self) -> str:
226
+ """
227
+ Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
228
+ """
229
+ return pulumi.get(self, "project_vpc_id")
230
+
231
+ @property
232
+ @pulumi.getter(name="serviceHost")
233
+ def service_host(self) -> str:
234
+ """
235
+ The hostname of the service.
236
+ """
237
+ return pulumi.get(self, "service_host")
238
+
239
+ @property
240
+ @pulumi.getter(name="serviceIntegrations")
241
+ def service_integrations(self) -> Sequence['outputs.GetThanosServiceIntegrationResult']:
242
+ """
243
+ Service integrations to specify when creating a service. Not applied after initial service creation
244
+ """
245
+ return pulumi.get(self, "service_integrations")
246
+
247
+ @property
248
+ @pulumi.getter(name="serviceName")
249
+ def service_name(self) -> str:
250
+ """
251
+ Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
252
+ """
253
+ return pulumi.get(self, "service_name")
254
+
255
+ @property
256
+ @pulumi.getter(name="servicePassword")
257
+ def service_password(self) -> str:
258
+ """
259
+ Password used for connecting to the service, if applicable
260
+ """
261
+ return pulumi.get(self, "service_password")
262
+
263
+ @property
264
+ @pulumi.getter(name="servicePort")
265
+ def service_port(self) -> int:
266
+ """
267
+ The port of the service
268
+ """
269
+ return pulumi.get(self, "service_port")
270
+
271
+ @property
272
+ @pulumi.getter(name="serviceType")
273
+ def service_type(self) -> str:
274
+ """
275
+ Aiven internal service type code
276
+ """
277
+ return pulumi.get(self, "service_type")
278
+
279
+ @property
280
+ @pulumi.getter(name="serviceUri")
281
+ def service_uri(self) -> str:
282
+ """
283
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
284
+ """
285
+ return pulumi.get(self, "service_uri")
286
+
287
+ @property
288
+ @pulumi.getter(name="serviceUsername")
289
+ def service_username(self) -> str:
290
+ """
291
+ Username used for connecting to the service, if applicable
292
+ """
293
+ return pulumi.get(self, "service_username")
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def state(self) -> str:
298
+ """
299
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
300
+ """
301
+ return pulumi.get(self, "state")
302
+
303
+ @property
304
+ @pulumi.getter(name="staticIps")
305
+ def static_ips(self) -> Sequence[str]:
306
+ """
307
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
308
+ """
309
+ return pulumi.get(self, "static_ips")
310
+
311
+ @property
312
+ @pulumi.getter
313
+ def tags(self) -> Sequence['outputs.GetThanosTagResult']:
314
+ """
315
+ Tags are key-value pairs that allow you to categorize services.
316
+ """
317
+ return pulumi.get(self, "tags")
318
+
319
+ @property
320
+ @pulumi.getter(name="techEmails")
321
+ def tech_emails(self) -> Sequence['outputs.GetThanosTechEmailResult']:
322
+ """
323
+ The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
324
+ """
325
+ return pulumi.get(self, "tech_emails")
326
+
327
+ @property
328
+ @pulumi.getter(name="terminationProtection")
329
+ def termination_protection(self) -> bool:
330
+ """
331
+ Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
332
+ """
333
+ return pulumi.get(self, "termination_protection")
334
+
335
+ @property
336
+ @pulumi.getter
337
+ def thanos(self) -> Sequence['outputs.GetThanosThanoResult']:
338
+ """
339
+ Thanos server connection details.
340
+ """
341
+ return pulumi.get(self, "thanos")
342
+
343
+ @property
344
+ @pulumi.getter(name="thanosUserConfigs")
345
+ def thanos_user_configs(self) -> Sequence['outputs.GetThanosThanosUserConfigResult']:
346
+ """
347
+ Thanos user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
348
+ """
349
+ return pulumi.get(self, "thanos_user_configs")
350
+
351
+
352
+ class AwaitableGetThanosResult(GetThanosResult):
353
+ # pylint: disable=using-constant-test
354
+ def __await__(self):
355
+ if False:
356
+ yield self
357
+ return GetThanosResult(
358
+ additional_disk_space=self.additional_disk_space,
359
+ cloud_name=self.cloud_name,
360
+ components=self.components,
361
+ disk_space=self.disk_space,
362
+ disk_space_cap=self.disk_space_cap,
363
+ disk_space_default=self.disk_space_default,
364
+ disk_space_step=self.disk_space_step,
365
+ disk_space_used=self.disk_space_used,
366
+ id=self.id,
367
+ maintenance_window_dow=self.maintenance_window_dow,
368
+ maintenance_window_time=self.maintenance_window_time,
369
+ plan=self.plan,
370
+ project=self.project,
371
+ project_vpc_id=self.project_vpc_id,
372
+ service_host=self.service_host,
373
+ service_integrations=self.service_integrations,
374
+ service_name=self.service_name,
375
+ service_password=self.service_password,
376
+ service_port=self.service_port,
377
+ service_type=self.service_type,
378
+ service_uri=self.service_uri,
379
+ service_username=self.service_username,
380
+ state=self.state,
381
+ static_ips=self.static_ips,
382
+ tags=self.tags,
383
+ tech_emails=self.tech_emails,
384
+ termination_protection=self.termination_protection,
385
+ thanos=self.thanos,
386
+ thanos_user_configs=self.thanos_user_configs)
387
+
388
+
389
+ def get_thanos(project: Optional[str] = None,
390
+ service_name: Optional[str] = None,
391
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetThanosResult:
392
+ """
393
+ Gets information about an Aiven for Thanos® service.
394
+
395
+ ## Example Usage
396
+
397
+ ```python
398
+ import pulumi
399
+ import pulumi_aiven as aiven
400
+
401
+ example_thanos = aiven.get_thanos(project=example_project["project"],
402
+ service_name="example-thanos-service")
403
+ ```
404
+
405
+
406
+ :param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
407
+ :param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
408
+ """
409
+ __args__ = dict()
410
+ __args__['project'] = project
411
+ __args__['serviceName'] = service_name
412
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
413
+ __ret__ = pulumi.runtime.invoke('aiven:index/getThanos:getThanos', __args__, opts=opts, typ=GetThanosResult).value
414
+
415
+ return AwaitableGetThanosResult(
416
+ additional_disk_space=pulumi.get(__ret__, 'additional_disk_space'),
417
+ cloud_name=pulumi.get(__ret__, 'cloud_name'),
418
+ components=pulumi.get(__ret__, 'components'),
419
+ disk_space=pulumi.get(__ret__, 'disk_space'),
420
+ disk_space_cap=pulumi.get(__ret__, 'disk_space_cap'),
421
+ disk_space_default=pulumi.get(__ret__, 'disk_space_default'),
422
+ disk_space_step=pulumi.get(__ret__, 'disk_space_step'),
423
+ disk_space_used=pulumi.get(__ret__, 'disk_space_used'),
424
+ id=pulumi.get(__ret__, 'id'),
425
+ maintenance_window_dow=pulumi.get(__ret__, 'maintenance_window_dow'),
426
+ maintenance_window_time=pulumi.get(__ret__, 'maintenance_window_time'),
427
+ plan=pulumi.get(__ret__, 'plan'),
428
+ project=pulumi.get(__ret__, 'project'),
429
+ project_vpc_id=pulumi.get(__ret__, 'project_vpc_id'),
430
+ service_host=pulumi.get(__ret__, 'service_host'),
431
+ service_integrations=pulumi.get(__ret__, 'service_integrations'),
432
+ service_name=pulumi.get(__ret__, 'service_name'),
433
+ service_password=pulumi.get(__ret__, 'service_password'),
434
+ service_port=pulumi.get(__ret__, 'service_port'),
435
+ service_type=pulumi.get(__ret__, 'service_type'),
436
+ service_uri=pulumi.get(__ret__, 'service_uri'),
437
+ service_username=pulumi.get(__ret__, 'service_username'),
438
+ state=pulumi.get(__ret__, 'state'),
439
+ static_ips=pulumi.get(__ret__, 'static_ips'),
440
+ tags=pulumi.get(__ret__, 'tags'),
441
+ tech_emails=pulumi.get(__ret__, 'tech_emails'),
442
+ termination_protection=pulumi.get(__ret__, 'termination_protection'),
443
+ thanos=pulumi.get(__ret__, 'thanos'),
444
+ thanos_user_configs=pulumi.get(__ret__, 'thanos_user_configs'))
445
+ def get_thanos_output(project: Optional[pulumi.Input[str]] = None,
446
+ service_name: Optional[pulumi.Input[str]] = None,
447
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetThanosResult]:
448
+ """
449
+ Gets information about an Aiven for Thanos® service.
450
+
451
+ ## Example Usage
452
+
453
+ ```python
454
+ import pulumi
455
+ import pulumi_aiven as aiven
456
+
457
+ example_thanos = aiven.get_thanos(project=example_project["project"],
458
+ service_name="example-thanos-service")
459
+ ```
460
+
461
+
462
+ :param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
463
+ :param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
464
+ """
465
+ __args__ = dict()
466
+ __args__['project'] = project
467
+ __args__['serviceName'] = service_name
468
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
469
+ __ret__ = pulumi.runtime.invoke_output('aiven:index/getThanos:getThanos', __args__, opts=opts, typ=GetThanosResult)
470
+ return __ret__.apply(lambda __response__: GetThanosResult(
471
+ additional_disk_space=pulumi.get(__response__, 'additional_disk_space'),
472
+ cloud_name=pulumi.get(__response__, 'cloud_name'),
473
+ components=pulumi.get(__response__, 'components'),
474
+ disk_space=pulumi.get(__response__, 'disk_space'),
475
+ disk_space_cap=pulumi.get(__response__, 'disk_space_cap'),
476
+ disk_space_default=pulumi.get(__response__, 'disk_space_default'),
477
+ disk_space_step=pulumi.get(__response__, 'disk_space_step'),
478
+ disk_space_used=pulumi.get(__response__, 'disk_space_used'),
479
+ id=pulumi.get(__response__, 'id'),
480
+ maintenance_window_dow=pulumi.get(__response__, 'maintenance_window_dow'),
481
+ maintenance_window_time=pulumi.get(__response__, 'maintenance_window_time'),
482
+ plan=pulumi.get(__response__, 'plan'),
483
+ project=pulumi.get(__response__, 'project'),
484
+ project_vpc_id=pulumi.get(__response__, 'project_vpc_id'),
485
+ service_host=pulumi.get(__response__, 'service_host'),
486
+ service_integrations=pulumi.get(__response__, 'service_integrations'),
487
+ service_name=pulumi.get(__response__, 'service_name'),
488
+ service_password=pulumi.get(__response__, 'service_password'),
489
+ service_port=pulumi.get(__response__, 'service_port'),
490
+ service_type=pulumi.get(__response__, 'service_type'),
491
+ service_uri=pulumi.get(__response__, 'service_uri'),
492
+ service_username=pulumi.get(__response__, 'service_username'),
493
+ state=pulumi.get(__response__, 'state'),
494
+ static_ips=pulumi.get(__response__, 'static_ips'),
495
+ tags=pulumi.get(__response__, 'tags'),
496
+ tech_emails=pulumi.get(__response__, 'tech_emails'),
497
+ termination_protection=pulumi.get(__response__, 'termination_protection'),
498
+ thanos=pulumi.get(__response__, 'thanos'),
499
+ thanos_user_configs=pulumi.get(__response__, 'thanos_user_configs')))
@@ -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__ = [
@@ -62,7 +67,7 @@ class GetTransitGatewayVpcAttachmentResult:
62
67
  @pulumi.getter(name="peerCloudAccount")
63
68
  def peer_cloud_account(self) -> str:
64
69
  """
65
- AWS account ID or GCP project ID of the peered VPC. This property cannot be changed, doing so forces recreation of the resource.
70
+ AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.
66
71
  """
67
72
  return pulumi.get(self, "peer_cloud_account")
68
73
 
@@ -70,7 +75,7 @@ class GetTransitGatewayVpcAttachmentResult:
70
75
  @pulumi.getter(name="peerRegion")
71
76
  def peer_region(self) -> str:
72
77
  """
73
- AWS region of the peered VPC (if not in the same region as Aiven VPC)
78
+ AWS region of the peered VPC (if not in the same region as Aiven VPC). This value can't be changed.
74
79
  """
75
80
  return pulumi.get(self, "peer_region")
76
81
 
@@ -78,7 +83,7 @@ class GetTransitGatewayVpcAttachmentResult:
78
83
  @pulumi.getter(name="peerVpc")
79
84
  def peer_vpc(self) -> str:
80
85
  """
81
- Transit gateway ID. This property cannot be changed, doing so forces recreation of the resource.
86
+ Transit gateway ID. Changing this property forces recreation of the resource.
82
87
  """
83
88
  return pulumi.get(self, "peer_vpc")
84
89
 
@@ -100,7 +105,7 @@ class GetTransitGatewayVpcAttachmentResult:
100
105
 
101
106
  @property
102
107
  @pulumi.getter(name="stateInfo")
103
- def state_info(self) -> Mapping[str, Any]:
108
+ def state_info(self) -> Mapping[str, str]:
104
109
  """
105
110
  State-specific help or error information
106
111
  """
@@ -118,7 +123,7 @@ class GetTransitGatewayVpcAttachmentResult:
118
123
  @pulumi.getter(name="vpcId")
119
124
  def vpc_id(self) -> str:
120
125
  """
121
- The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
126
+ The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
122
127
  """
123
128
  return pulumi.get(self, "vpc_id")
124
129
 
@@ -149,21 +154,19 @@ def get_transit_gateway_vpc_attachment(peer_cloud_account: Optional[str] = None,
149
154
 
150
155
  ## Example Usage
151
156
 
152
- <!--Start PulumiCodeChooser -->
153
157
  ```python
154
158
  import pulumi
155
159
  import pulumi_aiven as aiven
156
160
 
157
- attachment = aiven.get_transit_gateway_vpc_attachment(vpc_id=aiven_project_vpc["bar"]["id"],
161
+ attachment = aiven.get_transit_gateway_vpc_attachment(vpc_id=bar["id"],
158
162
  peer_cloud_account="<PEER_ACCOUNT_ID>",
159
163
  peer_vpc="google-project1")
160
164
  ```
161
- <!--End PulumiCodeChooser -->
162
165
 
163
166
 
164
- :param str peer_cloud_account: AWS account ID or GCP project ID of the peered VPC. This property cannot be changed, doing so forces recreation of the resource.
165
- :param str peer_vpc: Transit gateway ID. This property cannot be changed, doing so forces recreation of the resource.
166
- :param str vpc_id: The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
167
+ :param str peer_cloud_account: AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.
168
+ :param str peer_vpc: Transit gateway ID. Changing this property forces recreation of the resource.
169
+ :param str vpc_id: The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
167
170
  """
168
171
  __args__ = dict()
169
172
  __args__['peerCloudAccount'] = peer_cloud_account
@@ -182,32 +185,42 @@ def get_transit_gateway_vpc_attachment(peer_cloud_account: Optional[str] = None,
182
185
  state_info=pulumi.get(__ret__, 'state_info'),
183
186
  user_peer_network_cidrs=pulumi.get(__ret__, 'user_peer_network_cidrs'),
184
187
  vpc_id=pulumi.get(__ret__, 'vpc_id'))
185
-
186
-
187
- @_utilities.lift_output_func(get_transit_gateway_vpc_attachment)
188
188
  def get_transit_gateway_vpc_attachment_output(peer_cloud_account: Optional[pulumi.Input[str]] = None,
189
189
  peer_vpc: Optional[pulumi.Input[str]] = None,
190
190
  vpc_id: Optional[pulumi.Input[str]] = None,
191
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTransitGatewayVpcAttachmentResult]:
191
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTransitGatewayVpcAttachmentResult]:
192
192
  """
193
193
  The Transit Gateway VPC Attachment resource allows the creation and management Transit Gateway VPC Attachment VPC peering connection between Aiven and AWS.
194
194
 
195
195
  ## Example Usage
196
196
 
197
- <!--Start PulumiCodeChooser -->
198
197
  ```python
199
198
  import pulumi
200
199
  import pulumi_aiven as aiven
201
200
 
202
- attachment = aiven.get_transit_gateway_vpc_attachment(vpc_id=aiven_project_vpc["bar"]["id"],
201
+ attachment = aiven.get_transit_gateway_vpc_attachment(vpc_id=bar["id"],
203
202
  peer_cloud_account="<PEER_ACCOUNT_ID>",
204
203
  peer_vpc="google-project1")
205
204
  ```
206
- <!--End PulumiCodeChooser -->
207
205
 
208
206
 
209
- :param str peer_cloud_account: AWS account ID or GCP project ID of the peered VPC. This property cannot be changed, doing so forces recreation of the resource.
210
- :param str peer_vpc: Transit gateway ID. This property cannot be changed, doing so forces recreation of the resource.
211
- :param str vpc_id: The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
207
+ :param str peer_cloud_account: AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.
208
+ :param str peer_vpc: Transit gateway ID. Changing this property forces recreation of the resource.
209
+ :param str vpc_id: The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
212
210
  """
213
- ...
211
+ __args__ = dict()
212
+ __args__['peerCloudAccount'] = peer_cloud_account
213
+ __args__['peerVpc'] = peer_vpc
214
+ __args__['vpcId'] = vpc_id
215
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
216
+ __ret__ = pulumi.runtime.invoke_output('aiven:index/getTransitGatewayVpcAttachment:getTransitGatewayVpcAttachment', __args__, opts=opts, typ=GetTransitGatewayVpcAttachmentResult)
217
+ return __ret__.apply(lambda __response__: GetTransitGatewayVpcAttachmentResult(
218
+ id=pulumi.get(__response__, 'id'),
219
+ peer_cloud_account=pulumi.get(__response__, 'peer_cloud_account'),
220
+ peer_region=pulumi.get(__response__, 'peer_region'),
221
+ peer_vpc=pulumi.get(__response__, 'peer_vpc'),
222
+ peering_connection_id=pulumi.get(__response__, 'peering_connection_id'),
223
+ state=pulumi.get(__response__, 'state'),
224
+ state_info=pulumi.get(__response__, 'state_info'),
225
+ user_peer_network_cidrs=pulumi.get(__response__, 'user_peer_network_cidrs'),
226
+ vpc_id=pulumi.get(__response__, 'vpc_id')))