pulumi-aiven 6.7.0a1695928977__py3-none-any.whl → 6.8.0a1696359310__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 (141) hide show
  1. pulumi_aiven/_inputs.py +5916 -1115
  2. pulumi_aiven/account.py +49 -14
  3. pulumi_aiven/account_authentication.py +117 -32
  4. pulumi_aiven/account_team.py +40 -8
  5. pulumi_aiven/account_team_member.py +46 -10
  6. pulumi_aiven/account_team_project.py +43 -9
  7. pulumi_aiven/aws_privatelink.py +43 -9
  8. pulumi_aiven/aws_vpc_peering_connection.py +52 -12
  9. pulumi_aiven/azure_privatelink.py +49 -11
  10. pulumi_aiven/azure_privatelink_connection_approval.py +43 -9
  11. pulumi_aiven/azure_vpc_peering_connection.py +64 -16
  12. pulumi_aiven/billing_group.py +109 -34
  13. pulumi_aiven/cassandra.py +158 -56
  14. pulumi_aiven/cassandra_user.py +52 -12
  15. pulumi_aiven/clickhouse.py +158 -56
  16. pulumi_aiven/clickhouse_database.py +43 -9
  17. pulumi_aiven/clickhouse_grant.py +62 -20
  18. pulumi_aiven/clickhouse_role.py +37 -7
  19. pulumi_aiven/clickhouse_user.py +46 -10
  20. pulumi_aiven/config/vars.py +1 -1
  21. pulumi_aiven/connection_pool.py +64 -16
  22. pulumi_aiven/flink.py +162 -53
  23. pulumi_aiven/flink_application.py +52 -12
  24. pulumi_aiven/flink_application_deployment.py +67 -17
  25. pulumi_aiven/flink_application_version.py +79 -27
  26. pulumi_aiven/gcp_privatelink.py +40 -8
  27. pulumi_aiven/gcp_privatelink_connection_approval.py +46 -10
  28. pulumi_aiven/gcp_vpc_peering_connection.py +46 -10
  29. pulumi_aiven/get_account.py +1 -1
  30. pulumi_aiven/get_account_authentication.py +1 -1
  31. pulumi_aiven/get_account_team.py +1 -1
  32. pulumi_aiven/get_account_team_member.py +1 -1
  33. pulumi_aiven/get_account_team_project.py +1 -1
  34. pulumi_aiven/get_aws_privatelink.py +1 -1
  35. pulumi_aiven/get_aws_vpc_peering_connection.py +1 -1
  36. pulumi_aiven/get_azure_privatelink.py +1 -1
  37. pulumi_aiven/get_azure_vpc_peering_connection.py +1 -1
  38. pulumi_aiven/get_billing_group.py +1 -1
  39. pulumi_aiven/get_cassanda.py +1 -1
  40. pulumi_aiven/get_cassandra.py +1 -1
  41. pulumi_aiven/get_cassandra_user.py +1 -1
  42. pulumi_aiven/get_clickhouse.py +1 -1
  43. pulumi_aiven/get_clickhouse_database.py +1 -1
  44. pulumi_aiven/get_clickhouse_user.py +1 -1
  45. pulumi_aiven/get_connection_pool.py +1 -1
  46. pulumi_aiven/get_flink.py +1 -1
  47. pulumi_aiven/get_flink_application.py +1 -1
  48. pulumi_aiven/get_flink_application_version.py +1 -1
  49. pulumi_aiven/get_gcp_privatelink.py +1 -1
  50. pulumi_aiven/get_gcp_vpc_peering_connection.py +1 -1
  51. pulumi_aiven/get_grafana.py +1 -1
  52. pulumi_aiven/get_influx_db.py +1 -1
  53. pulumi_aiven/get_influxdb_database.py +1 -1
  54. pulumi_aiven/get_influxdb_user.py +1 -1
  55. pulumi_aiven/get_kafka.py +1 -1
  56. pulumi_aiven/get_kafka_acl.py +1 -1
  57. pulumi_aiven/get_kafka_connect.py +1 -1
  58. pulumi_aiven/get_kafka_connector.py +1 -1
  59. pulumi_aiven/get_kafka_mirror_maker.py +1 -1
  60. pulumi_aiven/get_kafka_schema.py +1 -1
  61. pulumi_aiven/get_kafka_schema_configuration.py +1 -1
  62. pulumi_aiven/get_kafka_schema_registry_acl.py +1 -1
  63. pulumi_aiven/get_kafka_topic.py +1 -1
  64. pulumi_aiven/get_kafka_user.py +1 -1
  65. pulumi_aiven/get_m3_aggregator.py +1 -1
  66. pulumi_aiven/get_m3_db.py +1 -1
  67. pulumi_aiven/get_m3db_user.py +1 -1
  68. pulumi_aiven/get_mirror_maker_replication_flow.py +1 -1
  69. pulumi_aiven/get_my_sql.py +1 -1
  70. pulumi_aiven/get_mysql_database.py +1 -1
  71. pulumi_aiven/get_mysql_user.py +1 -1
  72. pulumi_aiven/get_open_search.py +1 -1
  73. pulumi_aiven/get_open_search_acl_config.py +1 -1
  74. pulumi_aiven/get_open_search_acl_rule.py +1 -1
  75. pulumi_aiven/get_opensearch_security_plugin_config.py +1 -1
  76. pulumi_aiven/get_opensearch_user.py +1 -1
  77. pulumi_aiven/get_organization.py +1 -1
  78. pulumi_aiven/get_organization_user.py +1 -1
  79. pulumi_aiven/get_organization_user_group.py +1 -1
  80. pulumi_aiven/get_organizational_unit.py +1 -1
  81. pulumi_aiven/get_pg.py +1 -1
  82. pulumi_aiven/get_pg_database.py +1 -1
  83. pulumi_aiven/get_pg_user.py +1 -1
  84. pulumi_aiven/get_project.py +1 -1
  85. pulumi_aiven/get_project_user.py +1 -1
  86. pulumi_aiven/get_project_vpc.py +1 -1
  87. pulumi_aiven/get_redis.py +1 -1
  88. pulumi_aiven/get_redis_user.py +1 -1
  89. pulumi_aiven/get_service_component.py +1 -1
  90. pulumi_aiven/get_service_integration.py +1 -1
  91. pulumi_aiven/get_service_integration_endpoint.py +1 -1
  92. pulumi_aiven/get_transit_gateway_vpc_attachment.py +1 -1
  93. pulumi_aiven/grafana.py +147 -45
  94. pulumi_aiven/influx_db.py +158 -56
  95. pulumi_aiven/influxdb_database.py +43 -9
  96. pulumi_aiven/influxdb_user.py +52 -12
  97. pulumi_aiven/kafka.py +170 -63
  98. pulumi_aiven/kafka_acl.py +52 -12
  99. pulumi_aiven/kafka_connect.py +147 -45
  100. pulumi_aiven/kafka_connector.py +64 -16
  101. pulumi_aiven/kafka_mirror_maker.py +147 -45
  102. pulumi_aiven/kafka_schema.py +58 -14
  103. pulumi_aiven/kafka_schema_configuration.py +37 -7
  104. pulumi_aiven/kafka_schema_registry_acl.py +52 -12
  105. pulumi_aiven/kafka_topic.py +72 -17
  106. pulumi_aiven/kafka_user.py +52 -12
  107. pulumi_aiven/m3_aggregator.py +147 -45
  108. pulumi_aiven/m3_db.py +147 -45
  109. pulumi_aiven/m3db_user.py +46 -10
  110. pulumi_aiven/mirror_maker_replication_flow.py +91 -25
  111. pulumi_aiven/my_sql.py +147 -45
  112. pulumi_aiven/mysql_database.py +43 -9
  113. pulumi_aiven/mysql_user.py +58 -14
  114. pulumi_aiven/open_search.py +158 -56
  115. pulumi_aiven/open_search_acl_config.py +43 -9
  116. pulumi_aiven/open_search_acl_rule.py +49 -11
  117. pulumi_aiven/opensearch_security_plugin_config.py +46 -10
  118. pulumi_aiven/opensearch_user.py +46 -10
  119. pulumi_aiven/organization.py +45 -8
  120. pulumi_aiven/organization_user.py +40 -8
  121. pulumi_aiven/organization_user_group.py +43 -9
  122. pulumi_aiven/organizational_unit.py +40 -8
  123. pulumi_aiven/outputs.py +10584 -2482
  124. pulumi_aiven/pg.py +169 -60
  125. pulumi_aiven/pg_database.py +55 -13
  126. pulumi_aiven/pg_user.py +58 -14
  127. pulumi_aiven/project.py +91 -34
  128. pulumi_aiven/project_user.py +40 -8
  129. pulumi_aiven/project_vpc.py +40 -8
  130. pulumi_aiven/provider.py +15 -2
  131. pulumi_aiven/redis.py +147 -45
  132. pulumi_aiven/redis_user.py +70 -18
  133. pulumi_aiven/service_integration.py +157 -32
  134. pulumi_aiven/service_integration_endpoint.py +161 -30
  135. pulumi_aiven/static_ip.py +43 -9
  136. pulumi_aiven/transit_gateway_vpc_attachment.py +58 -17
  137. {pulumi_aiven-6.7.0a1695928977.dist-info → pulumi_aiven-6.8.0a1696359310.dist-info}/METADATA +1 -1
  138. pulumi_aiven-6.8.0a1696359310.dist-info/RECORD +145 -0
  139. pulumi_aiven-6.7.0a1695928977.dist-info/RECORD +0 -145
  140. {pulumi_aiven-6.7.0a1695928977.dist-info → pulumi_aiven-6.8.0a1696359310.dist-info}/WHEEL +0 -0
  141. {pulumi_aiven-6.7.0a1695928977.dist-info → pulumi_aiven-6.8.0a1696359310.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ import copy
6
6
  import warnings
7
7
  import pulumi
8
8
  import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
9
+ from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = ['CassandraUserArgs', 'CassandraUser']
@@ -25,11 +25,26 @@ class CassandraUserArgs:
25
25
  :param pulumi.Input[str] username: The actual name of the Cassandra User. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
26
26
  :param pulumi.Input[str] password: The password of the Cassandra User.
27
27
  """
28
- pulumi.set(__self__, "project", project)
29
- pulumi.set(__self__, "service_name", service_name)
30
- pulumi.set(__self__, "username", username)
28
+ CassandraUserArgs._configure(
29
+ lambda key, value: pulumi.set(__self__, key, value),
30
+ project=project,
31
+ service_name=service_name,
32
+ username=username,
33
+ password=password,
34
+ )
35
+ @staticmethod
36
+ def _configure(
37
+ _setter: Callable[[Any, Any], None],
38
+ project: pulumi.Input[str],
39
+ service_name: pulumi.Input[str],
40
+ username: pulumi.Input[str],
41
+ password: Optional[pulumi.Input[str]] = None,
42
+ opts: Optional[pulumi.ResourceOptions]=None):
43
+ _setter("project", project)
44
+ _setter("service_name", service_name)
45
+ _setter("username", username)
31
46
  if password is not None:
32
- pulumi.set(__self__, "password", password)
47
+ _setter("password", password)
33
48
 
34
49
  @property
35
50
  @pulumi.getter
@@ -100,20 +115,41 @@ class _CassandraUserState:
100
115
  :param pulumi.Input[str] type: Type of the user account. Tells whether the user is the primary account or a regular account.
101
116
  :param pulumi.Input[str] username: The actual name of the Cassandra User. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
102
117
  """
118
+ _CassandraUserState._configure(
119
+ lambda key, value: pulumi.set(__self__, key, value),
120
+ access_cert=access_cert,
121
+ access_key=access_key,
122
+ password=password,
123
+ project=project,
124
+ service_name=service_name,
125
+ type=type,
126
+ username=username,
127
+ )
128
+ @staticmethod
129
+ def _configure(
130
+ _setter: Callable[[Any, Any], None],
131
+ access_cert: Optional[pulumi.Input[str]] = None,
132
+ access_key: Optional[pulumi.Input[str]] = None,
133
+ password: Optional[pulumi.Input[str]] = None,
134
+ project: Optional[pulumi.Input[str]] = None,
135
+ service_name: Optional[pulumi.Input[str]] = None,
136
+ type: Optional[pulumi.Input[str]] = None,
137
+ username: Optional[pulumi.Input[str]] = None,
138
+ opts: Optional[pulumi.ResourceOptions]=None):
103
139
  if access_cert is not None:
104
- pulumi.set(__self__, "access_cert", access_cert)
140
+ _setter("access_cert", access_cert)
105
141
  if access_key is not None:
106
- pulumi.set(__self__, "access_key", access_key)
142
+ _setter("access_key", access_key)
107
143
  if password is not None:
108
- pulumi.set(__self__, "password", password)
144
+ _setter("password", password)
109
145
  if project is not None:
110
- pulumi.set(__self__, "project", project)
146
+ _setter("project", project)
111
147
  if service_name is not None:
112
- pulumi.set(__self__, "service_name", service_name)
148
+ _setter("service_name", service_name)
113
149
  if type is not None:
114
- pulumi.set(__self__, "type", type)
150
+ _setter("type", type)
115
151
  if username is not None:
116
- pulumi.set(__self__, "username", username)
152
+ _setter("username", username)
117
153
 
118
154
  @property
119
155
  @pulumi.getter(name="accessCert")
@@ -277,6 +313,10 @@ class CassandraUser(pulumi.CustomResource):
277
313
  if resource_args is not None:
278
314
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
279
315
  else:
316
+ kwargs = kwargs or {}
317
+ def _setter(key, value):
318
+ kwargs[key] = value
319
+ CassandraUserArgs._configure(_setter, **kwargs)
280
320
  __self__._internal_init(resource_name, *args, **kwargs)
281
321
 
282
322
  def _internal_init(__self__,
@@ -6,7 +6,7 @@ import copy
6
6
  import warnings
7
7
  import pulumi
8
8
  import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
9
+ from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
  from . import outputs
12
12
  from ._inputs import *
@@ -43,38 +43,73 @@ class ClickhouseArgs:
43
43
  :param pulumi.Input[str] maintenance_window_time: Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
44
44
  :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.
45
45
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseServiceIntegrationArgs']]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
46
- :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
46
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
47
47
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
48
48
  :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.
49
49
  """
50
- pulumi.set(__self__, "plan", plan)
51
- pulumi.set(__self__, "project", project)
52
- pulumi.set(__self__, "service_name", service_name)
50
+ ClickhouseArgs._configure(
51
+ lambda key, value: pulumi.set(__self__, key, value),
52
+ plan=plan,
53
+ project=project,
54
+ service_name=service_name,
55
+ additional_disk_space=additional_disk_space,
56
+ clickhouse_user_config=clickhouse_user_config,
57
+ cloud_name=cloud_name,
58
+ disk_space=disk_space,
59
+ maintenance_window_dow=maintenance_window_dow,
60
+ maintenance_window_time=maintenance_window_time,
61
+ project_vpc_id=project_vpc_id,
62
+ service_integrations=service_integrations,
63
+ static_ips=static_ips,
64
+ tags=tags,
65
+ termination_protection=termination_protection,
66
+ )
67
+ @staticmethod
68
+ def _configure(
69
+ _setter: Callable[[Any, Any], None],
70
+ plan: pulumi.Input[str],
71
+ project: pulumi.Input[str],
72
+ service_name: pulumi.Input[str],
73
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
74
+ clickhouse_user_config: Optional[pulumi.Input['ClickhouseClickhouseUserConfigArgs']] = None,
75
+ cloud_name: Optional[pulumi.Input[str]] = None,
76
+ disk_space: Optional[pulumi.Input[str]] = None,
77
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
78
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
79
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
80
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseServiceIntegrationArgs']]]] = None,
81
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
82
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]] = None,
83
+ termination_protection: Optional[pulumi.Input[bool]] = None,
84
+ opts: Optional[pulumi.ResourceOptions]=None):
85
+ _setter("plan", plan)
86
+ _setter("project", project)
87
+ _setter("service_name", service_name)
53
88
  if additional_disk_space is not None:
54
- pulumi.set(__self__, "additional_disk_space", additional_disk_space)
89
+ _setter("additional_disk_space", additional_disk_space)
55
90
  if clickhouse_user_config is not None:
56
- pulumi.set(__self__, "clickhouse_user_config", clickhouse_user_config)
91
+ _setter("clickhouse_user_config", clickhouse_user_config)
57
92
  if cloud_name is not None:
58
- pulumi.set(__self__, "cloud_name", cloud_name)
93
+ _setter("cloud_name", cloud_name)
59
94
  if disk_space is not None:
60
95
  warnings.warn("""This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""", DeprecationWarning)
61
96
  pulumi.log.warn("""disk_space is deprecated: This will be removed in v5.0.0. Please use `additional_disk_space` to specify the space to be added to the default `disk_space` defined by the plan.""")
62
97
  if disk_space is not None:
63
- pulumi.set(__self__, "disk_space", disk_space)
98
+ _setter("disk_space", disk_space)
64
99
  if maintenance_window_dow is not None:
65
- pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
100
+ _setter("maintenance_window_dow", maintenance_window_dow)
66
101
  if maintenance_window_time is not None:
67
- pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
102
+ _setter("maintenance_window_time", maintenance_window_time)
68
103
  if project_vpc_id is not None:
69
- pulumi.set(__self__, "project_vpc_id", project_vpc_id)
104
+ _setter("project_vpc_id", project_vpc_id)
70
105
  if service_integrations is not None:
71
- pulumi.set(__self__, "service_integrations", service_integrations)
106
+ _setter("service_integrations", service_integrations)
72
107
  if static_ips is not None:
73
- pulumi.set(__self__, "static_ips", static_ips)
108
+ _setter("static_ips", static_ips)
74
109
  if tags is not None:
75
- pulumi.set(__self__, "tags", tags)
110
+ _setter("tags", tags)
76
111
  if termination_protection is not None:
77
- pulumi.set(__self__, "termination_protection", termination_protection)
112
+ _setter("termination_protection", termination_protection)
78
113
 
79
114
  @property
80
115
  @pulumi.getter
@@ -215,7 +250,7 @@ class ClickhouseArgs:
215
250
  @pulumi.getter(name="staticIps")
216
251
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
217
252
  """
218
- 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
253
+ Use static public IP addresses.
219
254
  """
220
255
  return pulumi.get(self, "static_ips")
221
256
 
@@ -282,7 +317,7 @@ class _ClickhouseState:
282
317
  Input properties used for looking up and filtering Clickhouse resources.
283
318
  :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
284
319
  :param pulumi.Input['ClickhouseClickhouseUserConfigArgs'] clickhouse_user_config: Clickhouse user configurable settings
285
- :param pulumi.Input[Sequence[pulumi.Input['ClickhouseClickhouseArgs']]] clickhouses: Clickhouse server provided values
320
+ :param pulumi.Input[Sequence[pulumi.Input['ClickhouseClickhouseArgs']]] clickhouses: Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
286
321
  :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).
287
322
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseComponentArgs']]] components: Service component information objects
288
323
  :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.
@@ -304,67 +339,128 @@ class _ClickhouseState:
304
339
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
305
340
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
306
341
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
307
- :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
342
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
308
343
  :param pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]] tags: Tags are key-value pairs that allow you to categorize services.
309
344
  :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.
310
345
  """
346
+ _ClickhouseState._configure(
347
+ lambda key, value: pulumi.set(__self__, key, value),
348
+ additional_disk_space=additional_disk_space,
349
+ clickhouse_user_config=clickhouse_user_config,
350
+ clickhouses=clickhouses,
351
+ cloud_name=cloud_name,
352
+ components=components,
353
+ disk_space=disk_space,
354
+ disk_space_cap=disk_space_cap,
355
+ disk_space_default=disk_space_default,
356
+ disk_space_step=disk_space_step,
357
+ disk_space_used=disk_space_used,
358
+ maintenance_window_dow=maintenance_window_dow,
359
+ maintenance_window_time=maintenance_window_time,
360
+ plan=plan,
361
+ project=project,
362
+ project_vpc_id=project_vpc_id,
363
+ service_host=service_host,
364
+ service_integrations=service_integrations,
365
+ service_name=service_name,
366
+ service_password=service_password,
367
+ service_port=service_port,
368
+ service_type=service_type,
369
+ service_uri=service_uri,
370
+ service_username=service_username,
371
+ state=state,
372
+ static_ips=static_ips,
373
+ tags=tags,
374
+ termination_protection=termination_protection,
375
+ )
376
+ @staticmethod
377
+ def _configure(
378
+ _setter: Callable[[Any, Any], None],
379
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
380
+ clickhouse_user_config: Optional[pulumi.Input['ClickhouseClickhouseUserConfigArgs']] = None,
381
+ clickhouses: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseClickhouseArgs']]]] = None,
382
+ cloud_name: Optional[pulumi.Input[str]] = None,
383
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseComponentArgs']]]] = None,
384
+ disk_space: Optional[pulumi.Input[str]] = None,
385
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
386
+ disk_space_default: Optional[pulumi.Input[str]] = None,
387
+ disk_space_step: Optional[pulumi.Input[str]] = None,
388
+ disk_space_used: Optional[pulumi.Input[str]] = None,
389
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
390
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
391
+ plan: Optional[pulumi.Input[str]] = None,
392
+ project: Optional[pulumi.Input[str]] = None,
393
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
394
+ service_host: Optional[pulumi.Input[str]] = None,
395
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseServiceIntegrationArgs']]]] = None,
396
+ service_name: Optional[pulumi.Input[str]] = None,
397
+ service_password: Optional[pulumi.Input[str]] = None,
398
+ service_port: Optional[pulumi.Input[int]] = None,
399
+ service_type: Optional[pulumi.Input[str]] = None,
400
+ service_uri: Optional[pulumi.Input[str]] = None,
401
+ service_username: Optional[pulumi.Input[str]] = None,
402
+ state: Optional[pulumi.Input[str]] = None,
403
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
404
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseTagArgs']]]] = None,
405
+ termination_protection: Optional[pulumi.Input[bool]] = None,
406
+ opts: Optional[pulumi.ResourceOptions]=None):
311
407
  if additional_disk_space is not None:
312
- pulumi.set(__self__, "additional_disk_space", additional_disk_space)
408
+ _setter("additional_disk_space", additional_disk_space)
313
409
  if clickhouse_user_config is not None:
314
- pulumi.set(__self__, "clickhouse_user_config", clickhouse_user_config)
410
+ _setter("clickhouse_user_config", clickhouse_user_config)
315
411
  if clickhouses is not None:
316
- pulumi.set(__self__, "clickhouses", clickhouses)
412
+ _setter("clickhouses", clickhouses)
317
413
  if cloud_name is not None:
318
- pulumi.set(__self__, "cloud_name", cloud_name)
414
+ _setter("cloud_name", cloud_name)
319
415
  if components is not None:
320
- pulumi.set(__self__, "components", components)
416
+ _setter("components", components)
321
417
  if disk_space is not None:
322
418
  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)
323
419
  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.""")
324
420
  if disk_space is not None:
325
- pulumi.set(__self__, "disk_space", disk_space)
421
+ _setter("disk_space", disk_space)
326
422
  if disk_space_cap is not None:
327
- pulumi.set(__self__, "disk_space_cap", disk_space_cap)
423
+ _setter("disk_space_cap", disk_space_cap)
328
424
  if disk_space_default is not None:
329
- pulumi.set(__self__, "disk_space_default", disk_space_default)
425
+ _setter("disk_space_default", disk_space_default)
330
426
  if disk_space_step is not None:
331
- pulumi.set(__self__, "disk_space_step", disk_space_step)
427
+ _setter("disk_space_step", disk_space_step)
332
428
  if disk_space_used is not None:
333
- pulumi.set(__self__, "disk_space_used", disk_space_used)
429
+ _setter("disk_space_used", disk_space_used)
334
430
  if maintenance_window_dow is not None:
335
- pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
431
+ _setter("maintenance_window_dow", maintenance_window_dow)
336
432
  if maintenance_window_time is not None:
337
- pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
433
+ _setter("maintenance_window_time", maintenance_window_time)
338
434
  if plan is not None:
339
- pulumi.set(__self__, "plan", plan)
435
+ _setter("plan", plan)
340
436
  if project is not None:
341
- pulumi.set(__self__, "project", project)
437
+ _setter("project", project)
342
438
  if project_vpc_id is not None:
343
- pulumi.set(__self__, "project_vpc_id", project_vpc_id)
439
+ _setter("project_vpc_id", project_vpc_id)
344
440
  if service_host is not None:
345
- pulumi.set(__self__, "service_host", service_host)
441
+ _setter("service_host", service_host)
346
442
  if service_integrations is not None:
347
- pulumi.set(__self__, "service_integrations", service_integrations)
443
+ _setter("service_integrations", service_integrations)
348
444
  if service_name is not None:
349
- pulumi.set(__self__, "service_name", service_name)
445
+ _setter("service_name", service_name)
350
446
  if service_password is not None:
351
- pulumi.set(__self__, "service_password", service_password)
447
+ _setter("service_password", service_password)
352
448
  if service_port is not None:
353
- pulumi.set(__self__, "service_port", service_port)
449
+ _setter("service_port", service_port)
354
450
  if service_type is not None:
355
- pulumi.set(__self__, "service_type", service_type)
451
+ _setter("service_type", service_type)
356
452
  if service_uri is not None:
357
- pulumi.set(__self__, "service_uri", service_uri)
453
+ _setter("service_uri", service_uri)
358
454
  if service_username is not None:
359
- pulumi.set(__self__, "service_username", service_username)
455
+ _setter("service_username", service_username)
360
456
  if state is not None:
361
- pulumi.set(__self__, "state", state)
457
+ _setter("state", state)
362
458
  if static_ips is not None:
363
- pulumi.set(__self__, "static_ips", static_ips)
459
+ _setter("static_ips", static_ips)
364
460
  if tags is not None:
365
- pulumi.set(__self__, "tags", tags)
461
+ _setter("tags", tags)
366
462
  if termination_protection is not None:
367
- pulumi.set(__self__, "termination_protection", termination_protection)
463
+ _setter("termination_protection", termination_protection)
368
464
 
369
465
  @property
370
466
  @pulumi.getter(name="additionalDiskSpace")
@@ -394,7 +490,7 @@ class _ClickhouseState:
394
490
  @pulumi.getter
395
491
  def clickhouses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClickhouseClickhouseArgs']]]]:
396
492
  """
397
- Clickhouse server provided values
493
+ Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
398
494
  """
399
495
  return pulumi.get(self, "clickhouses")
400
496
 
@@ -661,7 +757,7 @@ class _ClickhouseState:
661
757
  @pulumi.getter(name="staticIps")
662
758
  def static_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
663
759
  """
664
- 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
760
+ Use static public IP addresses.
665
761
  """
666
762
  return pulumi.get(self, "static_ips")
667
763
 
@@ -751,7 +847,7 @@ class Clickhouse(pulumi.CustomResource):
751
847
  :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.
752
848
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseServiceIntegrationArgs']]]] service_integrations: Service integrations to specify when creating a service. Not applied after initial service creation
753
849
  :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.
754
- :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
850
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
755
851
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
756
852
  :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.
757
853
  """
@@ -795,6 +891,10 @@ class Clickhouse(pulumi.CustomResource):
795
891
  if resource_args is not None:
796
892
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
797
893
  else:
894
+ kwargs = kwargs or {}
895
+ def _setter(key, value):
896
+ kwargs[key] = value
897
+ ClickhouseArgs._configure(_setter, **kwargs)
798
898
  __self__._internal_init(resource_name, *args, **kwargs)
799
899
 
800
900
  def _internal_init(__self__,
@@ -824,11 +924,13 @@ class Clickhouse(pulumi.CustomResource):
824
924
  __props__ = ClickhouseArgs.__new__(ClickhouseArgs)
825
925
 
826
926
  __props__.__dict__["additional_disk_space"] = additional_disk_space
927
+ if clickhouse_user_config is not None and not isinstance(clickhouse_user_config, ClickhouseClickhouseUserConfigArgs):
928
+ clickhouse_user_config = clickhouse_user_config or {}
929
+ def _setter(key, value):
930
+ clickhouse_user_config[key] = value
931
+ ClickhouseClickhouseUserConfigArgs._configure(_setter, **clickhouse_user_config)
827
932
  __props__.__dict__["clickhouse_user_config"] = clickhouse_user_config
828
933
  __props__.__dict__["cloud_name"] = cloud_name
829
- if disk_space is not None and not opts.urn:
830
- 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)
831
- 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.""")
832
934
  __props__.__dict__["disk_space"] = disk_space
833
935
  __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
834
936
  __props__.__dict__["maintenance_window_time"] = maintenance_window_time
@@ -907,7 +1009,7 @@ class Clickhouse(pulumi.CustomResource):
907
1009
  :param pulumi.ResourceOptions opts: Options for the resource.
908
1010
  :param pulumi.Input[str] additional_disk_space: Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
909
1011
  :param pulumi.Input[pulumi.InputType['ClickhouseClickhouseUserConfigArgs']] clickhouse_user_config: Clickhouse user configurable settings
910
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseClickhouseArgs']]]] clickhouses: Clickhouse server provided values
1012
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseClickhouseArgs']]]] clickhouses: Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
911
1013
  :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).
912
1014
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseComponentArgs']]]] components: Service component information objects
913
1015
  :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.
@@ -929,7 +1031,7 @@ class Clickhouse(pulumi.CustomResource):
929
1031
  :param pulumi.Input[str] service_uri: URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
930
1032
  :param pulumi.Input[str] service_username: Username used for connecting to the service, if applicable
931
1033
  :param pulumi.Input[str] state: Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
932
- :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
1034
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] static_ips: Use static public IP addresses.
933
1035
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClickhouseTagArgs']]]] tags: Tags are key-value pairs that allow you to categorize services.
934
1036
  :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.
935
1037
  """
@@ -986,7 +1088,7 @@ class Clickhouse(pulumi.CustomResource):
986
1088
  @pulumi.getter
987
1089
  def clickhouses(self) -> pulumi.Output[Sequence['outputs.ClickhouseClickhouse']]:
988
1090
  """
989
- Clickhouse server provided values
1091
+ Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
990
1092
  """
991
1093
  return pulumi.get(self, "clickhouses")
992
1094
 
@@ -1165,7 +1267,7 @@ class Clickhouse(pulumi.CustomResource):
1165
1267
  @pulumi.getter(name="staticIps")
1166
1268
  def static_ips(self) -> pulumi.Output[Optional[Sequence[str]]]:
1167
1269
  """
1168
- 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
1270
+ Use static public IP addresses.
1169
1271
  """
1170
1272
  return pulumi.get(self, "static_ips")
1171
1273
 
@@ -6,7 +6,7 @@ import copy
6
6
  import warnings
7
7
  import pulumi
8
8
  import pulumi.runtime
9
- from typing import Any, Mapping, Optional, Sequence, Union, overload
9
+ from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = ['ClickhouseDatabaseArgs', 'ClickhouseDatabase']
@@ -27,12 +27,27 @@ class ClickhouseDatabaseArgs:
27
27
  Terraform. It is recommended to enable this for any production Clickhouse databases containing critical data. The
28
28
  default value is `false`.
29
29
  """
30
- pulumi.set(__self__, "project", project)
31
- pulumi.set(__self__, "service_name", service_name)
30
+ ClickhouseDatabaseArgs._configure(
31
+ lambda key, value: pulumi.set(__self__, key, value),
32
+ project=project,
33
+ service_name=service_name,
34
+ name=name,
35
+ termination_protection=termination_protection,
36
+ )
37
+ @staticmethod
38
+ def _configure(
39
+ _setter: Callable[[Any, Any], None],
40
+ project: pulumi.Input[str],
41
+ service_name: pulumi.Input[str],
42
+ name: Optional[pulumi.Input[str]] = None,
43
+ termination_protection: Optional[pulumi.Input[bool]] = None,
44
+ opts: Optional[pulumi.ResourceOptions]=None):
45
+ _setter("project", project)
46
+ _setter("service_name", service_name)
32
47
  if name is not None:
33
- pulumi.set(__self__, "name", name)
48
+ _setter("name", name)
34
49
  if termination_protection is not None:
35
- pulumi.set(__self__, "termination_protection", termination_protection)
50
+ _setter("termination_protection", termination_protection)
36
51
 
37
52
  @property
38
53
  @pulumi.getter
@@ -101,14 +116,29 @@ class _ClickhouseDatabaseState:
101
116
  Terraform. It is recommended to enable this for any production Clickhouse databases containing critical data. The
102
117
  default value is `false`.
103
118
  """
119
+ _ClickhouseDatabaseState._configure(
120
+ lambda key, value: pulumi.set(__self__, key, value),
121
+ name=name,
122
+ project=project,
123
+ service_name=service_name,
124
+ termination_protection=termination_protection,
125
+ )
126
+ @staticmethod
127
+ def _configure(
128
+ _setter: Callable[[Any, Any], None],
129
+ name: Optional[pulumi.Input[str]] = None,
130
+ project: Optional[pulumi.Input[str]] = None,
131
+ service_name: Optional[pulumi.Input[str]] = None,
132
+ termination_protection: Optional[pulumi.Input[bool]] = None,
133
+ opts: Optional[pulumi.ResourceOptions]=None):
104
134
  if name is not None:
105
- pulumi.set(__self__, "name", name)
135
+ _setter("name", name)
106
136
  if project is not None:
107
- pulumi.set(__self__, "project", project)
137
+ _setter("project", project)
108
138
  if service_name is not None:
109
- pulumi.set(__self__, "service_name", service_name)
139
+ _setter("service_name", service_name)
110
140
  if termination_protection is not None:
111
- pulumi.set(__self__, "termination_protection", termination_protection)
141
+ _setter("termination_protection", termination_protection)
112
142
 
113
143
  @property
114
144
  @pulumi.getter
@@ -236,6 +266,10 @@ class ClickhouseDatabase(pulumi.CustomResource):
236
266
  if resource_args is not None:
237
267
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
238
268
  else:
269
+ kwargs = kwargs or {}
270
+ def _setter(key, value):
271
+ kwargs[key] = value
272
+ ClickhouseDatabaseArgs._configure(_setter, **kwargs)
239
273
  __self__._internal_init(resource_name, *args, **kwargs)
240
274
 
241
275
  def _internal_init(__self__,