pulumi-aiven 6.12.0a1708541199__py3-none-any.whl → 6.13.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (135) hide show
  1. pulumi_aiven/__init__.py +28 -0
  2. pulumi_aiven/_inputs.py +2491 -944
  3. pulumi_aiven/account.py +40 -32
  4. pulumi_aiven/account_authentication.py +8 -4
  5. pulumi_aiven/account_team.py +6 -2
  6. pulumi_aiven/account_team_member.py +27 -23
  7. pulumi_aiven/account_team_project.py +6 -2
  8. pulumi_aiven/aws_privatelink.py +43 -39
  9. pulumi_aiven/aws_vpc_peering_connection.py +66 -52
  10. pulumi_aiven/azure_privatelink.py +53 -49
  11. pulumi_aiven/azure_privatelink_connection_approval.py +33 -33
  12. pulumi_aiven/azure_vpc_peering_connection.py +80 -68
  13. pulumi_aiven/billing_group.py +6 -2
  14. pulumi_aiven/cassandra.py +13 -9
  15. pulumi_aiven/cassandra_user.py +27 -23
  16. pulumi_aiven/clickhouse.py +13 -9
  17. pulumi_aiven/clickhouse_database.py +27 -23
  18. pulumi_aiven/clickhouse_grant.py +46 -42
  19. pulumi_aiven/clickhouse_role.py +27 -23
  20. pulumi_aiven/clickhouse_user.py +27 -23
  21. pulumi_aiven/connection_pool.py +34 -30
  22. pulumi_aiven/dragonfly.py +1344 -0
  23. pulumi_aiven/flink.py +13 -9
  24. pulumi_aiven/flink_application.py +20 -16
  25. pulumi_aiven/flink_application_deployment.py +14 -14
  26. pulumi_aiven/flink_application_version.py +16 -16
  27. pulumi_aiven/gcp_privatelink.py +26 -26
  28. pulumi_aiven/gcp_privatelink_connection_approval.py +33 -33
  29. pulumi_aiven/gcp_vpc_peering_connection.py +41 -37
  30. pulumi_aiven/get_account.py +4 -0
  31. pulumi_aiven/get_account_team_member.py +9 -9
  32. pulumi_aiven/get_aws_privatelink.py +19 -15
  33. pulumi_aiven/get_aws_vpc_peering_connection.py +37 -23
  34. pulumi_aiven/get_azure_privatelink.py +21 -17
  35. pulumi_aiven/get_azure_vpc_peering_connection.py +58 -26
  36. pulumi_aiven/get_cassanda.py +7 -3
  37. pulumi_aiven/get_cassandra.py +7 -3
  38. pulumi_aiven/get_cassandra_user.py +13 -9
  39. pulumi_aiven/get_clickhouse.py +7 -3
  40. pulumi_aiven/get_clickhouse_database.py +13 -9
  41. pulumi_aiven/get_clickhouse_user.py +13 -9
  42. pulumi_aiven/get_connection_pool.py +14 -10
  43. pulumi_aiven/get_dragonfly.py +443 -0
  44. pulumi_aiven/get_flink.py +7 -3
  45. pulumi_aiven/get_flink_application.py +10 -6
  46. pulumi_aiven/get_flink_application_version.py +10 -6
  47. pulumi_aiven/get_gcp_vpc_peering_connection.py +22 -18
  48. pulumi_aiven/get_grafana.py +7 -3
  49. pulumi_aiven/get_kafka.py +7 -3
  50. pulumi_aiven/get_kafka_acl.py +19 -15
  51. pulumi_aiven/get_kafka_connect.py +7 -3
  52. pulumi_aiven/get_kafka_connector.py +13 -9
  53. pulumi_aiven/get_kafka_mirror_maker.py +7 -3
  54. pulumi_aiven/get_kafka_schema.py +13 -9
  55. pulumi_aiven/get_kafka_schema_configuration.py +11 -7
  56. pulumi_aiven/get_kafka_schema_registry_acl.py +15 -15
  57. pulumi_aiven/get_kafka_topic.py +13 -9
  58. pulumi_aiven/get_kafka_user.py +13 -9
  59. pulumi_aiven/get_m3_aggregator.py +7 -3
  60. pulumi_aiven/get_m3_db.py +7 -3
  61. pulumi_aiven/get_m3db_user.py +13 -9
  62. pulumi_aiven/get_mirror_maker_replication_flow.py +10 -6
  63. pulumi_aiven/get_my_sql.py +7 -3
  64. pulumi_aiven/get_mysql_database.py +13 -9
  65. pulumi_aiven/get_mysql_user.py +13 -9
  66. pulumi_aiven/get_open_search.py +7 -3
  67. pulumi_aiven/get_open_search_acl_config.py +10 -6
  68. pulumi_aiven/get_open_search_acl_rule.py +16 -12
  69. pulumi_aiven/get_opensearch_security_plugin_config.py +10 -6
  70. pulumi_aiven/get_opensearch_user.py +13 -9
  71. pulumi_aiven/get_organization.py +12 -8
  72. pulumi_aiven/get_organization_user_group.py +33 -9
  73. pulumi_aiven/get_organizational_unit.py +9 -9
  74. pulumi_aiven/get_pg.py +7 -3
  75. pulumi_aiven/get_pg_database.py +15 -11
  76. pulumi_aiven/get_pg_user.py +13 -9
  77. pulumi_aiven/get_project.py +4 -0
  78. pulumi_aiven/get_project_user.py +10 -6
  79. pulumi_aiven/get_project_vpc.py +15 -13
  80. pulumi_aiven/get_redis.py +7 -3
  81. pulumi_aiven/get_redis_user.py +17 -13
  82. pulumi_aiven/get_service_component.py +4 -0
  83. pulumi_aiven/get_service_integration.py +60 -4
  84. pulumi_aiven/get_service_integration_endpoint.py +5 -1
  85. pulumi_aiven/get_transit_gateway_vpc_attachment.py +13 -9
  86. pulumi_aiven/grafana.py +13 -9
  87. pulumi_aiven/influx_db.py +7 -7
  88. pulumi_aiven/influxdb_database.py +21 -21
  89. pulumi_aiven/influxdb_user.py +28 -28
  90. pulumi_aiven/kafka.py +13 -9
  91. pulumi_aiven/kafka_acl.py +41 -37
  92. pulumi_aiven/kafka_connect.py +13 -9
  93. pulumi_aiven/kafka_connector.py +27 -23
  94. pulumi_aiven/kafka_mirror_maker.py +13 -9
  95. pulumi_aiven/kafka_schema.py +53 -45
  96. pulumi_aiven/kafka_schema_configuration.py +20 -16
  97. pulumi_aiven/kafka_schema_registry_acl.py +35 -35
  98. pulumi_aiven/kafka_topic.py +23 -23
  99. pulumi_aiven/kafka_user.py +27 -23
  100. pulumi_aiven/m3_aggregator.py +13 -9
  101. pulumi_aiven/m3_db.py +13 -9
  102. pulumi_aiven/m3db_user.py +27 -23
  103. pulumi_aiven/mirror_maker_replication_flow.py +56 -50
  104. pulumi_aiven/my_sql.py +13 -9
  105. pulumi_aiven/mysql_database.py +27 -23
  106. pulumi_aiven/mysql_user.py +27 -23
  107. pulumi_aiven/open_search.py +13 -9
  108. pulumi_aiven/open_search_acl_config.py +20 -16
  109. pulumi_aiven/open_search_acl_rule.py +34 -30
  110. pulumi_aiven/opensearch_security_plugin_config.py +68 -16
  111. pulumi_aiven/opensearch_user.py +27 -23
  112. pulumi_aiven/organization.py +14 -10
  113. pulumi_aiven/organization_group_project.py +290 -0
  114. pulumi_aiven/organization_user.py +16 -16
  115. pulumi_aiven/organization_user_group.py +61 -23
  116. pulumi_aiven/organization_user_group_member.py +352 -0
  117. pulumi_aiven/organizational_unit.py +36 -32
  118. pulumi_aiven/outputs.py +3013 -491
  119. pulumi_aiven/pg.py +9 -9
  120. pulumi_aiven/pg_database.py +41 -37
  121. pulumi_aiven/pg_user.py +27 -23
  122. pulumi_aiven/project.py +28 -2
  123. pulumi_aiven/project_user.py +20 -16
  124. pulumi_aiven/project_vpc.py +25 -25
  125. pulumi_aiven/redis.py +13 -9
  126. pulumi_aiven/redis_user.py +55 -51
  127. pulumi_aiven/service_integration.py +201 -9
  128. pulumi_aiven/service_integration_endpoint.py +7 -7
  129. pulumi_aiven/static_ip.py +14 -14
  130. pulumi_aiven/transit_gateway_vpc_attachment.py +27 -23
  131. {pulumi_aiven-6.12.0a1708541199.dist-info → pulumi_aiven-6.13.0.dist-info}/METADATA +1 -1
  132. pulumi_aiven-6.13.0.dist-info/RECORD +150 -0
  133. {pulumi_aiven-6.12.0a1708541199.dist-info → pulumi_aiven-6.13.0.dist-info}/WHEEL +1 -1
  134. pulumi_aiven-6.12.0a1708541199.dist-info/RECORD +0 -146
  135. {pulumi_aiven-6.12.0a1708541199.dist-info → pulumi_aiven-6.13.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1344 @@
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
+ from ._inputs import *
13
+
14
+ __all__ = ['DragonflyArgs', 'Dragonfly']
15
+
16
+ @pulumi.input_type
17
+ class DragonflyArgs:
18
+ def __init__(__self__, *,
19
+ plan: pulumi.Input[str],
20
+ project: pulumi.Input[str],
21
+ service_name: pulumi.Input[str],
22
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
23
+ cloud_name: Optional[pulumi.Input[str]] = None,
24
+ disk_space: Optional[pulumi.Input[str]] = None,
25
+ dragonfly_user_config: Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']] = None,
26
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
27
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
28
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
29
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]] = None,
30
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]] = None,
32
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]] = None,
33
+ termination_protection: Optional[pulumi.Input[bool]] = None):
34
+ """
35
+ The set of arguments for constructing a Dragonfly resource.
36
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
37
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
38
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
39
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
40
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
41
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
42
+ :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
43
+ reference. Changing this property forces recreation of the resource.
44
+ :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
45
+ service so name should be picked based on intended service usage rather than current attributes.
46
+ :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
47
+ reducing will result in the service rebalancing.
48
+ :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
49
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
50
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
51
+ are documented on each Cloud provider's own support articles, like [here for
52
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
53
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
54
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
55
+ will result in the service rebalancing.
56
+ :param pulumi.Input['DragonflyDragonflyUserConfigArgs'] dragonfly_user_config: Dragonfly user configurable settings
57
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
58
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
59
+ :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
60
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
61
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
62
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
63
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
64
+ :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
65
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
66
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
67
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
68
+ instability.
69
+ :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
70
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
71
+ much of the content can at least be restored from backup in case accidental deletion is done.
72
+ """
73
+ pulumi.set(__self__, "plan", plan)
74
+ pulumi.set(__self__, "project", project)
75
+ pulumi.set(__self__, "service_name", service_name)
76
+ if additional_disk_space is not None:
77
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
78
+ if cloud_name is not None:
79
+ pulumi.set(__self__, "cloud_name", cloud_name)
80
+ if disk_space is not None:
81
+ 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)
82
+ 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.""")
83
+ if disk_space is not None:
84
+ pulumi.set(__self__, "disk_space", disk_space)
85
+ if dragonfly_user_config is not None:
86
+ pulumi.set(__self__, "dragonfly_user_config", dragonfly_user_config)
87
+ if maintenance_window_dow is not None:
88
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
89
+ if maintenance_window_time is not None:
90
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
91
+ if project_vpc_id is not None:
92
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
93
+ if service_integrations is not None:
94
+ pulumi.set(__self__, "service_integrations", service_integrations)
95
+ if static_ips is not None:
96
+ pulumi.set(__self__, "static_ips", static_ips)
97
+ if tags is not None:
98
+ pulumi.set(__self__, "tags", tags)
99
+ if tech_emails is not None:
100
+ pulumi.set(__self__, "tech_emails", tech_emails)
101
+ if termination_protection is not None:
102
+ pulumi.set(__self__, "termination_protection", termination_protection)
103
+
104
+ @property
105
+ @pulumi.getter
106
+ def plan(self) -> pulumi.Input[str]:
107
+ """
108
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
109
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
110
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
111
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
112
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
113
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
114
+ """
115
+ return pulumi.get(self, "plan")
116
+
117
+ @plan.setter
118
+ def plan(self, value: pulumi.Input[str]):
119
+ pulumi.set(self, "plan", value)
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def project(self) -> pulumi.Input[str]:
124
+ """
125
+ Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
126
+ reference. Changing this property forces recreation of the resource.
127
+ """
128
+ return pulumi.get(self, "project")
129
+
130
+ @project.setter
131
+ def project(self, value: pulumi.Input[str]):
132
+ pulumi.set(self, "project", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="serviceName")
136
+ def service_name(self) -> pulumi.Input[str]:
137
+ """
138
+ Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the
139
+ service so name should be picked based on intended service usage rather than current attributes.
140
+ """
141
+ return pulumi.get(self, "service_name")
142
+
143
+ @service_name.setter
144
+ def service_name(self, value: pulumi.Input[str]):
145
+ pulumi.set(self, "service_name", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="additionalDiskSpace")
149
+ def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
150
+ """
151
+ Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
152
+ reducing will result in the service rebalancing.
153
+ """
154
+ return pulumi.get(self, "additional_disk_space")
155
+
156
+ @additional_disk_space.setter
157
+ def additional_disk_space(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "additional_disk_space", value)
159
+
160
+ @property
161
+ @pulumi.getter(name="cloudName")
162
+ def cloud_name(self) -> Optional[pulumi.Input[str]]:
163
+ """
164
+ Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is
165
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
166
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
167
+ are documented on each Cloud provider's own support articles, like [here for
168
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
169
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
170
+ """
171
+ return pulumi.get(self, "cloud_name")
172
+
173
+ @cloud_name.setter
174
+ def cloud_name(self, value: Optional[pulumi.Input[str]]):
175
+ pulumi.set(self, "cloud_name", value)
176
+
177
+ @property
178
+ @pulumi.getter(name="diskSpace")
179
+ def disk_space(self) -> Optional[pulumi.Input[str]]:
180
+ """
181
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
182
+ will result in the service rebalancing.
183
+ """
184
+ 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)
185
+ 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.""")
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="dragonflyUserConfig")
195
+ def dragonfly_user_config(self) -> Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']]:
196
+ """
197
+ Dragonfly user configurable settings
198
+ """
199
+ return pulumi.get(self, "dragonfly_user_config")
200
+
201
+ @dragonfly_user_config.setter
202
+ def dragonfly_user_config(self, value: Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']]):
203
+ pulumi.set(self, "dragonfly_user_config", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="maintenanceWindowDow")
207
+ def maintenance_window_dow(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
210
+ """
211
+ return pulumi.get(self, "maintenance_window_dow")
212
+
213
+ @maintenance_window_dow.setter
214
+ def maintenance_window_dow(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "maintenance_window_dow", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="maintenanceWindowTime")
219
+ def maintenance_window_time(self) -> Optional[pulumi.Input[str]]:
220
+ """
221
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
222
+ """
223
+ return pulumi.get(self, "maintenance_window_time")
224
+
225
+ @maintenance_window_time.setter
226
+ def maintenance_window_time(self, value: Optional[pulumi.Input[str]]):
227
+ pulumi.set(self, "maintenance_window_time", value)
228
+
229
+ @property
230
+ @pulumi.getter(name="projectVpcId")
231
+ def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
232
+ """
233
+ 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
234
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
235
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
236
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
237
+ """
238
+ return pulumi.get(self, "project_vpc_id")
239
+
240
+ @project_vpc_id.setter
241
+ def project_vpc_id(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "project_vpc_id", value)
243
+
244
+ @property
245
+ @pulumi.getter(name="serviceIntegrations")
246
+ def service_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]]:
247
+ """
248
+ Service integrations to specify when creating a service. Not applied after initial service creation
249
+ """
250
+ return pulumi.get(self, "service_integrations")
251
+
252
+ @service_integrations.setter
253
+ def service_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]]):
254
+ pulumi.set(self, "service_integrations", value)
255
+
256
+ @property
257
+ @pulumi.getter(name="staticIps")
258
+ def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
259
+ """
260
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a
261
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
262
+ """
263
+ return pulumi.get(self, "static_ips")
264
+
265
+ @static_ips.setter
266
+ def static_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
267
+ pulumi.set(self, "static_ips", value)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]]:
272
+ """
273
+ Tags are key-value pairs that allow you to categorize services.
274
+ """
275
+ return pulumi.get(self, "tags")
276
+
277
+ @tags.setter
278
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]]):
279
+ pulumi.set(self, "tags", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="techEmails")
283
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]]:
284
+ """
285
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
286
+ instability.
287
+ """
288
+ return pulumi.get(self, "tech_emails")
289
+
290
+ @tech_emails.setter
291
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]]):
292
+ pulumi.set(self, "tech_emails", value)
293
+
294
+ @property
295
+ @pulumi.getter(name="terminationProtection")
296
+ def termination_protection(self) -> Optional[pulumi.Input[bool]]:
297
+ """
298
+ Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent
299
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
300
+ much of the content can at least be restored from backup in case accidental deletion is done.
301
+ """
302
+ return pulumi.get(self, "termination_protection")
303
+
304
+ @termination_protection.setter
305
+ def termination_protection(self, value: Optional[pulumi.Input[bool]]):
306
+ pulumi.set(self, "termination_protection", value)
307
+
308
+
309
+ @pulumi.input_type
310
+ class _DragonflyState:
311
+ def __init__(__self__, *,
312
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
313
+ cloud_name: Optional[pulumi.Input[str]] = None,
314
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyComponentArgs']]]] = None,
315
+ disk_space: Optional[pulumi.Input[str]] = None,
316
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
317
+ disk_space_default: Optional[pulumi.Input[str]] = None,
318
+ disk_space_step: Optional[pulumi.Input[str]] = None,
319
+ disk_space_used: Optional[pulumi.Input[str]] = None,
320
+ dragonflies: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyDragonflyArgs']]]] = None,
321
+ dragonfly_user_config: Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']] = None,
322
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
323
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
324
+ plan: Optional[pulumi.Input[str]] = None,
325
+ project: Optional[pulumi.Input[str]] = None,
326
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
327
+ service_host: Optional[pulumi.Input[str]] = None,
328
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]] = None,
329
+ service_name: Optional[pulumi.Input[str]] = None,
330
+ service_password: Optional[pulumi.Input[str]] = None,
331
+ service_port: Optional[pulumi.Input[int]] = None,
332
+ service_type: Optional[pulumi.Input[str]] = None,
333
+ service_uri: Optional[pulumi.Input[str]] = None,
334
+ service_username: Optional[pulumi.Input[str]] = None,
335
+ state: Optional[pulumi.Input[str]] = None,
336
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
337
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]] = None,
338
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]] = None,
339
+ termination_protection: Optional[pulumi.Input[bool]] = None):
340
+ """
341
+ Input properties used for looking up and filtering Dragonfly resources.
342
+ :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
343
+ reducing will result in the service rebalancing.
344
+ :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
345
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
346
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
347
+ are documented on each Cloud provider's own support articles, like [here for
348
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
349
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
350
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyComponentArgs']]] components: Service component information objects
351
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
352
+ will result in the service rebalancing.
353
+ :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.
354
+ :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.
355
+ Its also the minimum value for `disk_space`
356
+ :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
357
+ project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
358
+ :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
359
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyDragonflyArgs']]] dragonflies: Dragonfly server provided values
360
+ :param pulumi.Input['DragonflyDragonflyUserConfigArgs'] dragonfly_user_config: Dragonfly user configurable settings
361
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
362
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
363
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
364
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
365
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
366
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
367
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
368
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
369
+ :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
370
+ reference. Changing this property forces recreation of the resource.
371
+ :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
372
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
373
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
374
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
375
+ :param pulumi.Input[str] service_host: The hostname of the service.
376
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
377
+ :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
378
+ service so name should be picked based on intended service usage rather than current attributes.
379
+ :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
380
+ :param pulumi.Input[int] service_port: The port of the service
381
+ :param pulumi.Input[str] service_type: Aiven internal service type code
382
+ :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
383
+ :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
384
+ :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
385
+ :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
386
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
387
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
388
+ :param pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
389
+ instability.
390
+ :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
391
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
392
+ much of the content can at least be restored from backup in case accidental deletion is done.
393
+ """
394
+ if additional_disk_space is not None:
395
+ pulumi.set(__self__, "additional_disk_space", additional_disk_space)
396
+ if cloud_name is not None:
397
+ pulumi.set(__self__, "cloud_name", cloud_name)
398
+ if components is not None:
399
+ pulumi.set(__self__, "components", components)
400
+ if disk_space is not None:
401
+ 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)
402
+ 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.""")
403
+ if disk_space is not None:
404
+ pulumi.set(__self__, "disk_space", disk_space)
405
+ if disk_space_cap is not None:
406
+ pulumi.set(__self__, "disk_space_cap", disk_space_cap)
407
+ if disk_space_default is not None:
408
+ pulumi.set(__self__, "disk_space_default", disk_space_default)
409
+ if disk_space_step is not None:
410
+ pulumi.set(__self__, "disk_space_step", disk_space_step)
411
+ if disk_space_used is not None:
412
+ pulumi.set(__self__, "disk_space_used", disk_space_used)
413
+ if dragonflies is not None:
414
+ pulumi.set(__self__, "dragonflies", dragonflies)
415
+ if dragonfly_user_config is not None:
416
+ pulumi.set(__self__, "dragonfly_user_config", dragonfly_user_config)
417
+ if maintenance_window_dow is not None:
418
+ pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
419
+ if maintenance_window_time is not None:
420
+ pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
421
+ if plan is not None:
422
+ pulumi.set(__self__, "plan", plan)
423
+ if project is not None:
424
+ pulumi.set(__self__, "project", project)
425
+ if project_vpc_id is not None:
426
+ pulumi.set(__self__, "project_vpc_id", project_vpc_id)
427
+ if service_host is not None:
428
+ pulumi.set(__self__, "service_host", service_host)
429
+ if service_integrations is not None:
430
+ pulumi.set(__self__, "service_integrations", service_integrations)
431
+ if service_name is not None:
432
+ pulumi.set(__self__, "service_name", service_name)
433
+ if service_password is not None:
434
+ pulumi.set(__self__, "service_password", service_password)
435
+ if service_port is not None:
436
+ pulumi.set(__self__, "service_port", service_port)
437
+ if service_type is not None:
438
+ pulumi.set(__self__, "service_type", service_type)
439
+ if service_uri is not None:
440
+ pulumi.set(__self__, "service_uri", service_uri)
441
+ if service_username is not None:
442
+ pulumi.set(__self__, "service_username", service_username)
443
+ if state is not None:
444
+ pulumi.set(__self__, "state", state)
445
+ if static_ips is not None:
446
+ pulumi.set(__self__, "static_ips", static_ips)
447
+ if tags is not None:
448
+ pulumi.set(__self__, "tags", tags)
449
+ if tech_emails is not None:
450
+ pulumi.set(__self__, "tech_emails", tech_emails)
451
+ if termination_protection is not None:
452
+ pulumi.set(__self__, "termination_protection", termination_protection)
453
+
454
+ @property
455
+ @pulumi.getter(name="additionalDiskSpace")
456
+ def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
457
+ """
458
+ Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
459
+ reducing will result in the service rebalancing.
460
+ """
461
+ return pulumi.get(self, "additional_disk_space")
462
+
463
+ @additional_disk_space.setter
464
+ def additional_disk_space(self, value: Optional[pulumi.Input[str]]):
465
+ pulumi.set(self, "additional_disk_space", 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
472
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
473
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
474
+ are documented on each Cloud provider's own support articles, like [here for
475
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
476
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
477
+ """
478
+ return pulumi.get(self, "cloud_name")
479
+
480
+ @cloud_name.setter
481
+ def cloud_name(self, value: Optional[pulumi.Input[str]]):
482
+ pulumi.set(self, "cloud_name", value)
483
+
484
+ @property
485
+ @pulumi.getter
486
+ def components(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyComponentArgs']]]]:
487
+ """
488
+ Service component information objects
489
+ """
490
+ return pulumi.get(self, "components")
491
+
492
+ @components.setter
493
+ def components(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyComponentArgs']]]]):
494
+ pulumi.set(self, "components", value)
495
+
496
+ @property
497
+ @pulumi.getter(name="diskSpace")
498
+ def disk_space(self) -> Optional[pulumi.Input[str]]:
499
+ """
500
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
501
+ will result in the service rebalancing.
502
+ """
503
+ 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)
504
+ 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.""")
505
+
506
+ return pulumi.get(self, "disk_space")
507
+
508
+ @disk_space.setter
509
+ def disk_space(self, value: Optional[pulumi.Input[str]]):
510
+ pulumi.set(self, "disk_space", value)
511
+
512
+ @property
513
+ @pulumi.getter(name="diskSpaceCap")
514
+ def disk_space_cap(self) -> Optional[pulumi.Input[str]]:
515
+ """
516
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
517
+ """
518
+ return pulumi.get(self, "disk_space_cap")
519
+
520
+ @disk_space_cap.setter
521
+ def disk_space_cap(self, value: Optional[pulumi.Input[str]]):
522
+ pulumi.set(self, "disk_space_cap", value)
523
+
524
+ @property
525
+ @pulumi.getter(name="diskSpaceDefault")
526
+ def disk_space_default(self) -> Optional[pulumi.Input[str]]:
527
+ """
528
+ The default disk space of the service, possible values depend on the service type, the cloud provider and the project.
529
+ Its also the minimum value for `disk_space`
530
+ """
531
+ return pulumi.get(self, "disk_space_default")
532
+
533
+ @disk_space_default.setter
534
+ def disk_space_default(self, value: Optional[pulumi.Input[str]]):
535
+ pulumi.set(self, "disk_space_default", value)
536
+
537
+ @property
538
+ @pulumi.getter(name="diskSpaceStep")
539
+ def disk_space_step(self) -> Optional[pulumi.Input[str]]:
540
+ """
541
+ The default disk space step of the service, possible values depend on the service type, the cloud provider and the
542
+ project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
543
+ """
544
+ return pulumi.get(self, "disk_space_step")
545
+
546
+ @disk_space_step.setter
547
+ def disk_space_step(self, value: Optional[pulumi.Input[str]]):
548
+ pulumi.set(self, "disk_space_step", value)
549
+
550
+ @property
551
+ @pulumi.getter(name="diskSpaceUsed")
552
+ def disk_space_used(self) -> Optional[pulumi.Input[str]]:
553
+ """
554
+ Disk space that service is currently using
555
+ """
556
+ return pulumi.get(self, "disk_space_used")
557
+
558
+ @disk_space_used.setter
559
+ def disk_space_used(self, value: Optional[pulumi.Input[str]]):
560
+ pulumi.set(self, "disk_space_used", value)
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def dragonflies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyDragonflyArgs']]]]:
565
+ """
566
+ Dragonfly server provided values
567
+ """
568
+ return pulumi.get(self, "dragonflies")
569
+
570
+ @dragonflies.setter
571
+ def dragonflies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyDragonflyArgs']]]]):
572
+ pulumi.set(self, "dragonflies", value)
573
+
574
+ @property
575
+ @pulumi.getter(name="dragonflyUserConfig")
576
+ def dragonfly_user_config(self) -> Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']]:
577
+ """
578
+ Dragonfly user configurable settings
579
+ """
580
+ return pulumi.get(self, "dragonfly_user_config")
581
+
582
+ @dragonfly_user_config.setter
583
+ def dragonfly_user_config(self, value: Optional[pulumi.Input['DragonflyDragonflyUserConfigArgs']]):
584
+ pulumi.set(self, "dragonfly_user_config", value)
585
+
586
+ @property
587
+ @pulumi.getter(name="maintenanceWindowDow")
588
+ def maintenance_window_dow(self) -> Optional[pulumi.Input[str]]:
589
+ """
590
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
591
+ """
592
+ return pulumi.get(self, "maintenance_window_dow")
593
+
594
+ @maintenance_window_dow.setter
595
+ def maintenance_window_dow(self, value: Optional[pulumi.Input[str]]):
596
+ pulumi.set(self, "maintenance_window_dow", value)
597
+
598
+ @property
599
+ @pulumi.getter(name="maintenanceWindowTime")
600
+ def maintenance_window_time(self) -> Optional[pulumi.Input[str]]:
601
+ """
602
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
603
+ """
604
+ return pulumi.get(self, "maintenance_window_time")
605
+
606
+ @maintenance_window_time.setter
607
+ def maintenance_window_time(self, value: Optional[pulumi.Input[str]]):
608
+ pulumi.set(self, "maintenance_window_time", value)
609
+
610
+ @property
611
+ @pulumi.getter
612
+ def plan(self) -> Optional[pulumi.Input[str]]:
613
+ """
614
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
615
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
616
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
617
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
618
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
619
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
620
+ """
621
+ return pulumi.get(self, "plan")
622
+
623
+ @plan.setter
624
+ def plan(self, value: Optional[pulumi.Input[str]]):
625
+ pulumi.set(self, "plan", value)
626
+
627
+ @property
628
+ @pulumi.getter
629
+ def project(self) -> Optional[pulumi.Input[str]]:
630
+ """
631
+ Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
632
+ reference. Changing this property forces recreation of the resource.
633
+ """
634
+ return pulumi.get(self, "project")
635
+
636
+ @project.setter
637
+ def project(self, value: Optional[pulumi.Input[str]]):
638
+ pulumi.set(self, "project", value)
639
+
640
+ @property
641
+ @pulumi.getter(name="projectVpcId")
642
+ def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
643
+ """
644
+ 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
645
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
646
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
647
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
648
+ """
649
+ return pulumi.get(self, "project_vpc_id")
650
+
651
+ @project_vpc_id.setter
652
+ def project_vpc_id(self, value: Optional[pulumi.Input[str]]):
653
+ pulumi.set(self, "project_vpc_id", value)
654
+
655
+ @property
656
+ @pulumi.getter(name="serviceHost")
657
+ def service_host(self) -> Optional[pulumi.Input[str]]:
658
+ """
659
+ The hostname of the service.
660
+ """
661
+ return pulumi.get(self, "service_host")
662
+
663
+ @service_host.setter
664
+ def service_host(self, value: Optional[pulumi.Input[str]]):
665
+ pulumi.set(self, "service_host", value)
666
+
667
+ @property
668
+ @pulumi.getter(name="serviceIntegrations")
669
+ def service_integrations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]]:
670
+ """
671
+ Service integrations to specify when creating a service. Not applied after initial service creation
672
+ """
673
+ return pulumi.get(self, "service_integrations")
674
+
675
+ @service_integrations.setter
676
+ def service_integrations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyServiceIntegrationArgs']]]]):
677
+ pulumi.set(self, "service_integrations", value)
678
+
679
+ @property
680
+ @pulumi.getter(name="serviceName")
681
+ def service_name(self) -> Optional[pulumi.Input[str]]:
682
+ """
683
+ Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the
684
+ service so name should be picked based on intended service usage rather than current attributes.
685
+ """
686
+ return pulumi.get(self, "service_name")
687
+
688
+ @service_name.setter
689
+ def service_name(self, value: Optional[pulumi.Input[str]]):
690
+ pulumi.set(self, "service_name", value)
691
+
692
+ @property
693
+ @pulumi.getter(name="servicePassword")
694
+ def service_password(self) -> Optional[pulumi.Input[str]]:
695
+ """
696
+ Password used for connecting to the service, if applicable
697
+ """
698
+ return pulumi.get(self, "service_password")
699
+
700
+ @service_password.setter
701
+ def service_password(self, value: Optional[pulumi.Input[str]]):
702
+ pulumi.set(self, "service_password", value)
703
+
704
+ @property
705
+ @pulumi.getter(name="servicePort")
706
+ def service_port(self) -> Optional[pulumi.Input[int]]:
707
+ """
708
+ The port of the service
709
+ """
710
+ return pulumi.get(self, "service_port")
711
+
712
+ @service_port.setter
713
+ def service_port(self, value: Optional[pulumi.Input[int]]):
714
+ pulumi.set(self, "service_port", value)
715
+
716
+ @property
717
+ @pulumi.getter(name="serviceType")
718
+ def service_type(self) -> Optional[pulumi.Input[str]]:
719
+ """
720
+ Aiven internal service type code
721
+ """
722
+ return pulumi.get(self, "service_type")
723
+
724
+ @service_type.setter
725
+ def service_type(self, value: Optional[pulumi.Input[str]]):
726
+ pulumi.set(self, "service_type", value)
727
+
728
+ @property
729
+ @pulumi.getter(name="serviceUri")
730
+ def service_uri(self) -> Optional[pulumi.Input[str]]:
731
+ """
732
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
733
+ """
734
+ return pulumi.get(self, "service_uri")
735
+
736
+ @service_uri.setter
737
+ def service_uri(self, value: Optional[pulumi.Input[str]]):
738
+ pulumi.set(self, "service_uri", value)
739
+
740
+ @property
741
+ @pulumi.getter(name="serviceUsername")
742
+ def service_username(self) -> Optional[pulumi.Input[str]]:
743
+ """
744
+ Username used for connecting to the service, if applicable
745
+ """
746
+ return pulumi.get(self, "service_username")
747
+
748
+ @service_username.setter
749
+ def service_username(self, value: Optional[pulumi.Input[str]]):
750
+ pulumi.set(self, "service_username", value)
751
+
752
+ @property
753
+ @pulumi.getter
754
+ def state(self) -> Optional[pulumi.Input[str]]:
755
+ """
756
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
757
+ """
758
+ return pulumi.get(self, "state")
759
+
760
+ @state.setter
761
+ def state(self, value: Optional[pulumi.Input[str]]):
762
+ pulumi.set(self, "state", value)
763
+
764
+ @property
765
+ @pulumi.getter(name="staticIps")
766
+ def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
767
+ """
768
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a
769
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
770
+ """
771
+ return pulumi.get(self, "static_ips")
772
+
773
+ @static_ips.setter
774
+ def static_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
775
+ pulumi.set(self, "static_ips", value)
776
+
777
+ @property
778
+ @pulumi.getter
779
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]]:
780
+ """
781
+ Tags are key-value pairs that allow you to categorize services.
782
+ """
783
+ return pulumi.get(self, "tags")
784
+
785
+ @tags.setter
786
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTagArgs']]]]):
787
+ pulumi.set(self, "tags", value)
788
+
789
+ @property
790
+ @pulumi.getter(name="techEmails")
791
+ def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]]:
792
+ """
793
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
794
+ instability.
795
+ """
796
+ return pulumi.get(self, "tech_emails")
797
+
798
+ @tech_emails.setter
799
+ def tech_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DragonflyTechEmailArgs']]]]):
800
+ pulumi.set(self, "tech_emails", value)
801
+
802
+ @property
803
+ @pulumi.getter(name="terminationProtection")
804
+ def termination_protection(self) -> Optional[pulumi.Input[bool]]:
805
+ """
806
+ Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent
807
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
808
+ much of the content can at least be restored from backup in case accidental deletion is done.
809
+ """
810
+ return pulumi.get(self, "termination_protection")
811
+
812
+ @termination_protection.setter
813
+ def termination_protection(self, value: Optional[pulumi.Input[bool]]):
814
+ pulumi.set(self, "termination_protection", value)
815
+
816
+
817
+ class Dragonfly(pulumi.CustomResource):
818
+ @overload
819
+ def __init__(__self__,
820
+ resource_name: str,
821
+ opts: Optional[pulumi.ResourceOptions] = None,
822
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
823
+ cloud_name: Optional[pulumi.Input[str]] = None,
824
+ disk_space: Optional[pulumi.Input[str]] = None,
825
+ dragonfly_user_config: Optional[pulumi.Input[pulumi.InputType['DragonflyDragonflyUserConfigArgs']]] = None,
826
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
827
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
828
+ plan: Optional[pulumi.Input[str]] = None,
829
+ project: Optional[pulumi.Input[str]] = None,
830
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
831
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyServiceIntegrationArgs']]]]] = None,
832
+ service_name: Optional[pulumi.Input[str]] = None,
833
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
834
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTagArgs']]]]] = None,
835
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTechEmailArgs']]]]] = None,
836
+ termination_protection: Optional[pulumi.Input[bool]] = None,
837
+ __props__=None):
838
+ """
839
+ The Dragonfly resource allows the creation and management of Aiven Dragonfly services.
840
+
841
+ :param str resource_name: The name of the resource.
842
+ :param pulumi.ResourceOptions opts: Options for the resource.
843
+ :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
844
+ reducing will result in the service rebalancing.
845
+ :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
846
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
847
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
848
+ are documented on each Cloud provider's own support articles, like [here for
849
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
850
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
851
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
852
+ will result in the service rebalancing.
853
+ :param pulumi.Input[pulumi.InputType['DragonflyDragonflyUserConfigArgs']] dragonfly_user_config: Dragonfly user configurable settings
854
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
855
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
856
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
857
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
858
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
859
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
860
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
861
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
862
+ :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
863
+ reference. Changing this property forces recreation of the resource.
864
+ :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
865
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
866
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
867
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
868
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
869
+ :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
870
+ service so name should be picked based on intended service usage rather than current attributes.
871
+ :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
872
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
873
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
874
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
875
+ instability.
876
+ :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
877
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
878
+ much of the content can at least be restored from backup in case accidental deletion is done.
879
+ """
880
+ ...
881
+ @overload
882
+ def __init__(__self__,
883
+ resource_name: str,
884
+ args: DragonflyArgs,
885
+ opts: Optional[pulumi.ResourceOptions] = None):
886
+ """
887
+ The Dragonfly resource allows the creation and management of Aiven Dragonfly services.
888
+
889
+ :param str resource_name: The name of the resource.
890
+ :param DragonflyArgs args: The arguments to use to populate this resource's properties.
891
+ :param pulumi.ResourceOptions opts: Options for the resource.
892
+ """
893
+ ...
894
+ def __init__(__self__, resource_name: str, *args, **kwargs):
895
+ resource_args, opts = _utilities.get_resource_args_opts(DragonflyArgs, pulumi.ResourceOptions, *args, **kwargs)
896
+ if resource_args is not None:
897
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
898
+ else:
899
+ __self__._internal_init(resource_name, *args, **kwargs)
900
+
901
+ def _internal_init(__self__,
902
+ resource_name: str,
903
+ opts: Optional[pulumi.ResourceOptions] = None,
904
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
905
+ cloud_name: Optional[pulumi.Input[str]] = None,
906
+ disk_space: Optional[pulumi.Input[str]] = None,
907
+ dragonfly_user_config: Optional[pulumi.Input[pulumi.InputType['DragonflyDragonflyUserConfigArgs']]] = None,
908
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
909
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
910
+ plan: Optional[pulumi.Input[str]] = None,
911
+ project: Optional[pulumi.Input[str]] = None,
912
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
913
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyServiceIntegrationArgs']]]]] = None,
914
+ service_name: Optional[pulumi.Input[str]] = None,
915
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
916
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTagArgs']]]]] = None,
917
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTechEmailArgs']]]]] = None,
918
+ termination_protection: Optional[pulumi.Input[bool]] = None,
919
+ __props__=None):
920
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
921
+ if not isinstance(opts, pulumi.ResourceOptions):
922
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
923
+ if opts.id is None:
924
+ if __props__ is not None:
925
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
926
+ __props__ = DragonflyArgs.__new__(DragonflyArgs)
927
+
928
+ __props__.__dict__["additional_disk_space"] = additional_disk_space
929
+ __props__.__dict__["cloud_name"] = cloud_name
930
+ __props__.__dict__["disk_space"] = disk_space
931
+ __props__.__dict__["dragonfly_user_config"] = dragonfly_user_config
932
+ __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
933
+ __props__.__dict__["maintenance_window_time"] = maintenance_window_time
934
+ if plan is None and not opts.urn:
935
+ raise TypeError("Missing required property 'plan'")
936
+ __props__.__dict__["plan"] = plan
937
+ if project is None and not opts.urn:
938
+ raise TypeError("Missing required property 'project'")
939
+ __props__.__dict__["project"] = project
940
+ __props__.__dict__["project_vpc_id"] = project_vpc_id
941
+ __props__.__dict__["service_integrations"] = service_integrations
942
+ if service_name is None and not opts.urn:
943
+ raise TypeError("Missing required property 'service_name'")
944
+ __props__.__dict__["service_name"] = service_name
945
+ __props__.__dict__["static_ips"] = static_ips
946
+ __props__.__dict__["tags"] = tags
947
+ __props__.__dict__["tech_emails"] = tech_emails
948
+ __props__.__dict__["termination_protection"] = termination_protection
949
+ __props__.__dict__["components"] = None
950
+ __props__.__dict__["disk_space_cap"] = None
951
+ __props__.__dict__["disk_space_default"] = None
952
+ __props__.__dict__["disk_space_step"] = None
953
+ __props__.__dict__["disk_space_used"] = None
954
+ __props__.__dict__["dragonflies"] = None
955
+ __props__.__dict__["service_host"] = None
956
+ __props__.__dict__["service_password"] = None
957
+ __props__.__dict__["service_port"] = None
958
+ __props__.__dict__["service_type"] = None
959
+ __props__.__dict__["service_uri"] = None
960
+ __props__.__dict__["service_username"] = None
961
+ __props__.__dict__["state"] = None
962
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["servicePassword", "serviceUri"])
963
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
964
+ super(Dragonfly, __self__).__init__(
965
+ 'aiven:index/dragonfly:Dragonfly',
966
+ resource_name,
967
+ __props__,
968
+ opts)
969
+
970
+ @staticmethod
971
+ def get(resource_name: str,
972
+ id: pulumi.Input[str],
973
+ opts: Optional[pulumi.ResourceOptions] = None,
974
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
975
+ cloud_name: Optional[pulumi.Input[str]] = None,
976
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyComponentArgs']]]]] = None,
977
+ disk_space: Optional[pulumi.Input[str]] = None,
978
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
979
+ disk_space_default: Optional[pulumi.Input[str]] = None,
980
+ disk_space_step: Optional[pulumi.Input[str]] = None,
981
+ disk_space_used: Optional[pulumi.Input[str]] = None,
982
+ dragonflies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyDragonflyArgs']]]]] = None,
983
+ dragonfly_user_config: Optional[pulumi.Input[pulumi.InputType['DragonflyDragonflyUserConfigArgs']]] = None,
984
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
985
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
986
+ plan: Optional[pulumi.Input[str]] = None,
987
+ project: Optional[pulumi.Input[str]] = None,
988
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
989
+ service_host: Optional[pulumi.Input[str]] = None,
990
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyServiceIntegrationArgs']]]]] = None,
991
+ service_name: Optional[pulumi.Input[str]] = None,
992
+ service_password: Optional[pulumi.Input[str]] = None,
993
+ service_port: Optional[pulumi.Input[int]] = None,
994
+ service_type: Optional[pulumi.Input[str]] = None,
995
+ service_uri: Optional[pulumi.Input[str]] = None,
996
+ service_username: Optional[pulumi.Input[str]] = None,
997
+ state: Optional[pulumi.Input[str]] = None,
998
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
999
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTagArgs']]]]] = None,
1000
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTechEmailArgs']]]]] = None,
1001
+ termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Dragonfly':
1002
+ """
1003
+ Get an existing Dragonfly resource's state with the given name, id, and optional extra
1004
+ properties used to qualify the lookup.
1005
+
1006
+ :param str resource_name: The unique name of the resulting resource.
1007
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1008
+ :param pulumi.ResourceOptions opts: Options for the resource.
1009
+ :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
1010
+ reducing will result in the service rebalancing.
1011
+ :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
1012
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
1013
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
1014
+ are documented on each Cloud provider's own support articles, like [here for
1015
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
1016
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
1017
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyComponentArgs']]]] components: Service component information objects
1018
+ :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
1019
+ will result in the service rebalancing.
1020
+ :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.
1021
+ :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.
1022
+ Its also the minimum value for `disk_space`
1023
+ :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
1024
+ project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
1025
+ :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
1026
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyDragonflyArgs']]]] dragonflies: Dragonfly server provided values
1027
+ :param pulumi.Input[pulumi.InputType['DragonflyDragonflyUserConfigArgs']] dragonfly_user_config: Dragonfly user configurable settings
1028
+ :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1029
+ :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1030
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
1031
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
1032
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
1033
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
1034
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
1035
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1036
+ :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
1037
+ reference. Changing this property forces recreation of the resource.
1038
+ :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
1039
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
1040
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
1041
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
1042
+ :param pulumi.Input[str] service_host: The hostname of the service.
1043
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
1044
+ :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
1045
+ service so name should be picked based on intended service usage rather than current attributes.
1046
+ :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
1047
+ :param pulumi.Input[int] service_port: The port of the service
1048
+ :param pulumi.Input[str] service_type: Aiven internal service type code
1049
+ :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1050
+ :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
1051
+ :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1052
+ :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
1053
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
1054
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
1055
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DragonflyTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
1056
+ instability.
1057
+ :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
1058
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
1059
+ much of the content can at least be restored from backup in case accidental deletion is done.
1060
+ """
1061
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1062
+
1063
+ __props__ = _DragonflyState.__new__(_DragonflyState)
1064
+
1065
+ __props__.__dict__["additional_disk_space"] = additional_disk_space
1066
+ __props__.__dict__["cloud_name"] = cloud_name
1067
+ __props__.__dict__["components"] = components
1068
+ __props__.__dict__["disk_space"] = disk_space
1069
+ __props__.__dict__["disk_space_cap"] = disk_space_cap
1070
+ __props__.__dict__["disk_space_default"] = disk_space_default
1071
+ __props__.__dict__["disk_space_step"] = disk_space_step
1072
+ __props__.__dict__["disk_space_used"] = disk_space_used
1073
+ __props__.__dict__["dragonflies"] = dragonflies
1074
+ __props__.__dict__["dragonfly_user_config"] = dragonfly_user_config
1075
+ __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
1076
+ __props__.__dict__["maintenance_window_time"] = maintenance_window_time
1077
+ __props__.__dict__["plan"] = plan
1078
+ __props__.__dict__["project"] = project
1079
+ __props__.__dict__["project_vpc_id"] = project_vpc_id
1080
+ __props__.__dict__["service_host"] = service_host
1081
+ __props__.__dict__["service_integrations"] = service_integrations
1082
+ __props__.__dict__["service_name"] = service_name
1083
+ __props__.__dict__["service_password"] = service_password
1084
+ __props__.__dict__["service_port"] = service_port
1085
+ __props__.__dict__["service_type"] = service_type
1086
+ __props__.__dict__["service_uri"] = service_uri
1087
+ __props__.__dict__["service_username"] = service_username
1088
+ __props__.__dict__["state"] = state
1089
+ __props__.__dict__["static_ips"] = static_ips
1090
+ __props__.__dict__["tags"] = tags
1091
+ __props__.__dict__["tech_emails"] = tech_emails
1092
+ __props__.__dict__["termination_protection"] = termination_protection
1093
+ return Dragonfly(resource_name, opts=opts, __props__=__props__)
1094
+
1095
+ @property
1096
+ @pulumi.getter(name="additionalDiskSpace")
1097
+ def additional_disk_space(self) -> pulumi.Output[Optional[str]]:
1098
+ """
1099
+ Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
1100
+ reducing will result in the service rebalancing.
1101
+ """
1102
+ return pulumi.get(self, "additional_disk_space")
1103
+
1104
+ @property
1105
+ @pulumi.getter(name="cloudName")
1106
+ def cloud_name(self) -> pulumi.Output[Optional[str]]:
1107
+ """
1108
+ Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is
1109
+ created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
1110
+ provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
1111
+ are documented on each Cloud provider's own support articles, like [here for
1112
+ Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
1113
+ AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
1114
+ """
1115
+ return pulumi.get(self, "cloud_name")
1116
+
1117
+ @property
1118
+ @pulumi.getter
1119
+ def components(self) -> pulumi.Output[Sequence['outputs.DragonflyComponent']]:
1120
+ """
1121
+ Service component information objects
1122
+ """
1123
+ return pulumi.get(self, "components")
1124
+
1125
+ @property
1126
+ @pulumi.getter(name="diskSpace")
1127
+ def disk_space(self) -> pulumi.Output[Optional[str]]:
1128
+ """
1129
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
1130
+ will result in the service rebalancing.
1131
+ """
1132
+ 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)
1133
+ 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.""")
1134
+
1135
+ return pulumi.get(self, "disk_space")
1136
+
1137
+ @property
1138
+ @pulumi.getter(name="diskSpaceCap")
1139
+ def disk_space_cap(self) -> pulumi.Output[str]:
1140
+ """
1141
+ The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
1142
+ """
1143
+ return pulumi.get(self, "disk_space_cap")
1144
+
1145
+ @property
1146
+ @pulumi.getter(name="diskSpaceDefault")
1147
+ def disk_space_default(self) -> pulumi.Output[str]:
1148
+ """
1149
+ The default disk space of the service, possible values depend on the service type, the cloud provider and the project.
1150
+ Its also the minimum value for `disk_space`
1151
+ """
1152
+ return pulumi.get(self, "disk_space_default")
1153
+
1154
+ @property
1155
+ @pulumi.getter(name="diskSpaceStep")
1156
+ def disk_space_step(self) -> pulumi.Output[str]:
1157
+ """
1158
+ The default disk space step of the service, possible values depend on the service type, the cloud provider and the
1159
+ project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
1160
+ """
1161
+ return pulumi.get(self, "disk_space_step")
1162
+
1163
+ @property
1164
+ @pulumi.getter(name="diskSpaceUsed")
1165
+ def disk_space_used(self) -> pulumi.Output[str]:
1166
+ """
1167
+ Disk space that service is currently using
1168
+ """
1169
+ return pulumi.get(self, "disk_space_used")
1170
+
1171
+ @property
1172
+ @pulumi.getter
1173
+ def dragonflies(self) -> pulumi.Output[Sequence['outputs.DragonflyDragonfly']]:
1174
+ """
1175
+ Dragonfly server provided values
1176
+ """
1177
+ return pulumi.get(self, "dragonflies")
1178
+
1179
+ @property
1180
+ @pulumi.getter(name="dragonflyUserConfig")
1181
+ def dragonfly_user_config(self) -> pulumi.Output[Optional['outputs.DragonflyDragonflyUserConfig']]:
1182
+ """
1183
+ Dragonfly user configurable settings
1184
+ """
1185
+ return pulumi.get(self, "dragonfly_user_config")
1186
+
1187
+ @property
1188
+ @pulumi.getter(name="maintenanceWindowDow")
1189
+ def maintenance_window_dow(self) -> pulumi.Output[Optional[str]]:
1190
+ """
1191
+ Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1192
+ """
1193
+ return pulumi.get(self, "maintenance_window_dow")
1194
+
1195
+ @property
1196
+ @pulumi.getter(name="maintenanceWindowTime")
1197
+ def maintenance_window_time(self) -> pulumi.Output[Optional[str]]:
1198
+ """
1199
+ Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1200
+ """
1201
+ return pulumi.get(self, "maintenance_window_time")
1202
+
1203
+ @property
1204
+ @pulumi.getter
1205
+ def plan(self) -> pulumi.Output[str]:
1206
+ """
1207
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
1208
+ are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
1209
+ store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
1210
+ `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
1211
+ other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
1212
+ options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1213
+ """
1214
+ return pulumi.get(self, "plan")
1215
+
1216
+ @property
1217
+ @pulumi.getter
1218
+ def project(self) -> pulumi.Output[str]:
1219
+ """
1220
+ Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
1221
+ reference. Changing this property forces recreation of the resource.
1222
+ """
1223
+ return pulumi.get(self, "project")
1224
+
1225
+ @property
1226
+ @pulumi.getter(name="projectVpcId")
1227
+ def project_vpc_id(self) -> pulumi.Output[Optional[str]]:
1228
+ """
1229
+ 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
1230
+ value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
1231
+ as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
1232
+ servers so the operation can take significant amount of time to complete if the service has a lot of data.
1233
+ """
1234
+ return pulumi.get(self, "project_vpc_id")
1235
+
1236
+ @property
1237
+ @pulumi.getter(name="serviceHost")
1238
+ def service_host(self) -> pulumi.Output[str]:
1239
+ """
1240
+ The hostname of the service.
1241
+ """
1242
+ return pulumi.get(self, "service_host")
1243
+
1244
+ @property
1245
+ @pulumi.getter(name="serviceIntegrations")
1246
+ def service_integrations(self) -> pulumi.Output[Optional[Sequence['outputs.DragonflyServiceIntegration']]]:
1247
+ """
1248
+ Service integrations to specify when creating a service. Not applied after initial service creation
1249
+ """
1250
+ return pulumi.get(self, "service_integrations")
1251
+
1252
+ @property
1253
+ @pulumi.getter(name="serviceName")
1254
+ def service_name(self) -> pulumi.Output[str]:
1255
+ """
1256
+ Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the
1257
+ service so name should be picked based on intended service usage rather than current attributes.
1258
+ """
1259
+ return pulumi.get(self, "service_name")
1260
+
1261
+ @property
1262
+ @pulumi.getter(name="servicePassword")
1263
+ def service_password(self) -> pulumi.Output[str]:
1264
+ """
1265
+ Password used for connecting to the service, if applicable
1266
+ """
1267
+ return pulumi.get(self, "service_password")
1268
+
1269
+ @property
1270
+ @pulumi.getter(name="servicePort")
1271
+ def service_port(self) -> pulumi.Output[int]:
1272
+ """
1273
+ The port of the service
1274
+ """
1275
+ return pulumi.get(self, "service_port")
1276
+
1277
+ @property
1278
+ @pulumi.getter(name="serviceType")
1279
+ def service_type(self) -> pulumi.Output[str]:
1280
+ """
1281
+ Aiven internal service type code
1282
+ """
1283
+ return pulumi.get(self, "service_type")
1284
+
1285
+ @property
1286
+ @pulumi.getter(name="serviceUri")
1287
+ def service_uri(self) -> pulumi.Output[str]:
1288
+ """
1289
+ URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1290
+ """
1291
+ return pulumi.get(self, "service_uri")
1292
+
1293
+ @property
1294
+ @pulumi.getter(name="serviceUsername")
1295
+ def service_username(self) -> pulumi.Output[str]:
1296
+ """
1297
+ Username used for connecting to the service, if applicable
1298
+ """
1299
+ return pulumi.get(self, "service_username")
1300
+
1301
+ @property
1302
+ @pulumi.getter
1303
+ def state(self) -> pulumi.Output[str]:
1304
+ """
1305
+ Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1306
+ """
1307
+ return pulumi.get(self, "state")
1308
+
1309
+ @property
1310
+ @pulumi.getter(name="staticIps")
1311
+ def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1312
+ """
1313
+ Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a
1314
+ static ip resource is in the 'assigned' state it cannot be unbound from the node again
1315
+ """
1316
+ return pulumi.get(self, "static_ips")
1317
+
1318
+ @property
1319
+ @pulumi.getter
1320
+ def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DragonflyTag']]]:
1321
+ """
1322
+ Tags are key-value pairs that allow you to categorize services.
1323
+ """
1324
+ return pulumi.get(self, "tags")
1325
+
1326
+ @property
1327
+ @pulumi.getter(name="techEmails")
1328
+ def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.DragonflyTechEmail']]]:
1329
+ """
1330
+ Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
1331
+ instability.
1332
+ """
1333
+ return pulumi.get(self, "tech_emails")
1334
+
1335
+ @property
1336
+ @pulumi.getter(name="terminationProtection")
1337
+ def termination_protection(self) -> pulumi.Output[Optional[bool]]:
1338
+ """
1339
+ Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent
1340
+ unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
1341
+ much of the content can at least be restored from backup in case accidental deletion is done.
1342
+ """
1343
+ return pulumi.get(self, "termination_protection")
1344
+