pulumi-aiven 6.18.0a1719465440__py3-none-any.whl → 6.19.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.

@@ -100,10 +100,6 @@ def _get_semver_version():
100
100
  _version = _get_semver_version()
101
101
  _version_str = str(_version)
102
102
 
103
-
104
- def get_version():
105
- return _version_str
106
-
107
103
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
108
104
  return pulumi.ResourceOptions(
109
105
  version=get_version(),
@@ -324,3 +320,6 @@ def deprecated(message: str) -> typing.Callable[[C], C]:
324
320
 
325
321
  def get_plugin_download_url():
326
322
  return None
323
+
324
+ def get_version():
325
+ return _version_str
@@ -543,10 +543,13 @@ class AccountAuthentication(pulumi.CustomResource):
543
543
  type: Optional[pulumi.Input[str]] = None,
544
544
  __props__=None):
545
545
  """
546
- **This resource is deprecated**.
547
-
548
546
  Creates and manages an authentication method.
549
547
 
548
+ > **This resource is deprecated**
549
+ To set up an identity provider as an authentication method for your organization,
550
+ [use the Aiven Console](https://aiven.io/docs/platform/howto/saml/add-identity-providers).
551
+ It guides you through the steps and explains the settings.
552
+
550
553
  ## Import
551
554
 
552
555
  ```sh
@@ -576,10 +579,13 @@ class AccountAuthentication(pulumi.CustomResource):
576
579
  args: AccountAuthenticationArgs,
577
580
  opts: Optional[pulumi.ResourceOptions] = None):
578
581
  """
579
- **This resource is deprecated**.
580
-
581
582
  Creates and manages an authentication method.
582
583
 
584
+ > **This resource is deprecated**
585
+ To set up an identity provider as an authentication method for your organization,
586
+ [use the Aiven Console](https://aiven.io/docs/platform/howto/saml/add-identity-providers).
587
+ It guides you through the steps and explains the settings.
588
+
583
589
  ## Import
584
590
 
585
591
  ```sh
@@ -147,12 +147,16 @@ class AccountTeam(pulumi.CustomResource):
147
147
  name: Optional[pulumi.Input[str]] = None,
148
148
  __props__=None):
149
149
  """
150
+ **This resource is deprecated.** Use `OrganizationUserGroup` instead.
151
+
150
152
  Creates and manages a team.
151
153
 
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.
154
+ > **Teams have been deprecated and are being migrated to groups**
155
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
156
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
157
+ **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
158
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
159
+ migration guide for more information on the changes and migrating to groups.
156
160
 
157
161
  ## Example Usage
158
162
 
@@ -183,12 +187,16 @@ class AccountTeam(pulumi.CustomResource):
183
187
  args: AccountTeamArgs,
184
188
  opts: Optional[pulumi.ResourceOptions] = None):
185
189
  """
190
+ **This resource is deprecated.** Use `OrganizationUserGroup` instead.
191
+
186
192
  Creates and manages a team.
187
193
 
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.
194
+ > **Teams have been deprecated and are being migrated to groups**
195
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
196
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
197
+ **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
198
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
199
+ migration guide for more information on the changes and migrating to groups.
192
200
 
193
201
  ## Example Usage
194
202
 
@@ -178,16 +178,20 @@ class AccountTeamMember(pulumi.CustomResource):
178
178
  user_email: Optional[pulumi.Input[str]] = None,
179
179
  __props__=None):
180
180
  """
181
+ **This resource is deprecated.** Use `OrganizationUserGroupMember` instead.
182
+
181
183
  Adds a user as a team member.
182
184
 
183
185
  During the creation of this resource, an invite is sent to the address specified in `user_email`.
184
186
  The user is added to the team after they accept the invite. Deleting `AccountTeamMember`
185
187
  deletes the pending invite if not accepted or removes the user from the team if they already accepted the invite.
186
188
 
187
- > **Teams are becoming groups**
188
- Groups are an easier way to control access to your organization's projects and
189
- services for a group of users.
190
- Migrate your teams to groups.
189
+ > **Teams have been deprecated and are being migrated to groups**
190
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
191
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
192
+ **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
193
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
194
+ migration guide for more information on the changes and migrating to groups.
191
195
 
192
196
  ## Example Usage
193
197
 
@@ -220,16 +224,20 @@ class AccountTeamMember(pulumi.CustomResource):
220
224
  args: AccountTeamMemberArgs,
221
225
  opts: Optional[pulumi.ResourceOptions] = None):
222
226
  """
227
+ **This resource is deprecated.** Use `OrganizationUserGroupMember` instead.
228
+
223
229
  Adds a user as a team member.
224
230
 
225
231
  During the creation of this resource, an invite is sent to the address specified in `user_email`.
226
232
  The user is added to the team after they accept the invite. Deleting `AccountTeamMember`
227
233
  deletes the pending invite if not accepted or removes the user from the team if they already accepted the invite.
228
234
 
229
- > **Teams are becoming groups**
230
- Groups are an easier way to control access to your organization's projects and
231
- services for a group of users.
232
- Migrate your teams to groups.
235
+ > **Teams have been deprecated and are being migrated to groups**
236
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
237
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
238
+ **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
239
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
240
+ migration guide for more information on the changes and migrating to groups.
233
241
 
234
242
  ## Example Usage
235
243
 
@@ -164,12 +164,16 @@ class AccountTeamProject(pulumi.CustomResource):
164
164
  team_type: Optional[pulumi.Input[str]] = None,
165
165
  __props__=None):
166
166
  """
167
+ **This resource is deprecated.** Use `OrganizationGroupProject` instead.
168
+
167
169
  Links an existing project to an existing team. Both the project and team should have the same `account_id`.
168
170
 
169
- > **Teams are becoming groups**
170
- Groups are an easier way to control access to your organization's projects and
171
- services for a group of users.
172
- Migrate your teams to groups.
171
+ > **Teams have been deprecated and are being migrated to groups**
172
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
173
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
174
+ **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
175
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
176
+ migration guide for more information on the changes and migrating to groups.
173
177
 
174
178
  ## Example Usage
175
179
 
@@ -210,12 +214,16 @@ class AccountTeamProject(pulumi.CustomResource):
210
214
  args: AccountTeamProjectArgs,
211
215
  opts: Optional[pulumi.ResourceOptions] = None):
212
216
  """
217
+ **This resource is deprecated.** Use `OrganizationGroupProject` instead.
218
+
213
219
  Links an existing project to an existing team. Both the project and team should have the same `account_id`.
214
220
 
215
- > **Teams are becoming groups**
216
- Groups are an easier way to control access to your organization's projects and
217
- services for a group of users.
218
- Migrate your teams to groups.
221
+ > **Teams have been deprecated and are being migrated to groups**
222
+ **On 2 September 2024** the Account Owners team will transition to super admin. Super admin have full access to the organization.
223
+ The Account Owners and super admin are synced, so the removal of the Account Owners team will have no impact on your day to day operations.
224
+ **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
225
+ this date. **On 2 December 2024** all teams will be deleted and the teams feature will be completely removed. View the
226
+ migration guide for more information on the changes and migrating to groups.
219
227
 
220
228
  ## Example Usage
221
229
 
@@ -145,7 +145,7 @@ class GetProjectResult:
145
145
  @pulumi.getter(name="parentId")
146
146
  def parent_id(self) -> str:
147
147
  """
148
- Link a project to an [organization, organizational unit,](https://aiven.io/docs/platform/concepts/projects_accounts_access) or account by using its ID. To set up proper dependencies please refer to this variable as a reference.
148
+ Link a project to an [organization, organizational unit,](https://aiven.io/docs/platform/concepts/orgs-units-projects) or account by using its ID. To set up proper dependencies please refer to this variable as a reference.
149
149
  """
150
150
  return pulumi.get(self, "parent_id")
151
151
 
@@ -0,0 +1,449 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'GetThanosResult',
15
+ 'AwaitableGetThanosResult',
16
+ 'get_thanos',
17
+ 'get_thanos_output',
18
+ ]
19
+
20
+ @pulumi.output_type
21
+ class GetThanosResult:
22
+ """
23
+ A collection of values returned by getThanos.
24
+ """
25
+ 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):
26
+ if additional_disk_space and not isinstance(additional_disk_space, str):
27
+ raise TypeError("Expected argument 'additional_disk_space' to be a str")
28
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
29
+ if cloud_name and not isinstance(cloud_name, str):
30
+ raise TypeError("Expected argument 'cloud_name' to be a str")
31
+ pulumi.set(__self__, "cloud_name", cloud_name)
32
+ if components and not isinstance(components, list):
33
+ raise TypeError("Expected argument 'components' to be a list")
34
+ pulumi.set(__self__, "components", components)
35
+ if disk_space and not isinstance(disk_space, str):
36
+ raise TypeError("Expected argument 'disk_space' to be a str")
37
+ pulumi.set(__self__, "disk_space", disk_space)
38
+ if disk_space_cap and not isinstance(disk_space_cap, str):
39
+ raise TypeError("Expected argument 'disk_space_cap' to be a str")
40
+ pulumi.set(__self__, "disk_space_cap", disk_space_cap)
41
+ if disk_space_default and not isinstance(disk_space_default, str):
42
+ raise TypeError("Expected argument 'disk_space_default' to be a str")
43
+ pulumi.set(__self__, "disk_space_default", disk_space_default)
44
+ if disk_space_step and not isinstance(disk_space_step, str):
45
+ raise TypeError("Expected argument 'disk_space_step' to be a str")
46
+ pulumi.set(__self__, "disk_space_step", disk_space_step)
47
+ if disk_space_used and not isinstance(disk_space_used, str):
48
+ raise TypeError("Expected argument 'disk_space_used' to be a str")
49
+ pulumi.set(__self__, "disk_space_used", disk_space_used)
50
+ if id and not isinstance(id, str):
51
+ raise TypeError("Expected argument 'id' to be a str")
52
+ pulumi.set(__self__, "id", id)
53
+ if maintenance_window_dow and not isinstance(maintenance_window_dow, str):
54
+ raise TypeError("Expected argument 'maintenance_window_dow' to be a str")
55
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
56
+ if maintenance_window_time and not isinstance(maintenance_window_time, str):
57
+ raise TypeError("Expected argument 'maintenance_window_time' to be a str")
58
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
59
+ if plan and not isinstance(plan, str):
60
+ raise TypeError("Expected argument 'plan' to be a str")
61
+ pulumi.set(__self__, "plan", plan)
62
+ if project and not isinstance(project, str):
63
+ raise TypeError("Expected argument 'project' to be a str")
64
+ pulumi.set(__self__, "project", project)
65
+ if project_vpc_id and not isinstance(project_vpc_id, str):
66
+ raise TypeError("Expected argument 'project_vpc_id' to be a str")
67
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
68
+ if service_host and not isinstance(service_host, str):
69
+ raise TypeError("Expected argument 'service_host' to be a str")
70
+ pulumi.set(__self__, "service_host", service_host)
71
+ if service_integrations and not isinstance(service_integrations, list):
72
+ raise TypeError("Expected argument 'service_integrations' to be a list")
73
+ pulumi.set(__self__, "service_integrations", service_integrations)
74
+ if service_name and not isinstance(service_name, str):
75
+ raise TypeError("Expected argument 'service_name' to be a str")
76
+ pulumi.set(__self__, "service_name", service_name)
77
+ if service_password and not isinstance(service_password, str):
78
+ raise TypeError("Expected argument 'service_password' to be a str")
79
+ pulumi.set(__self__, "service_password", service_password)
80
+ if service_port and not isinstance(service_port, int):
81
+ raise TypeError("Expected argument 'service_port' to be a int")
82
+ pulumi.set(__self__, "service_port", service_port)
83
+ if service_type and not isinstance(service_type, str):
84
+ raise TypeError("Expected argument 'service_type' to be a str")
85
+ pulumi.set(__self__, "service_type", service_type)
86
+ if service_uri and not isinstance(service_uri, str):
87
+ raise TypeError("Expected argument 'service_uri' to be a str")
88
+ pulumi.set(__self__, "service_uri", service_uri)
89
+ if service_username and not isinstance(service_username, str):
90
+ raise TypeError("Expected argument 'service_username' to be a str")
91
+ pulumi.set(__self__, "service_username", service_username)
92
+ if state and not isinstance(state, str):
93
+ raise TypeError("Expected argument 'state' to be a str")
94
+ pulumi.set(__self__, "state", state)
95
+ if static_ips and not isinstance(static_ips, list):
96
+ raise TypeError("Expected argument 'static_ips' to be a list")
97
+ pulumi.set(__self__, "static_ips", static_ips)
98
+ if tags and not isinstance(tags, list):
99
+ raise TypeError("Expected argument 'tags' to be a list")
100
+ pulumi.set(__self__, "tags", tags)
101
+ if tech_emails and not isinstance(tech_emails, list):
102
+ raise TypeError("Expected argument 'tech_emails' to be a list")
103
+ pulumi.set(__self__, "tech_emails", tech_emails)
104
+ if termination_protection and not isinstance(termination_protection, bool):
105
+ raise TypeError("Expected argument 'termination_protection' to be a bool")
106
+ pulumi.set(__self__, "termination_protection", termination_protection)
107
+ if thanos and not isinstance(thanos, list):
108
+ raise TypeError("Expected argument 'thanos' to be a list")
109
+ pulumi.set(__self__, "thanos", thanos)
110
+ if thanos_user_configs and not isinstance(thanos_user_configs, list):
111
+ raise TypeError("Expected argument 'thanos_user_configs' to be a list")
112
+ pulumi.set(__self__, "thanos_user_configs", thanos_user_configs)
113
+
114
+ @property
115
+ @pulumi.getter(name="additionalDiskSpace")
116
+ def additional_disk_space(self) -> str:
117
+ """
118
+ Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
119
+ """
120
+ return pulumi.get(self, "additional_disk_space")
121
+
122
+ @property
123
+ @pulumi.getter(name="cloudName")
124
+ def cloud_name(self) -> str:
125
+ """
126
+ 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).
127
+ """
128
+ return pulumi.get(self, "cloud_name")
129
+
130
+ @property
131
+ @pulumi.getter
132
+ def components(self) -> Sequence['outputs.GetThanosComponentResult']:
133
+ """
134
+ Service component information objects
135
+ """
136
+ return pulumi.get(self, "components")
137
+
138
+ @property
139
+ @pulumi.getter(name="diskSpace")
140
+ def disk_space(self) -> str:
141
+ """
142
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
143
+ """
144
+ return pulumi.get(self, "disk_space")
145
+
146
+ @property
147
+ @pulumi.getter(name="diskSpaceCap")
148
+ def disk_space_cap(self) -> str:
149
+ """
150
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
151
+ """
152
+ return pulumi.get(self, "disk_space_cap")
153
+
154
+ @property
155
+ @pulumi.getter(name="diskSpaceDefault")
156
+ def disk_space_default(self) -> str:
157
+ """
158
+ 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`
159
+ """
160
+ return pulumi.get(self, "disk_space_default")
161
+
162
+ @property
163
+ @pulumi.getter(name="diskSpaceStep")
164
+ def disk_space_step(self) -> str:
165
+ """
166
+ 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.
167
+ """
168
+ return pulumi.get(self, "disk_space_step")
169
+
170
+ @property
171
+ @pulumi.getter(name="diskSpaceUsed")
172
+ def disk_space_used(self) -> str:
173
+ """
174
+ Disk space that service is currently using
175
+ """
176
+ return pulumi.get(self, "disk_space_used")
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def id(self) -> str:
181
+ """
182
+ The provider-assigned unique ID for this managed resource.
183
+ """
184
+ return pulumi.get(self, "id")
185
+
186
+ @property
187
+ @pulumi.getter(name="maintenanceWindowDow")
188
+ def maintenance_window_dow(self) -> str:
189
+ """
190
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
191
+ """
192
+ return pulumi.get(self, "maintenance_window_dow")
193
+
194
+ @property
195
+ @pulumi.getter(name="maintenanceWindowTime")
196
+ def maintenance_window_time(self) -> str:
197
+ """
198
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
199
+ """
200
+ return pulumi.get(self, "maintenance_window_time")
201
+
202
+ @property
203
+ @pulumi.getter
204
+ def plan(self) -> str:
205
+ """
206
+ 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 seem from the [Aiven pricing page](https://aiven.io/pricing).
207
+ """
208
+ return pulumi.get(self, "plan")
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def project(self) -> str:
213
+ """
214
+ 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.
215
+ """
216
+ return pulumi.get(self, "project")
217
+
218
+ @property
219
+ @pulumi.getter(name="projectVpcId")
220
+ def project_vpc_id(self) -> str:
221
+ """
222
+ 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.
223
+ """
224
+ return pulumi.get(self, "project_vpc_id")
225
+
226
+ @property
227
+ @pulumi.getter(name="serviceHost")
228
+ def service_host(self) -> str:
229
+ """
230
+ The hostname of the service.
231
+ """
232
+ return pulumi.get(self, "service_host")
233
+
234
+ @property
235
+ @pulumi.getter(name="serviceIntegrations")
236
+ def service_integrations(self) -> Sequence['outputs.GetThanosServiceIntegrationResult']:
237
+ """
238
+ Service integrations to specify when creating a service. Not applied after initial service creation
239
+ """
240
+ return pulumi.get(self, "service_integrations")
241
+
242
+ @property
243
+ @pulumi.getter(name="serviceName")
244
+ def service_name(self) -> str:
245
+ """
246
+ 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.
247
+ """
248
+ return pulumi.get(self, "service_name")
249
+
250
+ @property
251
+ @pulumi.getter(name="servicePassword")
252
+ def service_password(self) -> str:
253
+ """
254
+ Password used for connecting to the service, if applicable
255
+ """
256
+ return pulumi.get(self, "service_password")
257
+
258
+ @property
259
+ @pulumi.getter(name="servicePort")
260
+ def service_port(self) -> int:
261
+ """
262
+ The port of the service
263
+ """
264
+ return pulumi.get(self, "service_port")
265
+
266
+ @property
267
+ @pulumi.getter(name="serviceType")
268
+ def service_type(self) -> str:
269
+ """
270
+ Aiven internal service type code
271
+ """
272
+ return pulumi.get(self, "service_type")
273
+
274
+ @property
275
+ @pulumi.getter(name="serviceUri")
276
+ def service_uri(self) -> str:
277
+ """
278
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
279
+ """
280
+ return pulumi.get(self, "service_uri")
281
+
282
+ @property
283
+ @pulumi.getter(name="serviceUsername")
284
+ def service_username(self) -> str:
285
+ """
286
+ Username used for connecting to the service, if applicable
287
+ """
288
+ return pulumi.get(self, "service_username")
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def state(self) -> str:
293
+ """
294
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
295
+ """
296
+ return pulumi.get(self, "state")
297
+
298
+ @property
299
+ @pulumi.getter(name="staticIps")
300
+ def static_ips(self) -> Sequence[str]:
301
+ """
302
+ 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
303
+ """
304
+ return pulumi.get(self, "static_ips")
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def tags(self) -> Sequence['outputs.GetThanosTagResult']:
309
+ """
310
+ Tags are key-value pairs that allow you to categorize services.
311
+ """
312
+ return pulumi.get(self, "tags")
313
+
314
+ @property
315
+ @pulumi.getter(name="techEmails")
316
+ def tech_emails(self) -> Sequence['outputs.GetThanosTechEmailResult']:
317
+ """
318
+ 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.
319
+ """
320
+ return pulumi.get(self, "tech_emails")
321
+
322
+ @property
323
+ @pulumi.getter(name="terminationProtection")
324
+ def termination_protection(self) -> bool:
325
+ """
326
+ 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.
327
+ """
328
+ return pulumi.get(self, "termination_protection")
329
+
330
+ @property
331
+ @pulumi.getter
332
+ def thanos(self) -> Sequence['outputs.GetThanosThanoResult']:
333
+ """
334
+ Thanos server connection details.
335
+ """
336
+ return pulumi.get(self, "thanos")
337
+
338
+ @property
339
+ @pulumi.getter(name="thanosUserConfigs")
340
+ def thanos_user_configs(self) -> Sequence['outputs.GetThanosThanosUserConfigResult']:
341
+ """
342
+ Thanos user configurable settings
343
+ """
344
+ return pulumi.get(self, "thanos_user_configs")
345
+
346
+
347
+ class AwaitableGetThanosResult(GetThanosResult):
348
+ # pylint: disable=using-constant-test
349
+ def __await__(self):
350
+ if False:
351
+ yield self
352
+ return GetThanosResult(
353
+ additional_disk_space=self.additional_disk_space,
354
+ cloud_name=self.cloud_name,
355
+ components=self.components,
356
+ disk_space=self.disk_space,
357
+ disk_space_cap=self.disk_space_cap,
358
+ disk_space_default=self.disk_space_default,
359
+ disk_space_step=self.disk_space_step,
360
+ disk_space_used=self.disk_space_used,
361
+ id=self.id,
362
+ maintenance_window_dow=self.maintenance_window_dow,
363
+ maintenance_window_time=self.maintenance_window_time,
364
+ plan=self.plan,
365
+ project=self.project,
366
+ project_vpc_id=self.project_vpc_id,
367
+ service_host=self.service_host,
368
+ service_integrations=self.service_integrations,
369
+ service_name=self.service_name,
370
+ service_password=self.service_password,
371
+ service_port=self.service_port,
372
+ service_type=self.service_type,
373
+ service_uri=self.service_uri,
374
+ service_username=self.service_username,
375
+ state=self.state,
376
+ static_ips=self.static_ips,
377
+ tags=self.tags,
378
+ tech_emails=self.tech_emails,
379
+ termination_protection=self.termination_protection,
380
+ thanos=self.thanos,
381
+ thanos_user_configs=self.thanos_user_configs)
382
+
383
+
384
+ def get_thanos(project: Optional[str] = None,
385
+ service_name: Optional[str] = None,
386
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetThanosResult:
387
+ """
388
+ Gets information about an Aiven for Thanos® service.
389
+
390
+ **This resource is in the beta stage and may change without notice.** Set
391
+ the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
392
+
393
+
394
+ :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.
395
+ :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.
396
+ """
397
+ __args__ = dict()
398
+ __args__['project'] = project
399
+ __args__['serviceName'] = service_name
400
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
401
+ __ret__ = pulumi.runtime.invoke('aiven:index/getThanos:getThanos', __args__, opts=opts, typ=GetThanosResult).value
402
+
403
+ return AwaitableGetThanosResult(
404
+ additional_disk_space=pulumi.get(__ret__, 'additional_disk_space'),
405
+ cloud_name=pulumi.get(__ret__, 'cloud_name'),
406
+ components=pulumi.get(__ret__, 'components'),
407
+ disk_space=pulumi.get(__ret__, 'disk_space'),
408
+ disk_space_cap=pulumi.get(__ret__, 'disk_space_cap'),
409
+ disk_space_default=pulumi.get(__ret__, 'disk_space_default'),
410
+ disk_space_step=pulumi.get(__ret__, 'disk_space_step'),
411
+ disk_space_used=pulumi.get(__ret__, 'disk_space_used'),
412
+ id=pulumi.get(__ret__, 'id'),
413
+ maintenance_window_dow=pulumi.get(__ret__, 'maintenance_window_dow'),
414
+ maintenance_window_time=pulumi.get(__ret__, 'maintenance_window_time'),
415
+ plan=pulumi.get(__ret__, 'plan'),
416
+ project=pulumi.get(__ret__, 'project'),
417
+ project_vpc_id=pulumi.get(__ret__, 'project_vpc_id'),
418
+ service_host=pulumi.get(__ret__, 'service_host'),
419
+ service_integrations=pulumi.get(__ret__, 'service_integrations'),
420
+ service_name=pulumi.get(__ret__, 'service_name'),
421
+ service_password=pulumi.get(__ret__, 'service_password'),
422
+ service_port=pulumi.get(__ret__, 'service_port'),
423
+ service_type=pulumi.get(__ret__, 'service_type'),
424
+ service_uri=pulumi.get(__ret__, 'service_uri'),
425
+ service_username=pulumi.get(__ret__, 'service_username'),
426
+ state=pulumi.get(__ret__, 'state'),
427
+ static_ips=pulumi.get(__ret__, 'static_ips'),
428
+ tags=pulumi.get(__ret__, 'tags'),
429
+ tech_emails=pulumi.get(__ret__, 'tech_emails'),
430
+ termination_protection=pulumi.get(__ret__, 'termination_protection'),
431
+ thanos=pulumi.get(__ret__, 'thanos'),
432
+ thanos_user_configs=pulumi.get(__ret__, 'thanos_user_configs'))
433
+
434
+
435
+ @_utilities.lift_output_func(get_thanos)
436
+ def get_thanos_output(project: Optional[pulumi.Input[str]] = None,
437
+ service_name: Optional[pulumi.Input[str]] = None,
438
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetThanosResult]:
439
+ """
440
+ Gets information about an Aiven for Thanos® service.
441
+
442
+ **This resource is in the beta stage and may change without notice.** Set
443
+ the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
444
+
445
+
446
+ :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.
447
+ :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.
448
+ """
449
+ ...