pulumi-aiven 6.13.0a1710156545__py3-none-any.whl → 6.31.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 (169) hide show
  1. pulumi_aiven/__init__.py +136 -0
  2. pulumi_aiven/_inputs.py +32749 -13711
  3. pulumi_aiven/_utilities.py +41 -5
  4. pulumi_aiven/account.py +32 -45
  5. pulumi_aiven/account_authentication.py +24 -9
  6. pulumi_aiven/account_team.py +35 -14
  7. pulumi_aiven/account_team_member.py +48 -39
  8. pulumi_aiven/account_team_project.py +40 -27
  9. pulumi_aiven/alloydbomni.py +1335 -0
  10. pulumi_aiven/alloydbomni_database.py +347 -0
  11. pulumi_aiven/alloydbomni_user.py +433 -0
  12. pulumi_aiven/aws_privatelink.py +44 -43
  13. pulumi_aiven/aws_vpc_peering_connection.py +72 -61
  14. pulumi_aiven/azure_privatelink.py +54 -53
  15. pulumi_aiven/azure_privatelink_connection_approval.py +136 -33
  16. pulumi_aiven/azure_vpc_peering_connection.py +86 -77
  17. pulumi_aiven/billing_group.py +33 -34
  18. pulumi_aiven/cassandra.py +145 -126
  19. pulumi_aiven/cassandra_user.py +59 -58
  20. pulumi_aiven/clickhouse.py +133 -114
  21. pulumi_aiven/clickhouse_database.py +58 -62
  22. pulumi_aiven/clickhouse_grant.py +135 -134
  23. pulumi_aiven/clickhouse_role.py +36 -49
  24. pulumi_aiven/clickhouse_user.py +50 -49
  25. pulumi_aiven/config/__init__.pyi +5 -0
  26. pulumi_aiven/config/vars.py +5 -0
  27. pulumi_aiven/connection_pool.py +67 -66
  28. pulumi_aiven/dragonfly.py +1256 -0
  29. pulumi_aiven/flink.py +104 -104
  30. pulumi_aiven/flink_application.py +58 -55
  31. pulumi_aiven/flink_application_deployment.py +178 -73
  32. pulumi_aiven/flink_application_version.py +179 -96
  33. pulumi_aiven/gcp_privatelink.py +69 -42
  34. pulumi_aiven/gcp_privatelink_connection_approval.py +78 -49
  35. pulumi_aiven/gcp_vpc_peering_connection.py +49 -48
  36. pulumi_aiven/get_account.py +20 -9
  37. pulumi_aiven/get_account_authentication.py +31 -5
  38. pulumi_aiven/get_account_team.py +18 -5
  39. pulumi_aiven/get_account_team_member.py +29 -14
  40. pulumi_aiven/get_account_team_project.py +19 -6
  41. pulumi_aiven/get_alloydbomni.py +499 -0
  42. pulumi_aiven/get_alloydbomni_database.py +168 -0
  43. pulumi_aiven/get_alloydbomni_user.py +210 -0
  44. pulumi_aiven/get_aws_privatelink.py +33 -24
  45. pulumi_aiven/get_aws_vpc_peering_connection.py +56 -33
  46. pulumi_aiven/get_azure_privatelink.py +37 -26
  47. pulumi_aiven/get_azure_vpc_peering_connection.py +77 -28
  48. pulumi_aiven/get_billing_group.py +31 -8
  49. pulumi_aiven/get_cassanda.py +55 -23
  50. pulumi_aiven/get_cassandra.py +55 -23
  51. pulumi_aiven/get_cassandra_user.py +42 -30
  52. pulumi_aiven/get_clickhouse.py +55 -23
  53. pulumi_aiven/get_clickhouse_database.py +35 -26
  54. pulumi_aiven/get_clickhouse_user.py +40 -29
  55. pulumi_aiven/get_connection_pool.py +43 -30
  56. pulumi_aiven/get_dragonfly.py +499 -0
  57. pulumi_aiven/get_external_identity.py +160 -0
  58. pulumi_aiven/get_flink.py +55 -23
  59. pulumi_aiven/get_flink_application.py +44 -31
  60. pulumi_aiven/get_flink_application_version.py +55 -37
  61. pulumi_aiven/get_gcp_privatelink.py +63 -7
  62. pulumi_aiven/get_gcp_vpc_peering_connection.py +39 -28
  63. pulumi_aiven/get_grafana.py +55 -23
  64. pulumi_aiven/get_influx_db.py +41 -5
  65. pulumi_aiven/get_influxdb_database.py +18 -5
  66. pulumi_aiven/get_influxdb_user.py +21 -5
  67. pulumi_aiven/get_kafka.py +59 -25
  68. pulumi_aiven/get_kafka_acl.py +50 -37
  69. pulumi_aiven/get_kafka_connect.py +54 -36
  70. pulumi_aiven/get_kafka_connector.py +44 -28
  71. pulumi_aiven/get_kafka_mirror_maker.py +50 -32
  72. pulumi_aiven/get_kafka_schema.py +35 -23
  73. pulumi_aiven/get_kafka_schema_configuration.py +32 -21
  74. pulumi_aiven/get_kafka_schema_registry_acl.py +37 -20
  75. pulumi_aiven/get_kafka_topic.py +70 -29
  76. pulumi_aiven/get_kafka_user.py +42 -30
  77. pulumi_aiven/get_m3_aggregator.py +51 -19
  78. pulumi_aiven/get_m3_db.py +55 -23
  79. pulumi_aiven/get_m3db_user.py +38 -28
  80. pulumi_aiven/get_mirror_maker_replication_flow.py +86 -25
  81. pulumi_aiven/get_my_sql.py +50 -18
  82. pulumi_aiven/get_mysql_database.py +31 -22
  83. pulumi_aiven/get_mysql_user.py +36 -23
  84. pulumi_aiven/get_open_search.py +50 -18
  85. pulumi_aiven/get_open_search_acl_config.py +27 -19
  86. pulumi_aiven/get_open_search_acl_rule.py +37 -25
  87. pulumi_aiven/get_opensearch_security_plugin_config.py +29 -19
  88. pulumi_aiven/get_opensearch_user.py +32 -22
  89. pulumi_aiven/get_organization.py +25 -17
  90. pulumi_aiven/get_organization_application_user.py +176 -0
  91. pulumi_aiven/get_organization_user.py +18 -5
  92. pulumi_aiven/get_organization_user_group.py +48 -14
  93. pulumi_aiven/get_organization_user_list.py +121 -0
  94. pulumi_aiven/get_organizational_unit.py +26 -14
  95. pulumi_aiven/get_pg.py +55 -23
  96. pulumi_aiven/get_pg_database.py +39 -28
  97. pulumi_aiven/get_pg_user.py +44 -31
  98. pulumi_aiven/get_project.py +43 -26
  99. pulumi_aiven/get_project_user.py +27 -19
  100. pulumi_aiven/get_project_vpc.py +31 -23
  101. pulumi_aiven/get_redis.py +50 -18
  102. pulumi_aiven/get_redis_user.py +40 -26
  103. pulumi_aiven/get_service_component.py +40 -22
  104. pulumi_aiven/get_service_integration.py +163 -53
  105. pulumi_aiven/get_service_integration_endpoint.py +128 -37
  106. pulumi_aiven/get_thanos.py +499 -0
  107. pulumi_aiven/get_transit_gateway_vpc_attachment.py +35 -22
  108. pulumi_aiven/get_valkey.py +499 -0
  109. pulumi_aiven/get_valkey_user.py +218 -0
  110. pulumi_aiven/grafana.py +188 -322
  111. pulumi_aiven/influx_db.py +127 -90
  112. pulumi_aiven/influxdb_database.py +40 -55
  113. pulumi_aiven/influxdb_user.py +47 -42
  114. pulumi_aiven/kafka.py +157 -144
  115. pulumi_aiven/kafka_acl.py +64 -57
  116. pulumi_aiven/kafka_connect.py +201 -332
  117. pulumi_aiven/kafka_connector.py +67 -60
  118. pulumi_aiven/kafka_mirror_maker.py +137 -320
  119. pulumi_aiven/kafka_native_acl.py +588 -0
  120. pulumi_aiven/kafka_quota.py +604 -0
  121. pulumi_aiven/kafka_schema.py +63 -58
  122. pulumi_aiven/kafka_schema_configuration.py +25 -24
  123. pulumi_aiven/kafka_schema_registry_acl.py +80 -35
  124. pulumi_aiven/kafka_topic.py +184 -65
  125. pulumi_aiven/kafka_user.py +59 -58
  126. pulumi_aiven/m3_aggregator.py +174 -310
  127. pulumi_aiven/m3_db.py +190 -326
  128. pulumi_aiven/m3db_user.py +51 -50
  129. pulumi_aiven/mirror_maker_replication_flow.py +215 -55
  130. pulumi_aiven/my_sql.py +188 -324
  131. pulumi_aiven/mysql_database.py +32 -51
  132. pulumi_aiven/mysql_user.py +37 -36
  133. pulumi_aiven/open_search.py +126 -107
  134. pulumi_aiven/open_search_acl_config.py +33 -36
  135. pulumi_aiven/open_search_acl_rule.py +55 -54
  136. pulumi_aiven/opensearch_security_plugin_config.py +69 -16
  137. pulumi_aiven/opensearch_user.py +30 -29
  138. pulumi_aiven/organization.py +18 -17
  139. pulumi_aiven/organization_application_user.py +345 -0
  140. pulumi_aiven/organization_application_user_token.py +711 -0
  141. pulumi_aiven/organization_group_project.py +349 -0
  142. pulumi_aiven/organization_permission.py +421 -0
  143. pulumi_aiven/organization_user.py +25 -46
  144. pulumi_aiven/organization_user_group.py +64 -23
  145. pulumi_aiven/organization_user_group_member.py +359 -0
  146. pulumi_aiven/organizational_unit.py +41 -36
  147. pulumi_aiven/outputs.py +38976 -21894
  148. pulumi_aiven/pg.py +92 -88
  149. pulumi_aiven/pg_database.py +52 -71
  150. pulumi_aiven/pg_user.py +80 -65
  151. pulumi_aiven/project.py +111 -102
  152. pulumi_aiven/project_user.py +44 -35
  153. pulumi_aiven/project_vpc.py +58 -29
  154. pulumi_aiven/provider.py +5 -0
  155. pulumi_aiven/pulumi-plugin.json +2 -1
  156. pulumi_aiven/redis.py +161 -297
  157. pulumi_aiven/redis_user.py +58 -57
  158. pulumi_aiven/service_integration.py +511 -165
  159. pulumi_aiven/service_integration_endpoint.py +466 -158
  160. pulumi_aiven/static_ip.py +21 -16
  161. pulumi_aiven/thanos.py +1262 -0
  162. pulumi_aiven/transit_gateway_vpc_attachment.py +44 -58
  163. pulumi_aiven/valkey.py +1256 -0
  164. pulumi_aiven/valkey_user.py +606 -0
  165. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/METADATA +7 -6
  166. pulumi_aiven-6.31.0.dist-info/RECORD +170 -0
  167. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/WHEEL +1 -1
  168. pulumi_aiven-6.13.0a1710156545.dist-info/RECORD +0 -146
  169. {pulumi_aiven-6.13.0a1710156545.dist-info → pulumi_aiven-6.31.0.dist-info}/top_level.txt +0 -0
pulumi_aiven/redis.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -25,6 +30,7 @@ class RedisArgs:
25
30
  maintenance_window_dow: Optional[pulumi.Input[str]] = None,
26
31
  maintenance_window_time: Optional[pulumi.Input[str]] = None,
27
32
  project_vpc_id: Optional[pulumi.Input[str]] = None,
33
+ redis: Optional[pulumi.Input['RedisRedisArgs']] = None,
28
34
  redis_user_config: Optional[pulumi.Input['RedisRedisUserConfigArgs']] = None,
29
35
  service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]]] = None,
30
36
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -33,42 +39,22 @@ class RedisArgs:
33
39
  termination_protection: Optional[pulumi.Input[bool]] = None):
34
40
  """
35
41
  The set of arguments for constructing a Redis 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. This property cannot be changed, doing so 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.
42
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
43
+ :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.
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 service so name should be picked based on intended service usage rather than current attributes.
45
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
46
+ :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).
47
+ :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.
56
48
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
57
49
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
58
- :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
59
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
60
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
61
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
62
- :param pulumi.Input['RedisRedisUserConfigArgs'] redis_user_config: Redis user configurable settings
50
+ :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.
51
+ :param pulumi.Input['RedisRedisArgs'] redis: Redis server provided values
52
+ :param pulumi.Input['RedisRedisUserConfigArgs'] redis_user_config: Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
63
53
  :param pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]] 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
54
+ :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
66
55
  :param pulumi.Input[Sequence[pulumi.Input['RedisTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
67
- :param pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]] 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.
56
+ :param pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]] 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.
57
+ :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.
72
58
  """
73
59
  pulumi.set(__self__, "plan", plan)
74
60
  pulumi.set(__self__, "project", project)
@@ -88,6 +74,8 @@ class RedisArgs:
88
74
  pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
89
75
  if project_vpc_id is not None:
90
76
  pulumi.set(__self__, "project_vpc_id", project_vpc_id)
77
+ if redis is not None:
78
+ pulumi.set(__self__, "redis", redis)
91
79
  if redis_user_config is not None:
92
80
  pulumi.set(__self__, "redis_user_config", redis_user_config)
93
81
  if service_integrations is not None:
@@ -105,12 +93,7 @@ class RedisArgs:
105
93
  @pulumi.getter
106
94
  def plan(self) -> pulumi.Input[str]:
107
95
  """
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).
96
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
114
97
  """
115
98
  return pulumi.get(self, "plan")
116
99
 
@@ -122,8 +105,7 @@ class RedisArgs:
122
105
  @pulumi.getter
123
106
  def project(self) -> pulumi.Input[str]:
124
107
  """
125
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
126
- reference. This property cannot be changed, doing so forces recreation of the resource.
108
+ 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.
127
109
  """
128
110
  return pulumi.get(self, "project")
129
111
 
@@ -135,8 +117,7 @@ class RedisArgs:
135
117
  @pulumi.getter(name="serviceName")
136
118
  def service_name(self) -> pulumi.Input[str]:
137
119
  """
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.
120
+ 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.
140
121
  """
141
122
  return pulumi.get(self, "service_name")
142
123
 
@@ -148,8 +129,7 @@ class RedisArgs:
148
129
  @pulumi.getter(name="additionalDiskSpace")
149
130
  def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
150
131
  """
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.
132
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
153
133
  """
154
134
  return pulumi.get(self, "additional_disk_space")
155
135
 
@@ -161,12 +141,7 @@ class RedisArgs:
161
141
  @pulumi.getter(name="cloudName")
162
142
  def cloud_name(self) -> Optional[pulumi.Input[str]]:
163
143
  """
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).
144
+ 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).
170
145
  """
171
146
  return pulumi.get(self, "cloud_name")
172
147
 
@@ -176,14 +151,11 @@ class RedisArgs:
176
151
 
177
152
  @property
178
153
  @pulumi.getter(name="diskSpace")
154
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
179
155
  def disk_space(self) -> Optional[pulumi.Input[str]]:
180
156
  """
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.
157
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
183
158
  """
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
159
  return pulumi.get(self, "disk_space")
188
160
 
189
161
  @disk_space.setter
@@ -218,10 +190,7 @@ class RedisArgs:
218
190
  @pulumi.getter(name="projectVpcId")
219
191
  def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
220
192
  """
221
- Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the
222
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
223
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
224
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
193
+ 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.
225
194
  """
226
195
  return pulumi.get(self, "project_vpc_id")
227
196
 
@@ -229,11 +198,23 @@ class RedisArgs:
229
198
  def project_vpc_id(self, value: Optional[pulumi.Input[str]]):
230
199
  pulumi.set(self, "project_vpc_id", value)
231
200
 
201
+ @property
202
+ @pulumi.getter
203
+ def redis(self) -> Optional[pulumi.Input['RedisRedisArgs']]:
204
+ """
205
+ Redis server provided values
206
+ """
207
+ return pulumi.get(self, "redis")
208
+
209
+ @redis.setter
210
+ def redis(self, value: Optional[pulumi.Input['RedisRedisArgs']]):
211
+ pulumi.set(self, "redis", value)
212
+
232
213
  @property
233
214
  @pulumi.getter(name="redisUserConfig")
234
215
  def redis_user_config(self) -> Optional[pulumi.Input['RedisRedisUserConfigArgs']]:
235
216
  """
236
- Redis user configurable settings
217
+ Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
237
218
  """
238
219
  return pulumi.get(self, "redis_user_config")
239
220
 
@@ -257,8 +238,7 @@ class RedisArgs:
257
238
  @pulumi.getter(name="staticIps")
258
239
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
259
240
  """
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
241
+ 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
262
242
  """
263
243
  return pulumi.get(self, "static_ips")
264
244
 
@@ -282,8 +262,7 @@ class RedisArgs:
282
262
  @pulumi.getter(name="techEmails")
283
263
  def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]]]:
284
264
  """
285
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
286
- instability.
265
+ 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.
287
266
  """
288
267
  return pulumi.get(self, "tech_emails")
289
268
 
@@ -295,9 +274,7 @@ class RedisArgs:
295
274
  @pulumi.getter(name="terminationProtection")
296
275
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
297
276
  """
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.
277
+ 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.
301
278
  """
302
279
  return pulumi.get(self, "termination_protection")
303
280
 
@@ -322,7 +299,7 @@ class _RedisState:
322
299
  plan: Optional[pulumi.Input[str]] = None,
323
300
  project: Optional[pulumi.Input[str]] = None,
324
301
  project_vpc_id: Optional[pulumi.Input[str]] = None,
325
- redis: Optional[pulumi.Input[Sequence[pulumi.Input['RedisRediArgs']]]] = None,
302
+ redis: Optional[pulumi.Input['RedisRedisArgs']] = None,
326
303
  redis_user_config: Optional[pulumi.Input['RedisRedisUserConfigArgs']] = None,
327
304
  service_host: Optional[pulumi.Input[str]] = None,
328
305
  service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]]] = None,
@@ -339,57 +316,34 @@ class _RedisState:
339
316
  termination_protection: Optional[pulumi.Input[bool]] = None):
340
317
  """
341
318
  Input properties used for looking up and filtering Redis 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).
319
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
320
+ :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).
350
321
  :param pulumi.Input[Sequence[pulumi.Input['RedisComponentArgs']]] 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.
322
+ :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.
353
323
  :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.
324
+ :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`
325
+ :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.
358
326
  :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
359
327
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
360
328
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
361
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
362
- are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
363
- store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
364
- `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
365
- other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
366
- options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
367
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
368
- reference. This property cannot be changed, doing so forces recreation of the resource.
369
- :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
370
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
371
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
372
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
373
- :param pulumi.Input[Sequence[pulumi.Input['RedisRediArgs']]] redis: Redis server provided values
374
- :param pulumi.Input['RedisRedisUserConfigArgs'] redis_user_config: Redis user configurable settings
329
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
330
+ :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.
331
+ :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.
332
+ :param pulumi.Input['RedisRedisArgs'] redis: Redis server provided values
333
+ :param pulumi.Input['RedisRedisUserConfigArgs'] redis_user_config: Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
375
334
  :param pulumi.Input[str] service_host: The hostname of the service.
376
335
  :param pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]] 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.
336
+ :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.
379
337
  :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
380
338
  :param pulumi.Input[int] service_port: The port of the service
381
339
  :param pulumi.Input[str] service_type: Aiven internal service type code
382
340
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
383
341
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
384
342
  :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
343
+ :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
387
344
  :param pulumi.Input[Sequence[pulumi.Input['RedisTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
388
- :param pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]] 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.
345
+ :param pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]] 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.
346
+ :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.
393
347
  """
394
348
  if additional_disk_space is not None:
395
349
  pulumi.set(__self__, "additional_disk_space", additional_disk_space)
@@ -408,6 +362,9 @@ class _RedisState:
408
362
  pulumi.set(__self__, "disk_space_default", disk_space_default)
409
363
  if disk_space_step is not None:
410
364
  pulumi.set(__self__, "disk_space_step", disk_space_step)
365
+ if disk_space_used is not None:
366
+ 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)
367
+ pulumi.log.warn("""disk_space_used is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
411
368
  if disk_space_used is not None:
412
369
  pulumi.set(__self__, "disk_space_used", disk_space_used)
413
370
  if maintenance_window_dow is not None:
@@ -455,8 +412,7 @@ class _RedisState:
455
412
  @pulumi.getter(name="additionalDiskSpace")
456
413
  def additional_disk_space(self) -> Optional[pulumi.Input[str]]:
457
414
  """
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.
415
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
460
416
  """
461
417
  return pulumi.get(self, "additional_disk_space")
462
418
 
@@ -468,12 +424,7 @@ class _RedisState:
468
424
  @pulumi.getter(name="cloudName")
469
425
  def cloud_name(self) -> Optional[pulumi.Input[str]]:
470
426
  """
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).
427
+ 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).
477
428
  """
478
429
  return pulumi.get(self, "cloud_name")
479
430
 
@@ -495,14 +446,11 @@ class _RedisState:
495
446
 
496
447
  @property
497
448
  @pulumi.getter(name="diskSpace")
449
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
498
450
  def disk_space(self) -> Optional[pulumi.Input[str]]:
499
451
  """
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.
452
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
502
453
  """
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
454
  return pulumi.get(self, "disk_space")
507
455
 
508
456
  @disk_space.setter
@@ -525,8 +473,7 @@ class _RedisState:
525
473
  @pulumi.getter(name="diskSpaceDefault")
526
474
  def disk_space_default(self) -> Optional[pulumi.Input[str]]:
527
475
  """
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`
476
+ 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`
530
477
  """
531
478
  return pulumi.get(self, "disk_space_default")
532
479
 
@@ -538,8 +485,7 @@ class _RedisState:
538
485
  @pulumi.getter(name="diskSpaceStep")
539
486
  def disk_space_step(self) -> Optional[pulumi.Input[str]]:
540
487
  """
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.
488
+ 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.
543
489
  """
544
490
  return pulumi.get(self, "disk_space_step")
545
491
 
@@ -549,6 +495,7 @@ class _RedisState:
549
495
 
550
496
  @property
551
497
  @pulumi.getter(name="diskSpaceUsed")
498
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
552
499
  def disk_space_used(self) -> Optional[pulumi.Input[str]]:
553
500
  """
554
501
  Disk space that service is currently using
@@ -587,12 +534,7 @@ class _RedisState:
587
534
  @pulumi.getter
588
535
  def plan(self) -> Optional[pulumi.Input[str]]:
589
536
  """
590
- Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
591
- are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
592
- store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
593
- `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
594
- other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
595
- options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
537
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
596
538
  """
597
539
  return pulumi.get(self, "plan")
598
540
 
@@ -604,8 +546,7 @@ class _RedisState:
604
546
  @pulumi.getter
605
547
  def project(self) -> Optional[pulumi.Input[str]]:
606
548
  """
607
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
608
- reference. This property cannot be changed, doing so forces recreation of the resource.
549
+ 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.
609
550
  """
610
551
  return pulumi.get(self, "project")
611
552
 
@@ -617,10 +558,7 @@ class _RedisState:
617
558
  @pulumi.getter(name="projectVpcId")
618
559
  def project_vpc_id(self) -> Optional[pulumi.Input[str]]:
619
560
  """
620
- 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
621
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
622
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
623
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
561
+ 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.
624
562
  """
625
563
  return pulumi.get(self, "project_vpc_id")
626
564
 
@@ -630,21 +568,21 @@ class _RedisState:
630
568
 
631
569
  @property
632
570
  @pulumi.getter
633
- def redis(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RedisRediArgs']]]]:
571
+ def redis(self) -> Optional[pulumi.Input['RedisRedisArgs']]:
634
572
  """
635
573
  Redis server provided values
636
574
  """
637
575
  return pulumi.get(self, "redis")
638
576
 
639
577
  @redis.setter
640
- def redis(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RedisRediArgs']]]]):
578
+ def redis(self, value: Optional[pulumi.Input['RedisRedisArgs']]):
641
579
  pulumi.set(self, "redis", value)
642
580
 
643
581
  @property
644
582
  @pulumi.getter(name="redisUserConfig")
645
583
  def redis_user_config(self) -> Optional[pulumi.Input['RedisRedisUserConfigArgs']]:
646
584
  """
647
- Redis user configurable settings
585
+ Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
648
586
  """
649
587
  return pulumi.get(self, "redis_user_config")
650
588
 
@@ -680,8 +618,7 @@ class _RedisState:
680
618
  @pulumi.getter(name="serviceName")
681
619
  def service_name(self) -> Optional[pulumi.Input[str]]:
682
620
  """
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.
621
+ 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.
685
622
  """
686
623
  return pulumi.get(self, "service_name")
687
624
 
@@ -765,8 +702,7 @@ class _RedisState:
765
702
  @pulumi.getter(name="staticIps")
766
703
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
767
704
  """
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
705
+ 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
770
706
  """
771
707
  return pulumi.get(self, "static_ips")
772
708
 
@@ -790,8 +726,7 @@ class _RedisState:
790
726
  @pulumi.getter(name="techEmails")
791
727
  def tech_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RedisTechEmailArgs']]]]:
792
728
  """
793
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
794
- instability.
729
+ 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.
795
730
  """
796
731
  return pulumi.get(self, "tech_emails")
797
732
 
@@ -803,9 +738,7 @@ class _RedisState:
803
738
  @pulumi.getter(name="terminationProtection")
804
739
  def termination_protection(self) -> Optional[pulumi.Input[bool]]:
805
740
  """
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.
741
+ 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.
809
742
  """
810
743
  return pulumi.get(self, "termination_protection")
811
744
 
@@ -827,12 +760,13 @@ class Redis(pulumi.CustomResource):
827
760
  plan: Optional[pulumi.Input[str]] = None,
828
761
  project: Optional[pulumi.Input[str]] = None,
829
762
  project_vpc_id: Optional[pulumi.Input[str]] = None,
830
- redis_user_config: Optional[pulumi.Input[pulumi.InputType['RedisRedisUserConfigArgs']]] = None,
831
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisServiceIntegrationArgs']]]]] = None,
763
+ redis: Optional[pulumi.Input[Union['RedisRedisArgs', 'RedisRedisArgsDict']]] = None,
764
+ redis_user_config: Optional[pulumi.Input[Union['RedisRedisUserConfigArgs', 'RedisRedisUserConfigArgsDict']]] = None,
765
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisServiceIntegrationArgs', 'RedisServiceIntegrationArgsDict']]]]] = None,
832
766
  service_name: Optional[pulumi.Input[str]] = None,
833
767
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
834
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTagArgs']]]]] = None,
835
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTechEmailArgs']]]]] = None,
768
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTagArgs', 'RedisTagArgsDict']]]]] = None,
769
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTechEmailArgs', 'RedisTechEmailArgsDict']]]]] = None,
836
770
  termination_protection: Optional[pulumi.Input[bool]] = None,
837
771
  __props__=None):
838
772
  """
@@ -840,26 +774,24 @@ class Redis(pulumi.CustomResource):
840
774
 
841
775
  ## Example Usage
842
776
 
843
- <!--Start PulumiCodeChooser -->
844
777
  ```python
845
778
  import pulumi
846
779
  import pulumi_aiven as aiven
847
780
 
848
781
  redis1 = aiven.Redis("redis1",
849
- project=data["aiven_project"]["pr1"]["project"],
782
+ project=pr1["project"],
850
783
  cloud_name="google-europe-west1",
851
784
  plan="business-4",
852
785
  service_name="my-redis1",
853
786
  maintenance_window_dow="monday",
854
787
  maintenance_window_time="10:00:00",
855
- redis_user_config=aiven.RedisRedisUserConfigArgs(
856
- redis_maxmemory_policy="allkeys-random",
857
- public_access=aiven.RedisRedisUserConfigPublicAccessArgs(
858
- redis=True,
859
- ),
860
- ))
788
+ redis_user_config={
789
+ "redis_maxmemory_policy": "allkeys-random",
790
+ "public_access": {
791
+ "redis": True,
792
+ },
793
+ })
861
794
  ```
862
- <!--End PulumiCodeChooser -->
863
795
 
864
796
  ## Import
865
797
 
@@ -869,42 +801,22 @@ class Redis(pulumi.CustomResource):
869
801
 
870
802
  :param str resource_name: The name of the resource.
871
803
  :param pulumi.ResourceOptions opts: Options for the resource.
872
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
873
- reducing will result in the service rebalancing.
874
- :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
875
- created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
876
- provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
877
- are documented on each Cloud provider's own support articles, like [here for
878
- Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
879
- AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
880
- :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
881
- will result in the service rebalancing.
804
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
805
+ :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).
806
+ :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.
882
807
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
883
808
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
884
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
885
- are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
886
- store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
887
- `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
888
- other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
889
- options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
890
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
891
- reference. This property cannot be changed, doing so forces recreation of the resource.
892
- :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
893
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
894
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
895
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
896
- :param pulumi.Input[pulumi.InputType['RedisRedisUserConfigArgs']] redis_user_config: Redis user configurable settings
897
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
898
- :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
899
- service so name should be picked based on intended service usage rather than current attributes.
900
- :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
901
- static ip resource is in the 'assigned' state it cannot be unbound from the node again
902
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
903
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
904
- instability.
905
- :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
906
- unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
907
- much of the content can at least be restored from backup in case accidental deletion is done.
809
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
810
+ :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.
811
+ :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.
812
+ :param pulumi.Input[Union['RedisRedisArgs', 'RedisRedisArgsDict']] redis: Redis server provided values
813
+ :param pulumi.Input[Union['RedisRedisUserConfigArgs', 'RedisRedisUserConfigArgsDict']] redis_user_config: Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
814
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisServiceIntegrationArgs', 'RedisServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
815
+ :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.
816
+ :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
817
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisTagArgs', 'RedisTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
818
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisTechEmailArgs', 'RedisTechEmailArgsDict']]]] 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.
819
+ :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.
908
820
  """
909
821
  ...
910
822
  @overload
@@ -917,26 +829,24 @@ class Redis(pulumi.CustomResource):
917
829
 
918
830
  ## Example Usage
919
831
 
920
- <!--Start PulumiCodeChooser -->
921
832
  ```python
922
833
  import pulumi
923
834
  import pulumi_aiven as aiven
924
835
 
925
836
  redis1 = aiven.Redis("redis1",
926
- project=data["aiven_project"]["pr1"]["project"],
837
+ project=pr1["project"],
927
838
  cloud_name="google-europe-west1",
928
839
  plan="business-4",
929
840
  service_name="my-redis1",
930
841
  maintenance_window_dow="monday",
931
842
  maintenance_window_time="10:00:00",
932
- redis_user_config=aiven.RedisRedisUserConfigArgs(
933
- redis_maxmemory_policy="allkeys-random",
934
- public_access=aiven.RedisRedisUserConfigPublicAccessArgs(
935
- redis=True,
936
- ),
937
- ))
843
+ redis_user_config={
844
+ "redis_maxmemory_policy": "allkeys-random",
845
+ "public_access": {
846
+ "redis": True,
847
+ },
848
+ })
938
849
  ```
939
- <!--End PulumiCodeChooser -->
940
850
 
941
851
  ## Import
942
852
 
@@ -967,12 +877,13 @@ class Redis(pulumi.CustomResource):
967
877
  plan: Optional[pulumi.Input[str]] = None,
968
878
  project: Optional[pulumi.Input[str]] = None,
969
879
  project_vpc_id: Optional[pulumi.Input[str]] = None,
970
- redis_user_config: Optional[pulumi.Input[pulumi.InputType['RedisRedisUserConfigArgs']]] = None,
971
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisServiceIntegrationArgs']]]]] = None,
880
+ redis: Optional[pulumi.Input[Union['RedisRedisArgs', 'RedisRedisArgsDict']]] = None,
881
+ redis_user_config: Optional[pulumi.Input[Union['RedisRedisUserConfigArgs', 'RedisRedisUserConfigArgsDict']]] = None,
882
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisServiceIntegrationArgs', 'RedisServiceIntegrationArgsDict']]]]] = None,
972
883
  service_name: Optional[pulumi.Input[str]] = None,
973
884
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
974
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTagArgs']]]]] = None,
975
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTechEmailArgs']]]]] = None,
885
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTagArgs', 'RedisTagArgsDict']]]]] = None,
886
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTechEmailArgs', 'RedisTechEmailArgsDict']]]]] = None,
976
887
  termination_protection: Optional[pulumi.Input[bool]] = None,
977
888
  __props__=None):
978
889
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -995,6 +906,7 @@ class Redis(pulumi.CustomResource):
995
906
  raise TypeError("Missing required property 'project'")
996
907
  __props__.__dict__["project"] = project
997
908
  __props__.__dict__["project_vpc_id"] = project_vpc_id
909
+ __props__.__dict__["redis"] = None if redis is None else pulumi.Output.secret(redis)
998
910
  __props__.__dict__["redis_user_config"] = redis_user_config
999
911
  __props__.__dict__["service_integrations"] = service_integrations
1000
912
  if service_name is None and not opts.urn:
@@ -1009,7 +921,6 @@ class Redis(pulumi.CustomResource):
1009
921
  __props__.__dict__["disk_space_default"] = None
1010
922
  __props__.__dict__["disk_space_step"] = None
1011
923
  __props__.__dict__["disk_space_used"] = None
1012
- __props__.__dict__["redis"] = None
1013
924
  __props__.__dict__["service_host"] = None
1014
925
  __props__.__dict__["service_password"] = None
1015
926
  __props__.__dict__["service_port"] = None
@@ -1017,7 +928,7 @@ class Redis(pulumi.CustomResource):
1017
928
  __props__.__dict__["service_uri"] = None
1018
929
  __props__.__dict__["service_username"] = None
1019
930
  __props__.__dict__["state"] = None
1020
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["servicePassword", "serviceUri"])
931
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["redis", "servicePassword", "serviceUri"])
1021
932
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1022
933
  super(Redis, __self__).__init__(
1023
934
  'aiven:index/redis:Redis',
@@ -1031,7 +942,7 @@ class Redis(pulumi.CustomResource):
1031
942
  opts: Optional[pulumi.ResourceOptions] = None,
1032
943
  additional_disk_space: Optional[pulumi.Input[str]] = None,
1033
944
  cloud_name: Optional[pulumi.Input[str]] = None,
1034
- components: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisComponentArgs']]]]] = None,
945
+ components: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisComponentArgs', 'RedisComponentArgsDict']]]]] = None,
1035
946
  disk_space: Optional[pulumi.Input[str]] = None,
1036
947
  disk_space_cap: Optional[pulumi.Input[str]] = None,
1037
948
  disk_space_default: Optional[pulumi.Input[str]] = None,
@@ -1042,10 +953,10 @@ class Redis(pulumi.CustomResource):
1042
953
  plan: Optional[pulumi.Input[str]] = None,
1043
954
  project: Optional[pulumi.Input[str]] = None,
1044
955
  project_vpc_id: Optional[pulumi.Input[str]] = None,
1045
- redis: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisRediArgs']]]]] = None,
1046
- redis_user_config: Optional[pulumi.Input[pulumi.InputType['RedisRedisUserConfigArgs']]] = None,
956
+ redis: Optional[pulumi.Input[Union['RedisRedisArgs', 'RedisRedisArgsDict']]] = None,
957
+ redis_user_config: Optional[pulumi.Input[Union['RedisRedisUserConfigArgs', 'RedisRedisUserConfigArgsDict']]] = None,
1047
958
  service_host: Optional[pulumi.Input[str]] = None,
1048
- service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisServiceIntegrationArgs']]]]] = None,
959
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisServiceIntegrationArgs', 'RedisServiceIntegrationArgsDict']]]]] = None,
1049
960
  service_name: Optional[pulumi.Input[str]] = None,
1050
961
  service_password: Optional[pulumi.Input[str]] = None,
1051
962
  service_port: Optional[pulumi.Input[int]] = None,
@@ -1054,8 +965,8 @@ class Redis(pulumi.CustomResource):
1054
965
  service_username: Optional[pulumi.Input[str]] = None,
1055
966
  state: Optional[pulumi.Input[str]] = None,
1056
967
  static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1057
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTagArgs']]]]] = None,
1058
- tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTechEmailArgs']]]]] = None,
968
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTagArgs', 'RedisTagArgsDict']]]]] = None,
969
+ tech_emails: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisTechEmailArgs', 'RedisTechEmailArgsDict']]]]] = None,
1059
970
  termination_protection: Optional[pulumi.Input[bool]] = None) -> 'Redis':
1060
971
  """
1061
972
  Get an existing Redis resource's state with the given name, id, and optional extra
@@ -1064,57 +975,34 @@ class Redis(pulumi.CustomResource):
1064
975
  :param str resource_name: The unique name of the resulting resource.
1065
976
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1066
977
  :param pulumi.ResourceOptions opts: Options for the resource.
1067
- :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
1068
- reducing will result in the service rebalancing.
1069
- :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
1070
- created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
1071
- provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
1072
- are documented on each Cloud provider's own support articles, like [here for
1073
- Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
1074
- AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
1075
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisComponentArgs']]]] components: Service component information objects
1076
- :param pulumi.Input[str] disk_space: Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
1077
- will result in the service rebalancing.
978
+ :param pulumi.Input[str] additional_disk_space: Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
979
+ :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).
980
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisComponentArgs', 'RedisComponentArgsDict']]]] components: Service component information objects
981
+ :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.
1078
982
  :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.
1079
- :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.
1080
- Its also the minimum value for `disk_space`
1081
- :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
1082
- project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
983
+ :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`
984
+ :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.
1083
985
  :param pulumi.Input[str] disk_space_used: Disk space that service is currently using
1084
986
  :param pulumi.Input[str] maintenance_window_dow: Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
1085
987
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
1086
- :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
1087
- are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
1088
- store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
1089
- `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
1090
- other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
1091
- options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1092
- :param pulumi.Input[str] project: Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
1093
- reference. This property cannot be changed, doing so forces recreation of the resource.
1094
- :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
1095
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
1096
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
1097
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
1098
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisRediArgs']]]] redis: Redis server provided values
1099
- :param pulumi.Input[pulumi.InputType['RedisRedisUserConfigArgs']] redis_user_config: Redis user configurable settings
988
+ :param pulumi.Input[str] plan: Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
989
+ :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.
990
+ :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.
991
+ :param pulumi.Input[Union['RedisRedisArgs', 'RedisRedisArgsDict']] redis: Redis server provided values
992
+ :param pulumi.Input[Union['RedisRedisUserConfigArgs', 'RedisRedisUserConfigArgsDict']] redis_user_config: Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1100
993
  :param pulumi.Input[str] service_host: The hostname of the service.
1101
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
1102
- :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
1103
- service so name should be picked based on intended service usage rather than current attributes.
994
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisServiceIntegrationArgs', 'RedisServiceIntegrationArgsDict']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
995
+ :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.
1104
996
  :param pulumi.Input[str] service_password: Password used for connecting to the service, if applicable
1105
997
  :param pulumi.Input[int] service_port: The port of the service
1106
998
  :param pulumi.Input[str] service_type: Aiven internal service type code
1107
999
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
1108
1000
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
1109
1001
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
1110
- :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
1111
- static ip resource is in the 'assigned' state it cannot be unbound from the node again
1112
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
1113
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RedisTechEmailArgs']]]] tech_emails: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
1114
- instability.
1115
- :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
1116
- unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
1117
- much of the content can at least be restored from backup in case accidental deletion is done.
1002
+ :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
1003
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisTagArgs', 'RedisTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize services.
1004
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisTechEmailArgs', 'RedisTechEmailArgsDict']]]] 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.
1005
+ :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.
1118
1006
  """
1119
1007
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1120
1008
 
@@ -1152,10 +1040,9 @@ class Redis(pulumi.CustomResource):
1152
1040
 
1153
1041
  @property
1154
1042
  @pulumi.getter(name="additionalDiskSpace")
1155
- def additional_disk_space(self) -> pulumi.Output[Optional[str]]:
1043
+ def additional_disk_space(self) -> pulumi.Output[str]:
1156
1044
  """
1157
- Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore,
1158
- reducing will result in the service rebalancing.
1045
+ Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to scale your service. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart and there might be a short downtime for services with no HA capabilities.
1159
1046
  """
1160
1047
  return pulumi.get(self, "additional_disk_space")
1161
1048
 
@@ -1163,12 +1050,7 @@ class Redis(pulumi.CustomResource):
1163
1050
  @pulumi.getter(name="cloudName")
1164
1051
  def cloud_name(self) -> pulumi.Output[Optional[str]]:
1165
1052
  """
1166
- Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is
1167
- created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud
1168
- provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These
1169
- are documented on each Cloud provider's own support articles, like [here for
1170
- Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for
1171
- AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
1053
+ 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).
1172
1054
  """
1173
1055
  return pulumi.get(self, "cloud_name")
1174
1056
 
@@ -1182,14 +1064,11 @@ class Redis(pulumi.CustomResource):
1182
1064
 
1183
1065
  @property
1184
1066
  @pulumi.getter(name="diskSpace")
1067
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1185
1068
  def disk_space(self) -> pulumi.Output[Optional[str]]:
1186
1069
  """
1187
- Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing
1188
- will result in the service rebalancing.
1070
+ Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
1189
1071
  """
1190
- 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)
1191
- 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.""")
1192
-
1193
1072
  return pulumi.get(self, "disk_space")
1194
1073
 
1195
1074
  @property
@@ -1204,8 +1083,7 @@ class Redis(pulumi.CustomResource):
1204
1083
  @pulumi.getter(name="diskSpaceDefault")
1205
1084
  def disk_space_default(self) -> pulumi.Output[str]:
1206
1085
  """
1207
- The default disk space of the service, possible values depend on the service type, the cloud provider and the project.
1208
- Its also the minimum value for `disk_space`
1086
+ 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`
1209
1087
  """
1210
1088
  return pulumi.get(self, "disk_space_default")
1211
1089
 
@@ -1213,13 +1091,13 @@ class Redis(pulumi.CustomResource):
1213
1091
  @pulumi.getter(name="diskSpaceStep")
1214
1092
  def disk_space_step(self) -> pulumi.Output[str]:
1215
1093
  """
1216
- The default disk space step of the service, possible values depend on the service type, the cloud provider and the
1217
- project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
1094
+ 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.
1218
1095
  """
1219
1096
  return pulumi.get(self, "disk_space_step")
1220
1097
 
1221
1098
  @property
1222
1099
  @pulumi.getter(name="diskSpaceUsed")
1100
+ @_utilities.deprecated("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
1223
1101
  def disk_space_used(self) -> pulumi.Output[str]:
1224
1102
  """
1225
1103
  Disk space that service is currently using
@@ -1246,12 +1124,7 @@ class Redis(pulumi.CustomResource):
1246
1124
  @pulumi.getter
1247
1125
  def plan(self) -> pulumi.Output[str]:
1248
1126
  """
1249
- Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there
1250
- are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to
1251
- store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are
1252
- `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also
1253
- other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available
1254
- options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
1127
+ Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).
1255
1128
  """
1256
1129
  return pulumi.get(self, "plan")
1257
1130
 
@@ -1259,25 +1132,21 @@ class Redis(pulumi.CustomResource):
1259
1132
  @pulumi.getter
1260
1133
  def project(self) -> pulumi.Output[str]:
1261
1134
  """
1262
- Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a
1263
- reference. This property cannot be changed, doing so forces recreation of the resource.
1135
+ 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.
1264
1136
  """
1265
1137
  return pulumi.get(self, "project")
1266
1138
 
1267
1139
  @property
1268
1140
  @pulumi.getter(name="projectVpcId")
1269
- def project_vpc_id(self) -> pulumi.Output[Optional[str]]:
1141
+ def project_vpc_id(self) -> pulumi.Output[str]:
1270
1142
  """
1271
- 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
1272
- value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region
1273
- as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new
1274
- servers so the operation can take significant amount of time to complete if the service has a lot of data.
1143
+ 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.
1275
1144
  """
1276
1145
  return pulumi.get(self, "project_vpc_id")
1277
1146
 
1278
1147
  @property
1279
1148
  @pulumi.getter
1280
- def redis(self) -> pulumi.Output[Sequence['outputs.RedisRedi']]:
1149
+ def redis(self) -> pulumi.Output['outputs.RedisRedis']:
1281
1150
  """
1282
1151
  Redis server provided values
1283
1152
  """
@@ -1287,7 +1156,7 @@ class Redis(pulumi.CustomResource):
1287
1156
  @pulumi.getter(name="redisUserConfig")
1288
1157
  def redis_user_config(self) -> pulumi.Output[Optional['outputs.RedisRedisUserConfig']]:
1289
1158
  """
1290
- Redis user configurable settings
1159
+ Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later
1291
1160
  """
1292
1161
  return pulumi.get(self, "redis_user_config")
1293
1162
 
@@ -1301,7 +1170,7 @@ class Redis(pulumi.CustomResource):
1301
1170
 
1302
1171
  @property
1303
1172
  @pulumi.getter(name="serviceIntegrations")
1304
- def service_integrations(self) -> pulumi.Output[Optional[Sequence['outputs.RedisServiceIntegration']]]:
1173
+ def service_integrations(self) -> pulumi.Output[Sequence['outputs.RedisServiceIntegration']]:
1305
1174
  """
1306
1175
  Service integrations to specify when creating a service. Not applied after initial service creation
1307
1176
  """
@@ -1311,8 +1180,7 @@ class Redis(pulumi.CustomResource):
1311
1180
  @pulumi.getter(name="serviceName")
1312
1181
  def service_name(self) -> pulumi.Output[str]:
1313
1182
  """
1314
- Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the
1315
- service so name should be picked based on intended service usage rather than current attributes.
1183
+ 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.
1316
1184
  """
1317
1185
  return pulumi.get(self, "service_name")
1318
1186
 
@@ -1368,8 +1236,7 @@ class Redis(pulumi.CustomResource):
1368
1236
  @pulumi.getter(name="staticIps")
1369
1237
  def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1370
1238
  """
1371
- Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a
1372
- static ip resource is in the 'assigned' state it cannot be unbound from the node again
1239
+ 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
1373
1240
  """
1374
1241
  return pulumi.get(self, "static_ips")
1375
1242
 
@@ -1385,8 +1252,7 @@ class Redis(pulumi.CustomResource):
1385
1252
  @pulumi.getter(name="techEmails")
1386
1253
  def tech_emails(self) -> pulumi.Output[Optional[Sequence['outputs.RedisTechEmail']]]:
1387
1254
  """
1388
- Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service
1389
- instability.
1255
+ 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.
1390
1256
  """
1391
1257
  return pulumi.get(self, "tech_emails")
1392
1258
 
@@ -1394,9 +1260,7 @@ class Redis(pulumi.CustomResource):
1394
1260
  @pulumi.getter(name="terminationProtection")
1395
1261
  def termination_protection(self) -> pulumi.Output[Optional[bool]]:
1396
1262
  """
1397
- Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent
1398
- unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
1399
- much of the content can at least be restored from backup in case accidental deletion is done.
1263
+ 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.
1400
1264
  """
1401
1265
  return pulumi.get(self, "termination_protection")
1402
1266