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