pulumi-aiven 6.30.0a1734498430__py3-none-any.whl → 6.30.0a1734637105__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.

@@ -0,0 +1,1335 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['AlloydbomniArgs', 'Alloydbomni']
20
+
21
+ @pulumi.input_type
22
+ class AlloydbomniArgs:
23
+ def __init__(__self__, *,
24
+ plan: pulumi.Input[str],
25
+ project: pulumi.Input[str],
26
+ service_name: pulumi.Input[str],
27
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
28
+ alloydbomni: Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']] = None,
29
+ alloydbomni_user_config: Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']] = None,
30
+ cloud_name: Optional[pulumi.Input[str]] = None,
31
+ disk_space: Optional[pulumi.Input[str]] = None,
32
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
33
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
34
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
35
+ service_account_credentials: Optional[pulumi.Input[str]] = None,
36
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]] = None,
37
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
38
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]] = None,
39
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]] = None,
40
+ termination_protection: Optional[pulumi.Input[bool]] = None):
41
+ """
42
+ The set of arguments for constructing a Alloydbomni resource.
43
+ :param pulumi.Input[str] plan: 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).
44
+ :param pulumi.Input[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.
45
+ :param pulumi.Input[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.
46
+ :param pulumi.Input[str] additional_disk_space: 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.
47
+ :param pulumi.Input['AlloydbomniAlloydbomniArgs'] alloydbomni: Values provided by the AlloyDB Omni server.
48
+ :param pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs'] alloydbomni_user_config: Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
49
+ :param pulumi.Input[str] cloud_name: 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).
50
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
51
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
52
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
53
+ :param pulumi.Input[str] project_vpc_id: 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.
54
+ :param pulumi.Input[str] service_account_credentials: Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
55
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
56
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: 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
57
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
58
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]] tech_emails: 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.
59
+ :param pulumi.Input[bool] termination_protection: 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.
60
+ """
61
+ pulumi.set(__self__, "plan", plan)
62
+ pulumi.set(__self__, "project", project)
63
+ pulumi.set(__self__, "service_name", service_name)
64
+ if additional_disk_space is not None:
65
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
66
+ if alloydbomni is not None:
67
+ pulumi.set(__self__, "alloydbomni", alloydbomni)
68
+ if alloydbomni_user_config is not None:
69
+ pulumi.set(__self__, "alloydbomni_user_config", alloydbomni_user_config)
70
+ if cloud_name is not None:
71
+ pulumi.set(__self__, "cloud_name", cloud_name)
72
+ if disk_space is not None:
73
+ warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
74
+ pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
75
+ if disk_space is not None:
76
+ pulumi.set(__self__, "disk_space", disk_space)
77
+ if maintenance_window_dow is not None:
78
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
79
+ if maintenance_window_time is not None:
80
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
81
+ if project_vpc_id is not None:
82
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
83
+ if service_account_credentials is not None:
84
+ pulumi.set(__self__, "service_account_credentials", service_account_credentials)
85
+ if service_integrations is not None:
86
+ pulumi.set(__self__, "service_integrations", service_integrations)
87
+ if static_ips is not None:
88
+ pulumi.set(__self__, "static_ips", static_ips)
89
+ if tags is not None:
90
+ pulumi.set(__self__, "tags", tags)
91
+ if tech_emails is not None:
92
+ pulumi.set(__self__, "tech_emails", tech_emails)
93
+ if termination_protection is not None:
94
+ pulumi.set(__self__, "termination_protection", termination_protection)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def plan(self) -> pulumi.Input[str]:
99
+ """
100
+ 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).
101
+ """
102
+ return pulumi.get(self, "plan")
103
+
104
+ @plan.setter
105
+ def plan(self, value: pulumi.Input[str]):
106
+ pulumi.set(self, "plan", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def project(self) -> pulumi.Input[str]:
111
+ """
112
+ 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.
113
+ """
114
+ return pulumi.get(self, "project")
115
+
116
+ @project.setter
117
+ def project(self, value: pulumi.Input[str]):
118
+ pulumi.set(self, "project", value)
119
+
120
+ @property
121
+ @pulumi.getter(name="serviceName")
122
+ def service_name(self) -> pulumi.Input[str]:
123
+ """
124
+ 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.
125
+ """
126
+ return pulumi.get(self, "service_name")
127
+
128
+ @service_name.setter
129
+ def service_name(self, value: pulumi.Input[str]):
130
+ pulumi.set(self, "service_name", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="additionalDiskSpace")
134
+ def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ 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.
137
+ """
138
+ return pulumi.get(self, "additional_disk_space")
139
+
140
+ @additional_disk_space.setter
141
+ def additional_disk_space(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "additional_disk_space", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def alloydbomni(self) -> Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']]:
147
+ """
148
+ Values provided by the AlloyDB Omni server.
149
+ """
150
+ return pulumi.get(self, "alloydbomni")
151
+
152
+ @alloydbomni.setter
153
+ def alloydbomni(self, value: Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']]):
154
+ pulumi.set(self, "alloydbomni", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="alloydbomniUserConfig")
158
+ def alloydbomni_user_config(self) -> Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']]:
159
+ """
160
+ Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
161
+ """
162
+ return pulumi.get(self, "alloydbomni_user_config")
163
+
164
+ @alloydbomni_user_config.setter
165
+ def alloydbomni_user_config(self, value: Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']]):
166
+ pulumi.set(self, "alloydbomni_user_config", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="cloudName")
170
+ def cloud_name(self) -> Optional[pulumi.Input[str]]:
171
+ """
172
+ 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).
173
+ """
174
+ return pulumi.get(self, "cloud_name")
175
+
176
+ @cloud_name.setter
177
+ def cloud_name(self, value: Optional[pulumi.Input[str]]):
178
+ pulumi.set(self, "cloud_name", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="diskSpace")
182
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
183
+ def disk_space(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
186
+ """
187
+ return pulumi.get(self, "disk_space")
188
+
189
+ @disk_space.setter
190
+ def disk_space(self, value: Optional[pulumi.Input[str]]):
191
+ pulumi.set(self, "disk_space", value)
192
+
193
+ @property
194
+ @pulumi.getter(name="maintenanceWindowDow")
195
+ def maintenance_window_dow(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
198
+ """
199
+ return pulumi.get(self, "maintenance_window_dow")
200
+
201
+ @maintenance_window_dow.setter
202
+ def maintenance_window_dow(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "maintenance_window_dow", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="maintenanceWindowTime")
207
+ def maintenance_window_time(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
210
+ """
211
+ return pulumi.get(self, "maintenance_window_time")
212
+
213
+ @maintenance_window_time.setter
214
+ def maintenance_window_time(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "maintenance_window_time", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="projectVpcId")
219
+ def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
220
+ """
221
+ 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.
222
+ """
223
+ return pulumi.get(self, "project_vpc_id")
224
+
225
+ @project_vpc_id.setter
226
+ def project_vpc_id(self, value: Optional[pulumi.Input[str]]):
227
+ pulumi.set(self, "project_vpc_id", value)
228
+
229
+ @property
230
+ @pulumi.getter(name="serviceAccountCredentials")
231
+ def service_account_credentials(self) -> Optional[pulumi.Input[str]]:
232
+ """
233
+ Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
234
+ """
235
+ return pulumi.get(self, "service_account_credentials")
236
+
237
+ @service_account_credentials.setter
238
+ def service_account_credentials(self, value: Optional[pulumi.Input[str]]):
239
+ pulumi.set(self, "service_account_credentials", value)
240
+
241
+ @property
242
+ @pulumi.getter(name="serviceIntegrations")
243
+ def service_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]]:
244
+ """
245
+ Service integrations to specify when creating a service. Not applied after initial service creation
246
+ """
247
+ return pulumi.get(self, "service_integrations")
248
+
249
+ @service_integrations.setter
250
+ def service_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]]):
251
+ pulumi.set(self, "service_integrations", value)
252
+
253
+ @property
254
+ @pulumi.getter(name="staticIps")
255
+ def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
256
+ """
257
+ 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
258
+ """
259
+ return pulumi.get(self, "static_ips")
260
+
261
+ @static_ips.setter
262
+ def static_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
263
+ pulumi.set(self, "static_ips", value)
264
+
265
+ @property
266
+ @pulumi.getter
267
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]]:
268
+ """
269
+ Tags are key-value pairs that allow you to categorize services.
270
+ """
271
+ return pulumi.get(self, "tags")
272
+
273
+ @tags.setter
274
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]]):
275
+ pulumi.set(self, "tags", value)
276
+
277
+ @property
278
+ @pulumi.getter(name="techEmails")
279
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]]:
280
+ """
281
+ 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.
282
+ """
283
+ return pulumi.get(self, "tech_emails")
284
+
285
+ @tech_emails.setter
286
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]]):
287
+ pulumi.set(self, "tech_emails", value)
288
+
289
+ @property
290
+ @pulumi.getter(name="terminationProtection")
291
+ def termination_protection(self) -> Optional[pulumi.Input[bool]]:
292
+ """
293
+ 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.
294
+ """
295
+ return pulumi.get(self, "termination_protection")
296
+
297
+ @termination_protection.setter
298
+ def termination_protection(self, value: Optional[pulumi.Input[bool]]):
299
+ pulumi.set(self, "termination_protection", value)
300
+
301
+
302
+ @pulumi.input_type
303
+ class _AlloydbomniState:
304
+ def __init__(__self__, *,
305
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
306
+ alloydbomni: Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']] = None,
307
+ alloydbomni_user_config: Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']] = None,
308
+ cloud_name: Optional[pulumi.Input[str]] = None,
309
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniComponentArgs']]]] = None,
310
+ disk_space: Optional[pulumi.Input[str]] = None,
311
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
312
+ disk_space_default: Optional[pulumi.Input[str]] = None,
313
+ disk_space_step: Optional[pulumi.Input[str]] = None,
314
+ disk_space_used: Optional[pulumi.Input[str]] = None,
315
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
316
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
317
+ plan: Optional[pulumi.Input[str]] = None,
318
+ project: Optional[pulumi.Input[str]] = None,
319
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
320
+ service_account_credentials: Optional[pulumi.Input[str]] = None,
321
+ service_host: Optional[pulumi.Input[str]] = None,
322
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]] = None,
323
+ service_name: Optional[pulumi.Input[str]] = None,
324
+ service_password: Optional[pulumi.Input[str]] = None,
325
+ service_port: Optional[pulumi.Input[int]] = None,
326
+ service_type: Optional[pulumi.Input[str]] = None,
327
+ service_uri: Optional[pulumi.Input[str]] = None,
328
+ service_username: Optional[pulumi.Input[str]] = None,
329
+ state: Optional[pulumi.Input[str]] = None,
330
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
331
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]] = None,
332
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]] = None,
333
+ termination_protection: Optional[pulumi.Input[bool]] = None):
334
+ """
335
+ Input properties used for looking up and filtering Alloydbomni resources.
336
+ :param pulumi.Input[str] additional_disk_space: 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.
337
+ :param pulumi.Input['AlloydbomniAlloydbomniArgs'] alloydbomni: Values provided by the AlloyDB Omni server.
338
+ :param pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs'] alloydbomni_user_config: Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
339
+ :param pulumi.Input[str] cloud_name: 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).
340
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniComponentArgs']]] components: Service component information objects
341
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
342
+ :param pulumi.Input[str] disk_space_cap: The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
343
+ :param pulumi.Input[str] disk_space_default: 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`
344
+ :param pulumi.Input[str] disk_space_step: 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.
345
+ :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
346
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
347
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
348
+ :param pulumi.Input[str] plan: 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).
349
+ :param pulumi.Input[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.
350
+ :param pulumi.Input[str] project_vpc_id: 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.
351
+ :param pulumi.Input[str] service_account_credentials: Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
352
+ :param pulumi.Input[str] service_host: The hostname of the service.
353
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
354
+ :param pulumi.Input[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.
355
+ :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
356
+ :param pulumi.Input[int] service_port: The port of the service
357
+ :param pulumi.Input[str] service_type: Aiven internal service type code
358
+ :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
359
+ :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
360
+ :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
361
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: 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
362
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
363
+ :param pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]] tech_emails: 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.
364
+ :param pulumi.Input[bool] termination_protection: 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.
365
+ """
366
+ if additional_disk_space is not None:
367
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
368
+ if alloydbomni is not None:
369
+ pulumi.set(__self__, "alloydbomni", alloydbomni)
370
+ if alloydbomni_user_config is not None:
371
+ pulumi.set(__self__, "alloydbomni_user_config", alloydbomni_user_config)
372
+ if cloud_name is not None:
373
+ pulumi.set(__self__, "cloud_name", cloud_name)
374
+ if components is not None:
375
+ pulumi.set(__self__, "components", components)
376
+ if disk_space is not None:
377
+ warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
378
+ pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
379
+ if disk_space is not None:
380
+ pulumi.set(__self__, "disk_space", disk_space)
381
+ if disk_space_cap is not None:
382
+ pulumi.set(__self__, "disk_space_cap", disk_space_cap)
383
+ if disk_space_default is not None:
384
+ pulumi.set(__self__, "disk_space_default", disk_space_default)
385
+ if disk_space_step is not None:
386
+ pulumi.set(__self__, "disk_space_step", disk_space_step)
387
+ if disk_space_used is not None:
388
+ warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
389
+ pulumi.log.warn("""disk_space_used is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
390
+ if disk_space_used is not None:
391
+ pulumi.set(__self__, "disk_space_used", disk_space_used)
392
+ if maintenance_window_dow is not None:
393
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
394
+ if maintenance_window_time is not None:
395
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
396
+ if plan is not None:
397
+ pulumi.set(__self__, "plan", plan)
398
+ if project is not None:
399
+ pulumi.set(__self__, "project", project)
400
+ if project_vpc_id is not None:
401
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
402
+ if service_account_credentials is not None:
403
+ pulumi.set(__self__, "service_account_credentials", service_account_credentials)
404
+ if service_host is not None:
405
+ pulumi.set(__self__, "service_host", service_host)
406
+ if service_integrations is not None:
407
+ pulumi.set(__self__, "service_integrations", service_integrations)
408
+ if service_name is not None:
409
+ pulumi.set(__self__, "service_name", service_name)
410
+ if service_password is not None:
411
+ pulumi.set(__self__, "service_password", service_password)
412
+ if service_port is not None:
413
+ pulumi.set(__self__, "service_port", service_port)
414
+ if service_type is not None:
415
+ pulumi.set(__self__, "service_type", service_type)
416
+ if service_uri is not None:
417
+ pulumi.set(__self__, "service_uri", service_uri)
418
+ if service_username is not None:
419
+ pulumi.set(__self__, "service_username", service_username)
420
+ if state is not None:
421
+ pulumi.set(__self__, "state", state)
422
+ if static_ips is not None:
423
+ pulumi.set(__self__, "static_ips", static_ips)
424
+ if tags is not None:
425
+ pulumi.set(__self__, "tags", tags)
426
+ if tech_emails is not None:
427
+ pulumi.set(__self__, "tech_emails", tech_emails)
428
+ if termination_protection is not None:
429
+ pulumi.set(__self__, "termination_protection", termination_protection)
430
+
431
+ @property
432
+ @pulumi.getter(name="additionalDiskSpace")
433
+ def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
434
+ """
435
+ 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.
436
+ """
437
+ return pulumi.get(self, "additional_disk_space")
438
+
439
+ @additional_disk_space.setter
440
+ def additional_disk_space(self, value: Optional[pulumi.Input[str]]):
441
+ pulumi.set(self, "additional_disk_space", value)
442
+
443
+ @property
444
+ @pulumi.getter
445
+ def alloydbomni(self) -> Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']]:
446
+ """
447
+ Values provided by the AlloyDB Omni server.
448
+ """
449
+ return pulumi.get(self, "alloydbomni")
450
+
451
+ @alloydbomni.setter
452
+ def alloydbomni(self, value: Optional[pulumi.Input['AlloydbomniAlloydbomniArgs']]):
453
+ pulumi.set(self, "alloydbomni", value)
454
+
455
+ @property
456
+ @pulumi.getter(name="alloydbomniUserConfig")
457
+ def alloydbomni_user_config(self) -> Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']]:
458
+ """
459
+ Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
460
+ """
461
+ return pulumi.get(self, "alloydbomni_user_config")
462
+
463
+ @alloydbomni_user_config.setter
464
+ def alloydbomni_user_config(self, value: Optional[pulumi.Input['AlloydbomniAlloydbomniUserConfigArgs']]):
465
+ pulumi.set(self, "alloydbomni_user_config", value)
466
+
467
+ @property
468
+ @pulumi.getter(name="cloudName")
469
+ def cloud_name(self) -> Optional[pulumi.Input[str]]:
470
+ """
471
+ 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).
472
+ """
473
+ return pulumi.get(self, "cloud_name")
474
+
475
+ @cloud_name.setter
476
+ def cloud_name(self, value: Optional[pulumi.Input[str]]):
477
+ pulumi.set(self, "cloud_name", value)
478
+
479
+ @property
480
+ @pulumi.getter
481
+ def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniComponentArgs']]]]:
482
+ """
483
+ Service component information objects
484
+ """
485
+ return pulumi.get(self, "components")
486
+
487
+ @components.setter
488
+ def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniComponentArgs']]]]):
489
+ pulumi.set(self, "components", value)
490
+
491
+ @property
492
+ @pulumi.getter(name="diskSpace")
493
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
494
+ def disk_space(self) -> Optional[pulumi.Input[str]]:
495
+ """
496
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
497
+ """
498
+ return pulumi.get(self, "disk_space")
499
+
500
+ @disk_space.setter
501
+ def disk_space(self, value: Optional[pulumi.Input[str]]):
502
+ pulumi.set(self, "disk_space", value)
503
+
504
+ @property
505
+ @pulumi.getter(name="diskSpaceCap")
506
+ def disk_space_cap(self) -> Optional[pulumi.Input[str]]:
507
+ """
508
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
509
+ """
510
+ return pulumi.get(self, "disk_space_cap")
511
+
512
+ @disk_space_cap.setter
513
+ def disk_space_cap(self, value: Optional[pulumi.Input[str]]):
514
+ pulumi.set(self, "disk_space_cap", value)
515
+
516
+ @property
517
+ @pulumi.getter(name="diskSpaceDefault")
518
+ def disk_space_default(self) -> Optional[pulumi.Input[str]]:
519
+ """
520
+ 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`
521
+ """
522
+ return pulumi.get(self, "disk_space_default")
523
+
524
+ @disk_space_default.setter
525
+ def disk_space_default(self, value: Optional[pulumi.Input[str]]):
526
+ pulumi.set(self, "disk_space_default", value)
527
+
528
+ @property
529
+ @pulumi.getter(name="diskSpaceStep")
530
+ def disk_space_step(self) -> Optional[pulumi.Input[str]]:
531
+ """
532
+ 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.
533
+ """
534
+ return pulumi.get(self, "disk_space_step")
535
+
536
+ @disk_space_step.setter
537
+ def disk_space_step(self, value: Optional[pulumi.Input[str]]):
538
+ pulumi.set(self, "disk_space_step", value)
539
+
540
+ @property
541
+ @pulumi.getter(name="diskSpaceUsed")
542
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
543
+ def disk_space_used(self) -> Optional[pulumi.Input[str]]:
544
+ """
545
+ Disk space that service is currently using
546
+ """
547
+ return pulumi.get(self, "disk_space_used")
548
+
549
+ @disk_space_used.setter
550
+ def disk_space_used(self, value: Optional[pulumi.Input[str]]):
551
+ pulumi.set(self, "disk_space_used", value)
552
+
553
+ @property
554
+ @pulumi.getter(name="maintenanceWindowDow")
555
+ def maintenance_window_dow(self) -> Optional[pulumi.Input[str]]:
556
+ """
557
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
558
+ """
559
+ return pulumi.get(self, "maintenance_window_dow")
560
+
561
+ @maintenance_window_dow.setter
562
+ def maintenance_window_dow(self, value: Optional[pulumi.Input[str]]):
563
+ pulumi.set(self, "maintenance_window_dow", value)
564
+
565
+ @property
566
+ @pulumi.getter(name="maintenanceWindowTime")
567
+ def maintenance_window_time(self) -> Optional[pulumi.Input[str]]:
568
+ """
569
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
570
+ """
571
+ return pulumi.get(self, "maintenance_window_time")
572
+
573
+ @maintenance_window_time.setter
574
+ def maintenance_window_time(self, value: Optional[pulumi.Input[str]]):
575
+ pulumi.set(self, "maintenance_window_time", value)
576
+
577
+ @property
578
+ @pulumi.getter
579
+ def plan(self) -> Optional[pulumi.Input[str]]:
580
+ """
581
+ 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).
582
+ """
583
+ return pulumi.get(self, "plan")
584
+
585
+ @plan.setter
586
+ def plan(self, value: Optional[pulumi.Input[str]]):
587
+ pulumi.set(self, "plan", value)
588
+
589
+ @property
590
+ @pulumi.getter
591
+ def project(self) -> Optional[pulumi.Input[str]]:
592
+ """
593
+ 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.
594
+ """
595
+ return pulumi.get(self, "project")
596
+
597
+ @project.setter
598
+ def project(self, value: Optional[pulumi.Input[str]]):
599
+ pulumi.set(self, "project", value)
600
+
601
+ @property
602
+ @pulumi.getter(name="projectVpcId")
603
+ def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
604
+ """
605
+ 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.
606
+ """
607
+ return pulumi.get(self, "project_vpc_id")
608
+
609
+ @project_vpc_id.setter
610
+ def project_vpc_id(self, value: Optional[pulumi.Input[str]]):
611
+ pulumi.set(self, "project_vpc_id", value)
612
+
613
+ @property
614
+ @pulumi.getter(name="serviceAccountCredentials")
615
+ def service_account_credentials(self) -> Optional[pulumi.Input[str]]:
616
+ """
617
+ Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
618
+ """
619
+ return pulumi.get(self, "service_account_credentials")
620
+
621
+ @service_account_credentials.setter
622
+ def service_account_credentials(self, value: Optional[pulumi.Input[str]]):
623
+ pulumi.set(self, "service_account_credentials", value)
624
+
625
+ @property
626
+ @pulumi.getter(name="serviceHost")
627
+ def service_host(self) -> Optional[pulumi.Input[str]]:
628
+ """
629
+ The hostname of the service.
630
+ """
631
+ return pulumi.get(self, "service_host")
632
+
633
+ @service_host.setter
634
+ def service_host(self, value: Optional[pulumi.Input[str]]):
635
+ pulumi.set(self, "service_host", value)
636
+
637
+ @property
638
+ @pulumi.getter(name="serviceIntegrations")
639
+ def service_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]]:
640
+ """
641
+ Service integrations to specify when creating a service. Not applied after initial service creation
642
+ """
643
+ return pulumi.get(self, "service_integrations")
644
+
645
+ @service_integrations.setter
646
+ def service_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniServiceIntegrationArgs']]]]):
647
+ pulumi.set(self, "service_integrations", value)
648
+
649
+ @property
650
+ @pulumi.getter(name="serviceName")
651
+ def service_name(self) -> Optional[pulumi.Input[str]]:
652
+ """
653
+ 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.
654
+ """
655
+ return pulumi.get(self, "service_name")
656
+
657
+ @service_name.setter
658
+ def service_name(self, value: Optional[pulumi.Input[str]]):
659
+ pulumi.set(self, "service_name", value)
660
+
661
+ @property
662
+ @pulumi.getter(name="servicePassword")
663
+ def service_password(self) -> Optional[pulumi.Input[str]]:
664
+ """
665
+ Password used for connecting to the service, if applicable
666
+ """
667
+ return pulumi.get(self, "service_password")
668
+
669
+ @service_password.setter
670
+ def service_password(self, value: Optional[pulumi.Input[str]]):
671
+ pulumi.set(self, "service_password", value)
672
+
673
+ @property
674
+ @pulumi.getter(name="servicePort")
675
+ def service_port(self) -> Optional[pulumi.Input[int]]:
676
+ """
677
+ The port of the service
678
+ """
679
+ return pulumi.get(self, "service_port")
680
+
681
+ @service_port.setter
682
+ def service_port(self, value: Optional[pulumi.Input[int]]):
683
+ pulumi.set(self, "service_port", value)
684
+
685
+ @property
686
+ @pulumi.getter(name="serviceType")
687
+ def service_type(self) -> Optional[pulumi.Input[str]]:
688
+ """
689
+ Aiven internal service type code
690
+ """
691
+ return pulumi.get(self, "service_type")
692
+
693
+ @service_type.setter
694
+ def service_type(self, value: Optional[pulumi.Input[str]]):
695
+ pulumi.set(self, "service_type", value)
696
+
697
+ @property
698
+ @pulumi.getter(name="serviceUri")
699
+ def service_uri(self) -> Optional[pulumi.Input[str]]:
700
+ """
701
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
702
+ """
703
+ return pulumi.get(self, "service_uri")
704
+
705
+ @service_uri.setter
706
+ def service_uri(self, value: Optional[pulumi.Input[str]]):
707
+ pulumi.set(self, "service_uri", value)
708
+
709
+ @property
710
+ @pulumi.getter(name="serviceUsername")
711
+ def service_username(self) -> Optional[pulumi.Input[str]]:
712
+ """
713
+ Username used for connecting to the service, if applicable
714
+ """
715
+ return pulumi.get(self, "service_username")
716
+
717
+ @service_username.setter
718
+ def service_username(self, value: Optional[pulumi.Input[str]]):
719
+ pulumi.set(self, "service_username", value)
720
+
721
+ @property
722
+ @pulumi.getter
723
+ def state(self) -> Optional[pulumi.Input[str]]:
724
+ """
725
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
726
+ """
727
+ return pulumi.get(self, "state")
728
+
729
+ @state.setter
730
+ def state(self, value: Optional[pulumi.Input[str]]):
731
+ pulumi.set(self, "state", value)
732
+
733
+ @property
734
+ @pulumi.getter(name="staticIps")
735
+ def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
736
+ """
737
+ 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
738
+ """
739
+ return pulumi.get(self, "static_ips")
740
+
741
+ @static_ips.setter
742
+ def static_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
743
+ pulumi.set(self, "static_ips", value)
744
+
745
+ @property
746
+ @pulumi.getter
747
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]]:
748
+ """
749
+ Tags are key-value pairs that allow you to categorize services.
750
+ """
751
+ return pulumi.get(self, "tags")
752
+
753
+ @tags.setter
754
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTagArgs']]]]):
755
+ pulumi.set(self, "tags", value)
756
+
757
+ @property
758
+ @pulumi.getter(name="techEmails")
759
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]]:
760
+ """
761
+ 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.
762
+ """
763
+ return pulumi.get(self, "tech_emails")
764
+
765
+ @tech_emails.setter
766
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlloydbomniTechEmailArgs']]]]):
767
+ pulumi.set(self, "tech_emails", value)
768
+
769
+ @property
770
+ @pulumi.getter(name="terminationProtection")
771
+ def termination_protection(self) -> Optional[pulumi.Input[bool]]:
772
+ """
773
+ 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.
774
+ """
775
+ return pulumi.get(self, "termination_protection")
776
+
777
+ @termination_protection.setter
778
+ def termination_protection(self, value: Optional[pulumi.Input[bool]]):
779
+ pulumi.set(self, "termination_protection", value)
780
+
781
+
782
+ class Alloydbomni(pulumi.CustomResource):
783
+ @overload
784
+ def __init__(__self__,
785
+ resource_name: str,
786
+ opts: Optional[pulumi.ResourceOptions] = None,
787
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
788
+ alloydbomni: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniArgs', 'AlloydbomniAlloydbomniArgsDict']]] = None,
789
+ alloydbomni_user_config: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniUserConfigArgs', 'AlloydbomniAlloydbomniUserConfigArgsDict']]] = None,
790
+ cloud_name: Optional[pulumi.Input[str]] = None,
791
+ disk_space: Optional[pulumi.Input[str]] = None,
792
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
793
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
794
+ plan: Optional[pulumi.Input[str]] = None,
795
+ project: Optional[pulumi.Input[str]] = None,
796
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
797
+ service_account_credentials: Optional[pulumi.Input[str]] = None,
798
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniServiceIntegrationArgs', 'AlloydbomniServiceIntegrationArgsDict']]]]] = None,
799
+ service_name: Optional[pulumi.Input[str]] = None,
800
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
801
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTagArgs', 'AlloydbomniTagArgsDict']]]]] = None,
802
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTechEmailArgs', 'AlloydbomniTechEmailArgsDict']]]]] = None,
803
+ termination_protection: Optional[pulumi.Input[bool]] = None,
804
+ __props__=None):
805
+ """
806
+ Creates and manages an Aiven for AlloyDB Omni service.
807
+
808
+ **This resource is in the beta stage and may change without notice.** Set
809
+ the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
810
+
811
+ ## Example Usage
812
+
813
+ ```python
814
+ import pulumi
815
+ import pulumi_aiven as aiven
816
+
817
+ example_alloydbomni = aiven.Alloydbomni("example_alloydbomni",
818
+ project=example_project["project"],
819
+ cloud_name="google-europe-west1",
820
+ plan="startup-4",
821
+ service_name="example-alloydbomni-service",
822
+ maintenance_window_dow="monday",
823
+ maintenance_window_time="10:00:00",
824
+ tags=[{
825
+ "key": "test",
826
+ "value": "val",
827
+ }],
828
+ alloydbomni_user_config={
829
+ "public_access": {
830
+ "pg": True,
831
+ "prometheus": False,
832
+ },
833
+ "pg": {
834
+ "idle_in_transaction_session_timeout": 900,
835
+ "log_min_duration_statement": -1,
836
+ },
837
+ })
838
+ ```
839
+
840
+ ## Import
841
+
842
+ ```sh
843
+ $ pulumi import aiven:index/alloydbomni:Alloydbomni example_alloydbomni PROJECT/SERVICE_NAME
844
+ ```
845
+
846
+ :param str resource_name: The name of the resource.
847
+ :param pulumi.ResourceOptions opts: Options for the resource.
848
+ :param pulumi.Input[str] additional_disk_space: 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.
849
+ :param pulumi.Input[Union['AlloydbomniAlloydbomniArgs', 'AlloydbomniAlloydbomniArgsDict']] alloydbomni: Values provided by the AlloyDB Omni server.
850
+ :param pulumi.Input[Union['AlloydbomniAlloydbomniUserConfigArgs', 'AlloydbomniAlloydbomniUserConfigArgsDict']] alloydbomni_user_config: Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
851
+ :param pulumi.Input[str] cloud_name: 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).
852
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
853
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
854
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
855
+ :param pulumi.Input[str] plan: 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).
856
+ :param pulumi.Input[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.
857
+ :param pulumi.Input[str] project_vpc_id: 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.
858
+ :param pulumi.Input[str] service_account_credentials: Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
859
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniServiceIntegrationArgs', 'AlloydbomniServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
860
+ :param pulumi.Input[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.
861
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: 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
862
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTagArgs', 'AlloydbomniTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
863
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTechEmailArgs', 'AlloydbomniTechEmailArgsDict']]]] tech_emails: 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.
864
+ :param pulumi.Input[bool] termination_protection: 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.
865
+ """
866
+ ...
867
+ @overload
868
+ def __init__(__self__,
869
+ resource_name: str,
870
+ args: AlloydbomniArgs,
871
+ opts: Optional[pulumi.ResourceOptions] = None):
872
+ """
873
+ Creates and manages an Aiven for AlloyDB Omni service.
874
+
875
+ **This resource is in the beta stage and may change without notice.** Set
876
+ the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
877
+
878
+ ## Example Usage
879
+
880
+ ```python
881
+ import pulumi
882
+ import pulumi_aiven as aiven
883
+
884
+ example_alloydbomni = aiven.Alloydbomni("example_alloydbomni",
885
+ project=example_project["project"],
886
+ cloud_name="google-europe-west1",
887
+ plan="startup-4",
888
+ service_name="example-alloydbomni-service",
889
+ maintenance_window_dow="monday",
890
+ maintenance_window_time="10:00:00",
891
+ tags=[{
892
+ "key": "test",
893
+ "value": "val",
894
+ }],
895
+ alloydbomni_user_config={
896
+ "public_access": {
897
+ "pg": True,
898
+ "prometheus": False,
899
+ },
900
+ "pg": {
901
+ "idle_in_transaction_session_timeout": 900,
902
+ "log_min_duration_statement": -1,
903
+ },
904
+ })
905
+ ```
906
+
907
+ ## Import
908
+
909
+ ```sh
910
+ $ pulumi import aiven:index/alloydbomni:Alloydbomni example_alloydbomni PROJECT/SERVICE_NAME
911
+ ```
912
+
913
+ :param str resource_name: The name of the resource.
914
+ :param AlloydbomniArgs args: The arguments to use to populate this resource's properties.
915
+ :param pulumi.ResourceOptions opts: Options for the resource.
916
+ """
917
+ ...
918
+ def __init__(__self__, resource_name: str, *args, **kwargs):
919
+ resource_args, opts = _utilities.get_resource_args_opts(AlloydbomniArgs, pulumi.ResourceOptions, *args, **kwargs)
920
+ if resource_args is not None:
921
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
922
+ else:
923
+ __self__._internal_init(resource_name, *args, **kwargs)
924
+
925
+ def _internal_init(__self__,
926
+ resource_name: str,
927
+ opts: Optional[pulumi.ResourceOptions] = None,
928
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
929
+ alloydbomni: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniArgs', 'AlloydbomniAlloydbomniArgsDict']]] = None,
930
+ alloydbomni_user_config: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniUserConfigArgs', 'AlloydbomniAlloydbomniUserConfigArgsDict']]] = None,
931
+ cloud_name: Optional[pulumi.Input[str]] = None,
932
+ disk_space: Optional[pulumi.Input[str]] = None,
933
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
934
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
935
+ plan: Optional[pulumi.Input[str]] = None,
936
+ project: Optional[pulumi.Input[str]] = None,
937
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
938
+ service_account_credentials: Optional[pulumi.Input[str]] = None,
939
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniServiceIntegrationArgs', 'AlloydbomniServiceIntegrationArgsDict']]]]] = None,
940
+ service_name: Optional[pulumi.Input[str]] = None,
941
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
942
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTagArgs', 'AlloydbomniTagArgsDict']]]]] = None,
943
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTechEmailArgs', 'AlloydbomniTechEmailArgsDict']]]]] = None,
944
+ termination_protection: Optional[pulumi.Input[bool]] = None,
945
+ __props__=None):
946
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
947
+ if not isinstance(opts, pulumi.ResourceOptions):
948
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
949
+ if opts.id is None:
950
+ if __props__ is not None:
951
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
952
+ __props__ = AlloydbomniArgs.__new__(AlloydbomniArgs)
953
+
954
+ __props__.__dict__["additional_disk_space"] = additional_disk_space
955
+ __props__.__dict__["alloydbomni"] = None if alloydbomni is None else pulumi.Output.secret(alloydbomni)
956
+ __props__.__dict__["alloydbomni_user_config"] = alloydbomni_user_config
957
+ __props__.__dict__["cloud_name"] = cloud_name
958
+ __props__.__dict__["disk_space"] = disk_space
959
+ __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
960
+ __props__.__dict__["maintenance_window_time"] = maintenance_window_time
961
+ if plan is None and not opts.urn:
962
+ raise TypeError("Missing required property 'plan'")
963
+ __props__.__dict__["plan"] = plan
964
+ if project is None and not opts.urn:
965
+ raise TypeError("Missing required property 'project'")
966
+ __props__.__dict__["project"] = project
967
+ __props__.__dict__["project_vpc_id"] = project_vpc_id
968
+ __props__.__dict__["service_account_credentials"] = None if service_account_credentials is None else pulumi.Output.secret(service_account_credentials)
969
+ __props__.__dict__["service_integrations"] = service_integrations
970
+ if service_name is None and not opts.urn:
971
+ raise TypeError("Missing required property 'service_name'")
972
+ __props__.__dict__["service_name"] = service_name
973
+ __props__.__dict__["static_ips"] = static_ips
974
+ __props__.__dict__["tags"] = tags
975
+ __props__.__dict__["tech_emails"] = tech_emails
976
+ __props__.__dict__["termination_protection"] = termination_protection
977
+ __props__.__dict__["components"] = None
978
+ __props__.__dict__["disk_space_cap"] = None
979
+ __props__.__dict__["disk_space_default"] = None
980
+ __props__.__dict__["disk_space_step"] = None
981
+ __props__.__dict__["disk_space_used"] = None
982
+ __props__.__dict__["service_host"] = None
983
+ __props__.__dict__["service_password"] = None
984
+ __props__.__dict__["service_port"] = None
985
+ __props__.__dict__["service_type"] = None
986
+ __props__.__dict__["service_uri"] = None
987
+ __props__.__dict__["service_username"] = None
988
+ __props__.__dict__["state"] = None
989
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["alloydbomni", "serviceAccountCredentials", "servicePassword", "serviceUri"])
990
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
991
+ super(Alloydbomni, __self__).__init__(
992
+ 'aiven:index/alloydbomni:Alloydbomni',
993
+ resource_name,
994
+ __props__,
995
+ opts)
996
+
997
+ @staticmethod
998
+ def get(resource_name: str,
999
+ id: pulumi.Input[str],
1000
+ opts: Optional[pulumi.ResourceOptions] = None,
1001
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
1002
+ alloydbomni: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniArgs', 'AlloydbomniAlloydbomniArgsDict']]] = None,
1003
+ alloydbomni_user_config: Optional[pulumi.Input[Union['AlloydbomniAlloydbomniUserConfigArgs', 'AlloydbomniAlloydbomniUserConfigArgsDict']]] = None,
1004
+ cloud_name: Optional[pulumi.Input[str]] = None,
1005
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniComponentArgs', 'AlloydbomniComponentArgsDict']]]]] = None,
1006
+ disk_space: Optional[pulumi.Input[str]] = None,
1007
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
1008
+ disk_space_default: Optional[pulumi.Input[str]] = None,
1009
+ disk_space_step: Optional[pulumi.Input[str]] = None,
1010
+ disk_space_used: Optional[pulumi.Input[str]] = None,
1011
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
1012
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
1013
+ plan: Optional[pulumi.Input[str]] = None,
1014
+ project: Optional[pulumi.Input[str]] = None,
1015
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
1016
+ service_account_credentials: Optional[pulumi.Input[str]] = None,
1017
+ service_host: Optional[pulumi.Input[str]] = None,
1018
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniServiceIntegrationArgs', 'AlloydbomniServiceIntegrationArgsDict']]]]] = None,
1019
+ service_name: Optional[pulumi.Input[str]] = None,
1020
+ service_password: Optional[pulumi.Input[str]] = None,
1021
+ service_port: Optional[pulumi.Input[int]] = None,
1022
+ service_type: Optional[pulumi.Input[str]] = None,
1023
+ service_uri: Optional[pulumi.Input[str]] = None,
1024
+ service_username: Optional[pulumi.Input[str]] = None,
1025
+ state: Optional[pulumi.Input[str]] = None,
1026
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1027
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTagArgs', 'AlloydbomniTagArgsDict']]]]] = None,
1028
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTechEmailArgs', 'AlloydbomniTechEmailArgsDict']]]]] = None,
1029
+ termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Alloydbomni':
1030
+ """
1031
+ Get an existing Alloydbomni resource's state with the given name, id, and optional extra
1032
+ properties used to qualify the lookup.
1033
+
1034
+ :param str resource_name: The unique name of the resulting resource.
1035
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1036
+ :param pulumi.ResourceOptions opts: Options for the resource.
1037
+ :param pulumi.Input[str] additional_disk_space: 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.
1038
+ :param pulumi.Input[Union['AlloydbomniAlloydbomniArgs', 'AlloydbomniAlloydbomniArgsDict']] alloydbomni: Values provided by the AlloyDB Omni server.
1039
+ :param pulumi.Input[Union['AlloydbomniAlloydbomniUserConfigArgs', 'AlloydbomniAlloydbomniUserConfigArgsDict']] alloydbomni_user_config: Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1040
+ :param pulumi.Input[str] cloud_name: 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).
1041
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniComponentArgs', 'AlloydbomniComponentArgsDict']]]] components: Service component information objects
1042
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1043
+ :param pulumi.Input[str] disk_space_cap: The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
1044
+ :param pulumi.Input[str] disk_space_default: 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`
1045
+ :param pulumi.Input[str] disk_space_step: 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.
1046
+ :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
1047
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1048
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1049
+ :param pulumi.Input[str] plan: 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).
1050
+ :param pulumi.Input[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.
1051
+ :param pulumi.Input[str] project_vpc_id: 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.
1052
+ :param pulumi.Input[str] service_account_credentials: Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
1053
+ :param pulumi.Input[str] service_host: The hostname of the service.
1054
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniServiceIntegrationArgs', 'AlloydbomniServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
1055
+ :param pulumi.Input[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.
1056
+ :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
1057
+ :param pulumi.Input[int] service_port: The port of the service
1058
+ :param pulumi.Input[str] service_type: Aiven internal service type code
1059
+ :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1060
+ :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
1061
+ :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1062
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: 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
1063
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTagArgs', 'AlloydbomniTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
1064
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AlloydbomniTechEmailArgs', 'AlloydbomniTechEmailArgsDict']]]] tech_emails: 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.
1065
+ :param pulumi.Input[bool] termination_protection: 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.
1066
+ """
1067
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1068
+
1069
+ __props__ = _AlloydbomniState.__new__(_AlloydbomniState)
1070
+
1071
+ __props__.__dict__["additional_disk_space"] = additional_disk_space
1072
+ __props__.__dict__["alloydbomni"] = alloydbomni
1073
+ __props__.__dict__["alloydbomni_user_config"] = alloydbomni_user_config
1074
+ __props__.__dict__["cloud_name"] = cloud_name
1075
+ __props__.__dict__["components"] = components
1076
+ __props__.__dict__["disk_space"] = disk_space
1077
+ __props__.__dict__["disk_space_cap"] = disk_space_cap
1078
+ __props__.__dict__["disk_space_default"] = disk_space_default
1079
+ __props__.__dict__["disk_space_step"] = disk_space_step
1080
+ __props__.__dict__["disk_space_used"] = disk_space_used
1081
+ __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
1082
+ __props__.__dict__["maintenance_window_time"] = maintenance_window_time
1083
+ __props__.__dict__["plan"] = plan
1084
+ __props__.__dict__["project"] = project
1085
+ __props__.__dict__["project_vpc_id"] = project_vpc_id
1086
+ __props__.__dict__["service_account_credentials"] = service_account_credentials
1087
+ __props__.__dict__["service_host"] = service_host
1088
+ __props__.__dict__["service_integrations"] = service_integrations
1089
+ __props__.__dict__["service_name"] = service_name
1090
+ __props__.__dict__["service_password"] = service_password
1091
+ __props__.__dict__["service_port"] = service_port
1092
+ __props__.__dict__["service_type"] = service_type
1093
+ __props__.__dict__["service_uri"] = service_uri
1094
+ __props__.__dict__["service_username"] = service_username
1095
+ __props__.__dict__["state"] = state
1096
+ __props__.__dict__["static_ips"] = static_ips
1097
+ __props__.__dict__["tags"] = tags
1098
+ __props__.__dict__["tech_emails"] = tech_emails
1099
+ __props__.__dict__["termination_protection"] = termination_protection
1100
+ return Alloydbomni(resource_name, opts=opts, __props__=__props__)
1101
+
1102
+ @property
1103
+ @pulumi.getter(name="additionalDiskSpace")
1104
+ def additional_disk_space(self) -> pulumi.Output[str]:
1105
+ """
1106
+ 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.
1107
+ """
1108
+ return pulumi.get(self, "additional_disk_space")
1109
+
1110
+ @property
1111
+ @pulumi.getter
1112
+ def alloydbomni(self) -> pulumi.Output['outputs.AlloydbomniAlloydbomni']:
1113
+ """
1114
+ Values provided by the AlloyDB Omni server.
1115
+ """
1116
+ return pulumi.get(self, "alloydbomni")
1117
+
1118
+ @property
1119
+ @pulumi.getter(name="alloydbomniUserConfig")
1120
+ def alloydbomni_user_config(self) -> pulumi.Output[Optional['outputs.AlloydbomniAlloydbomniUserConfig']]:
1121
+ """
1122
+ Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1123
+ """
1124
+ return pulumi.get(self, "alloydbomni_user_config")
1125
+
1126
+ @property
1127
+ @pulumi.getter(name="cloudName")
1128
+ def cloud_name(self) -> pulumi.Output[Optional[str]]:
1129
+ """
1130
+ 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).
1131
+ """
1132
+ return pulumi.get(self, "cloud_name")
1133
+
1134
+ @property
1135
+ @pulumi.getter
1136
+ def components(self) -> pulumi.Output[Sequence['outputs.AlloydbomniComponent']]:
1137
+ """
1138
+ Service component information objects
1139
+ """
1140
+ return pulumi.get(self, "components")
1141
+
1142
+ @property
1143
+ @pulumi.getter(name="diskSpace")
1144
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1145
+ def disk_space(self) -> pulumi.Output[Optional[str]]:
1146
+ """
1147
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1148
+ """
1149
+ return pulumi.get(self, "disk_space")
1150
+
1151
+ @property
1152
+ @pulumi.getter(name="diskSpaceCap")
1153
+ def disk_space_cap(self) -> pulumi.Output[str]:
1154
+ """
1155
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
1156
+ """
1157
+ return pulumi.get(self, "disk_space_cap")
1158
+
1159
+ @property
1160
+ @pulumi.getter(name="diskSpaceDefault")
1161
+ def disk_space_default(self) -> pulumi.Output[str]:
1162
+ """
1163
+ 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`
1164
+ """
1165
+ return pulumi.get(self, "disk_space_default")
1166
+
1167
+ @property
1168
+ @pulumi.getter(name="diskSpaceStep")
1169
+ def disk_space_step(self) -> pulumi.Output[str]:
1170
+ """
1171
+ 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.
1172
+ """
1173
+ return pulumi.get(self, "disk_space_step")
1174
+
1175
+ @property
1176
+ @pulumi.getter(name="diskSpaceUsed")
1177
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1178
+ def disk_space_used(self) -> pulumi.Output[str]:
1179
+ """
1180
+ Disk space that service is currently using
1181
+ """
1182
+ return pulumi.get(self, "disk_space_used")
1183
+
1184
+ @property
1185
+ @pulumi.getter(name="maintenanceWindowDow")
1186
+ def maintenance_window_dow(self) -> pulumi.Output[Optional[str]]:
1187
+ """
1188
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1189
+ """
1190
+ return pulumi.get(self, "maintenance_window_dow")
1191
+
1192
+ @property
1193
+ @pulumi.getter(name="maintenanceWindowTime")
1194
+ def maintenance_window_time(self) -> pulumi.Output[Optional[str]]:
1195
+ """
1196
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1197
+ """
1198
+ return pulumi.get(self, "maintenance_window_time")
1199
+
1200
+ @property
1201
+ @pulumi.getter
1202
+ def plan(self) -> pulumi.Output[str]:
1203
+ """
1204
+ 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).
1205
+ """
1206
+ return pulumi.get(self, "plan")
1207
+
1208
+ @property
1209
+ @pulumi.getter
1210
+ def project(self) -> pulumi.Output[str]:
1211
+ """
1212
+ 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.
1213
+ """
1214
+ return pulumi.get(self, "project")
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="projectVpcId")
1218
+ def project_vpc_id(self) -> pulumi.Output[str]:
1219
+ """
1220
+ 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.
1221
+ """
1222
+ return pulumi.get(self, "project_vpc_id")
1223
+
1224
+ @property
1225
+ @pulumi.getter(name="serviceAccountCredentials")
1226
+ def service_account_credentials(self) -> pulumi.Output[Optional[str]]:
1227
+ """
1228
+ Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.
1229
+ """
1230
+ return pulumi.get(self, "service_account_credentials")
1231
+
1232
+ @property
1233
+ @pulumi.getter(name="serviceHost")
1234
+ def service_host(self) -> pulumi.Output[str]:
1235
+ """
1236
+ The hostname of the service.
1237
+ """
1238
+ return pulumi.get(self, "service_host")
1239
+
1240
+ @property
1241
+ @pulumi.getter(name="serviceIntegrations")
1242
+ def service_integrations(self) -> pulumi.Output[Sequence['outputs.AlloydbomniServiceIntegration']]:
1243
+ """
1244
+ Service integrations to specify when creating a service. Not applied after initial service creation
1245
+ """
1246
+ return pulumi.get(self, "service_integrations")
1247
+
1248
+ @property
1249
+ @pulumi.getter(name="serviceName")
1250
+ def service_name(self) -> pulumi.Output[str]:
1251
+ """
1252
+ 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.
1253
+ """
1254
+ return pulumi.get(self, "service_name")
1255
+
1256
+ @property
1257
+ @pulumi.getter(name="servicePassword")
1258
+ def service_password(self) -> pulumi.Output[str]:
1259
+ """
1260
+ Password used for connecting to the service, if applicable
1261
+ """
1262
+ return pulumi.get(self, "service_password")
1263
+
1264
+ @property
1265
+ @pulumi.getter(name="servicePort")
1266
+ def service_port(self) -> pulumi.Output[int]:
1267
+ """
1268
+ The port of the service
1269
+ """
1270
+ return pulumi.get(self, "service_port")
1271
+
1272
+ @property
1273
+ @pulumi.getter(name="serviceType")
1274
+ def service_type(self) -> pulumi.Output[str]:
1275
+ """
1276
+ Aiven internal service type code
1277
+ """
1278
+ return pulumi.get(self, "service_type")
1279
+
1280
+ @property
1281
+ @pulumi.getter(name="serviceUri")
1282
+ def service_uri(self) -> pulumi.Output[str]:
1283
+ """
1284
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1285
+ """
1286
+ return pulumi.get(self, "service_uri")
1287
+
1288
+ @property
1289
+ @pulumi.getter(name="serviceUsername")
1290
+ def service_username(self) -> pulumi.Output[str]:
1291
+ """
1292
+ Username used for connecting to the service, if applicable
1293
+ """
1294
+ return pulumi.get(self, "service_username")
1295
+
1296
+ @property
1297
+ @pulumi.getter
1298
+ def state(self) -> pulumi.Output[str]:
1299
+ """
1300
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1301
+ """
1302
+ return pulumi.get(self, "state")
1303
+
1304
+ @property
1305
+ @pulumi.getter(name="staticIps")
1306
+ def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1307
+ """
1308
+ 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
1309
+ """
1310
+ return pulumi.get(self, "static_ips")
1311
+
1312
+ @property
1313
+ @pulumi.getter
1314
+ def tags(self) -> pulumi.Output[Optional[Sequence['outputs.AlloydbomniTag']]]:
1315
+ """
1316
+ Tags are key-value pairs that allow you to categorize services.
1317
+ """
1318
+ return pulumi.get(self, "tags")
1319
+
1320
+ @property
1321
+ @pulumi.getter(name="techEmails")
1322
+ def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.AlloydbomniTechEmail']]]:
1323
+ """
1324
+ 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.
1325
+ """
1326
+ return pulumi.get(self, "tech_emails")
1327
+
1328
+ @property
1329
+ @pulumi.getter(name="terminationProtection")
1330
+ def termination_protection(self) -> pulumi.Output[Optional[bool]]:
1331
+ """
1332
+ 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.
1333
+ """
1334
+ return pulumi.get(self, "termination_protection")
1335
+