pulumi-aiven 6.24.0a1726291362__py3-none-any.whl → 6.24.1__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 (55) hide show
  1. pulumi_aiven/__init__.py +9 -0
  2. pulumi_aiven/_inputs.py +524 -4
  3. pulumi_aiven/cassandra.py +24 -24
  4. pulumi_aiven/cassandra_user.py +40 -40
  5. pulumi_aiven/clickhouse.py +7 -7
  6. pulumi_aiven/connection_pool.py +41 -41
  7. pulumi_aiven/dragonfly.py +7 -7
  8. pulumi_aiven/flink.py +7 -7
  9. pulumi_aiven/get_cassanda.py +8 -8
  10. pulumi_aiven/get_cassandra.py +8 -8
  11. pulumi_aiven/get_cassandra_user.py +15 -15
  12. pulumi_aiven/get_clickhouse.py +1 -1
  13. pulumi_aiven/get_connection_pool.py +14 -14
  14. pulumi_aiven/get_dragonfly.py +1 -1
  15. pulumi_aiven/get_flink.py +1 -1
  16. pulumi_aiven/get_grafana.py +8 -8
  17. pulumi_aiven/get_kafka.py +1 -1
  18. pulumi_aiven/get_kafka_connect.py +1 -1
  19. pulumi_aiven/get_kafka_mirror_maker.py +1 -1
  20. pulumi_aiven/get_kafka_topic.py +27 -1
  21. pulumi_aiven/get_m3_aggregator.py +1 -1
  22. pulumi_aiven/get_m3_db.py +8 -8
  23. pulumi_aiven/get_m3db_user.py +13 -13
  24. pulumi_aiven/get_my_sql.py +1 -1
  25. pulumi_aiven/get_open_search.py +1 -1
  26. pulumi_aiven/get_pg.py +1 -1
  27. pulumi_aiven/get_pg_user.py +1 -1
  28. pulumi_aiven/get_redis.py +1 -1
  29. pulumi_aiven/get_service_integration_endpoint.py +40 -1
  30. pulumi_aiven/get_thanos.py +1 -1
  31. pulumi_aiven/get_valkey.py +1 -1
  32. pulumi_aiven/grafana.py +24 -24
  33. pulumi_aiven/influx_db.py +7 -7
  34. pulumi_aiven/kafka.py +7 -7
  35. pulumi_aiven/kafka_connect.py +7 -7
  36. pulumi_aiven/kafka_mirror_maker.py +7 -7
  37. pulumi_aiven/kafka_topic.py +95 -1
  38. pulumi_aiven/m3_aggregator.py +7 -7
  39. pulumi_aiven/m3_db.py +26 -26
  40. pulumi_aiven/m3db_user.py +32 -32
  41. pulumi_aiven/my_sql.py +7 -7
  42. pulumi_aiven/open_search.py +7 -7
  43. pulumi_aiven/organization_permission.py +298 -0
  44. pulumi_aiven/outputs.py +798 -8
  45. pulumi_aiven/pg.py +7 -7
  46. pulumi_aiven/pg_user.py +21 -7
  47. pulumi_aiven/pulumi-plugin.json +1 -1
  48. pulumi_aiven/redis.py +7 -7
  49. pulumi_aiven/service_integration_endpoint.py +141 -0
  50. pulumi_aiven/thanos.py +7 -7
  51. pulumi_aiven/valkey.py +7 -7
  52. {pulumi_aiven-6.24.0a1726291362.dist-info → pulumi_aiven-6.24.1.dist-info}/METADATA +1 -1
  53. {pulumi_aiven-6.24.0a1726291362.dist-info → pulumi_aiven-6.24.1.dist-info}/RECORD +55 -54
  54. {pulumi_aiven-6.24.0a1726291362.dist-info → pulumi_aiven-6.24.1.dist-info}/WHEEL +1 -1
  55. {pulumi_aiven-6.24.0a1726291362.dist-info → pulumi_aiven-6.24.1.dist-info}/top_level.txt +0 -0
pulumi_aiven/outputs.py CHANGED
@@ -192,6 +192,7 @@ __all__ = [
192
192
  'OpenSearchTag',
193
193
  'OpenSearchTechEmail',
194
194
  'OrganizationGroupProjectTimeouts',
195
+ 'OrganizationPermissionPermission',
195
196
  'OrganizationTimeouts',
196
197
  'OrganizationUserGroupMemberTimeouts',
197
198
  'PgComponent',
@@ -238,10 +239,13 @@ __all__ = [
238
239
  'ServiceIntegrationEndpointDatadogUserConfigDatadogTag',
239
240
  'ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig',
240
241
  'ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig',
242
+ 'ServiceIntegrationEndpointExternalAwsS3UserConfig',
243
+ 'ServiceIntegrationEndpointExternalClickhouseUserConfig',
241
244
  'ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig',
242
245
  'ServiceIntegrationEndpointExternalGoogleCloudBigquery',
243
246
  'ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig',
244
247
  'ServiceIntegrationEndpointExternalKafkaUserConfig',
248
+ 'ServiceIntegrationEndpointExternalMysqlUserConfig',
245
249
  'ServiceIntegrationEndpointExternalOpensearchLogsUserConfig',
246
250
  'ServiceIntegrationEndpointExternalPostgresql',
247
251
  'ServiceIntegrationEndpointExternalSchemaRegistryUserConfig',
@@ -520,10 +524,13 @@ __all__ = [
520
524
  'GetServiceIntegrationEndpointDatadogUserConfigDatadogTagResult',
521
525
  'GetServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfigResult',
522
526
  'GetServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfigResult',
527
+ 'GetServiceIntegrationEndpointExternalAwsS3UserConfigResult',
528
+ 'GetServiceIntegrationEndpointExternalClickhouseUserConfigResult',
523
529
  'GetServiceIntegrationEndpointExternalElasticsearchLogsUserConfigResult',
524
530
  'GetServiceIntegrationEndpointExternalGoogleCloudBigqueryResult',
525
531
  'GetServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfigResult',
526
532
  'GetServiceIntegrationEndpointExternalKafkaUserConfigResult',
533
+ 'GetServiceIntegrationEndpointExternalMysqlUserConfigResult',
527
534
  'GetServiceIntegrationEndpointExternalOpensearchLogsUserConfigResult',
528
535
  'GetServiceIntegrationEndpointExternalPostgresqlResult',
529
536
  'GetServiceIntegrationEndpointExternalSchemaRegistryUserConfigResult',
@@ -4310,6 +4317,8 @@ class GrafanaGrafanaUserConfigAuthGenericOauth(dict):
4310
4317
  suggest = "allowed_organizations"
4311
4318
  elif key == "autoLogin":
4312
4319
  suggest = "auto_login"
4320
+ elif key == "useRefreshToken":
4321
+ suggest = "use_refresh_token"
4313
4322
 
4314
4323
  if suggest:
4315
4324
  pulumi.log.warn(f"Key '{key}' not found in GrafanaGrafanaUserConfigAuthGenericOauth. Access the value via the '{suggest}' property getter instead.")
@@ -4333,7 +4342,8 @@ class GrafanaGrafanaUserConfigAuthGenericOauth(dict):
4333
4342
  allowed_organizations: Optional[Sequence[str]] = None,
4334
4343
  auto_login: Optional[bool] = None,
4335
4344
  name: Optional[str] = None,
4336
- scopes: Optional[Sequence[str]] = None):
4345
+ scopes: Optional[Sequence[str]] = None,
4346
+ use_refresh_token: Optional[bool] = None):
4337
4347
  """
4338
4348
  :param str api_url: API URL. Example: `https://yourprovider.com/api`.
4339
4349
  :param str auth_url: Authorization URL. Example: `https://yourprovider.com/oauth/authorize`.
@@ -4346,6 +4356,7 @@ class GrafanaGrafanaUserConfigAuthGenericOauth(dict):
4346
4356
  :param bool auto_login: Allow users to bypass the login screen and automatically log in.
4347
4357
  :param str name: Name of the OAuth integration. Example: `My authentication`.
4348
4358
  :param Sequence[str] scopes: OAuth scopes.
4359
+ :param bool use_refresh_token: Set to true to use refresh token and check access token expiration.
4349
4360
  """
4350
4361
  pulumi.set(__self__, "api_url", api_url)
4351
4362
  pulumi.set(__self__, "auth_url", auth_url)
@@ -4364,6 +4375,8 @@ class GrafanaGrafanaUserConfigAuthGenericOauth(dict):
4364
4375
  pulumi.set(__self__, "name", name)
4365
4376
  if scopes is not None:
4366
4377
  pulumi.set(__self__, "scopes", scopes)
4378
+ if use_refresh_token is not None:
4379
+ pulumi.set(__self__, "use_refresh_token", use_refresh_token)
4367
4380
 
4368
4381
  @property
4369
4382
  @pulumi.getter(name="apiUrl")
@@ -4453,6 +4466,14 @@ class GrafanaGrafanaUserConfigAuthGenericOauth(dict):
4453
4466
  """
4454
4467
  return pulumi.get(self, "scopes")
4455
4468
 
4469
+ @property
4470
+ @pulumi.getter(name="useRefreshToken")
4471
+ def use_refresh_token(self) -> Optional[bool]:
4472
+ """
4473
+ Set to true to use refresh token and check access token expiration.
4474
+ """
4475
+ return pulumi.get(self, "use_refresh_token")
4476
+
4456
4477
 
4457
4478
  @pulumi.output_type
4458
4479
  class GrafanaGrafanaUserConfigAuthGithub(dict):
@@ -6964,6 +6985,8 @@ class KafkaConnectKafkaConnectUserConfigSecretProviderVault(dict):
6964
6985
  suggest = "auth_method"
6965
6986
  elif key == "engineVersion":
6966
6987
  suggest = "engine_version"
6988
+ elif key == "prefixPathDepth":
6989
+ suggest = "prefix_path_depth"
6967
6990
 
6968
6991
  if suggest:
6969
6992
  pulumi.log.warn(f"Key '{key}' not found in KafkaConnectKafkaConnectUserConfigSecretProviderVault. Access the value via the '{suggest}' property getter instead.")
@@ -6980,17 +7003,21 @@ class KafkaConnectKafkaConnectUserConfigSecretProviderVault(dict):
6980
7003
  address: str,
6981
7004
  auth_method: str,
6982
7005
  engine_version: Optional[int] = None,
7006
+ prefix_path_depth: Optional[int] = None,
6983
7007
  token: Optional[str] = None):
6984
7008
  """
6985
7009
  :param str address: Address of the Vault server.
6986
7010
  :param str auth_method: Enum: `token`. Auth method of the vault secret provider.
6987
7011
  :param int engine_version: Enum: `1`, `2`, and newer. KV Secrets Engine version of the Vault server instance.
7012
+ :param int prefix_path_depth: Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
6988
7013
  :param str token: Token used to authenticate with vault and auth method `token`.
6989
7014
  """
6990
7015
  pulumi.set(__self__, "address", address)
6991
7016
  pulumi.set(__self__, "auth_method", auth_method)
6992
7017
  if engine_version is not None:
6993
7018
  pulumi.set(__self__, "engine_version", engine_version)
7019
+ if prefix_path_depth is not None:
7020
+ pulumi.set(__self__, "prefix_path_depth", prefix_path_depth)
6994
7021
  if token is not None:
6995
7022
  pulumi.set(__self__, "token", token)
6996
7023
 
@@ -7018,6 +7045,14 @@ class KafkaConnectKafkaConnectUserConfigSecretProviderVault(dict):
7018
7045
  """
7019
7046
  return pulumi.get(self, "engine_version")
7020
7047
 
7048
+ @property
7049
+ @pulumi.getter(name="prefixPathDepth")
7050
+ def prefix_path_depth(self) -> Optional[int]:
7051
+ """
7052
+ Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
7053
+ """
7054
+ return pulumi.get(self, "prefix_path_depth")
7055
+
7021
7056
  @property
7022
7057
  @pulumi.getter
7023
7058
  def token(self) -> Optional[str]:
@@ -7367,7 +7402,7 @@ class KafkaKafkaUserConfig(dict):
7367
7402
  :param bool kafka_rest_authorization: Enable authorization in Kafka-REST service.
7368
7403
  :param 'KafkaKafkaUserConfigKafkaRestConfigArgs' kafka_rest_config: Kafka REST configuration
7369
7404
  :param 'KafkaKafkaUserConfigKafkaSaslMechanismsArgs' kafka_sasl_mechanisms: Kafka SASL mechanisms
7370
- :param str kafka_version: Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, and newer. Kafka major version.
7405
+ :param str kafka_version: Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, and newer. Kafka major version.
7371
7406
  :param bool letsencrypt_sasl_privatelink: Use Letsencrypt CA for Kafka SASL via Privatelink.
7372
7407
  :param 'KafkaKafkaUserConfigPrivateAccessArgs' private_access: Allow access to selected service ports from private networks
7373
7408
  :param 'KafkaKafkaUserConfigPrivatelinkAccessArgs' privatelink_access: Allow access to selected service components through Privatelink
@@ -7562,7 +7597,7 @@ class KafkaKafkaUserConfig(dict):
7562
7597
  @pulumi.getter(name="kafkaVersion")
7563
7598
  def kafka_version(self) -> Optional[str]:
7564
7599
  """
7565
- Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, and newer. Kafka major version.
7600
+ Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, and newer. Kafka major version.
7566
7601
  """
7567
7602
  return pulumi.get(self, "kafka_version")
7568
7603
 
@@ -8756,6 +8791,8 @@ class KafkaKafkaUserConfigKafkaConnectSecretProviderVault(dict):
8756
8791
  suggest = "auth_method"
8757
8792
  elif key == "engineVersion":
8758
8793
  suggest = "engine_version"
8794
+ elif key == "prefixPathDepth":
8795
+ suggest = "prefix_path_depth"
8759
8796
 
8760
8797
  if suggest:
8761
8798
  pulumi.log.warn(f"Key '{key}' not found in KafkaKafkaUserConfigKafkaConnectSecretProviderVault. Access the value via the '{suggest}' property getter instead.")
@@ -8772,17 +8809,21 @@ class KafkaKafkaUserConfigKafkaConnectSecretProviderVault(dict):
8772
8809
  address: str,
8773
8810
  auth_method: str,
8774
8811
  engine_version: Optional[int] = None,
8812
+ prefix_path_depth: Optional[int] = None,
8775
8813
  token: Optional[str] = None):
8776
8814
  """
8777
8815
  :param str address: Address of the Vault server.
8778
8816
  :param str auth_method: Enum: `token`. Auth method of the vault secret provider.
8779
8817
  :param int engine_version: Enum: `1`, `2`, and newer. KV Secrets Engine version of the Vault server instance.
8818
+ :param int prefix_path_depth: Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
8780
8819
  :param str token: Token used to authenticate with vault and auth method `token`.
8781
8820
  """
8782
8821
  pulumi.set(__self__, "address", address)
8783
8822
  pulumi.set(__self__, "auth_method", auth_method)
8784
8823
  if engine_version is not None:
8785
8824
  pulumi.set(__self__, "engine_version", engine_version)
8825
+ if prefix_path_depth is not None:
8826
+ pulumi.set(__self__, "prefix_path_depth", prefix_path_depth)
8786
8827
  if token is not None:
8787
8828
  pulumi.set(__self__, "token", token)
8788
8829
 
@@ -8810,6 +8851,14 @@ class KafkaKafkaUserConfigKafkaConnectSecretProviderVault(dict):
8810
8851
  """
8811
8852
  return pulumi.get(self, "engine_version")
8812
8853
 
8854
+ @property
8855
+ @pulumi.getter(name="prefixPathDepth")
8856
+ def prefix_path_depth(self) -> Optional[int]:
8857
+ """
8858
+ Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
8859
+ """
8860
+ return pulumi.get(self, "prefix_path_depth")
8861
+
8813
8862
  @property
8814
8863
  @pulumi.getter
8815
8864
  def token(self) -> Optional[str]:
@@ -9326,6 +9375,10 @@ class KafkaKafkaUserConfigSchemaRegistryConfig(dict):
9326
9375
  suggest = None
9327
9376
  if key == "leaderEligibility":
9328
9377
  suggest = "leader_eligibility"
9378
+ elif key == "retriableErrorsSilenced":
9379
+ suggest = "retriable_errors_silenced"
9380
+ elif key == "schemaReaderStrictMode":
9381
+ suggest = "schema_reader_strict_mode"
9329
9382
  elif key == "topicName":
9330
9383
  suggest = "topic_name"
9331
9384
 
@@ -9342,13 +9395,21 @@ class KafkaKafkaUserConfigSchemaRegistryConfig(dict):
9342
9395
 
9343
9396
  def __init__(__self__, *,
9344
9397
  leader_eligibility: Optional[bool] = None,
9398
+ retriable_errors_silenced: Optional[bool] = None,
9399
+ schema_reader_strict_mode: Optional[bool] = None,
9345
9400
  topic_name: Optional[str] = None):
9346
9401
  """
9347
9402
  :param bool leader_eligibility: If true, Karapace / Schema Registry on the service nodes can participate in leader election. It might be needed to disable this when the schemas topic is replicated to a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to `true`.
9403
+ :param bool retriable_errors_silenced: If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`.
9404
+ :param bool schema_reader_strict_mode: If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`.
9348
9405
  :param str topic_name: The durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy. Please note that changing this configuration in an existing Schema Registry / Karapace setup leads to previous schemas being inaccessible, data encoded with them potentially unreadable and schema ID sequence put out of order. It's only possible to do the switch while Schema Registry / Karapace is disabled. Defaults to `_schemas`.
9349
9406
  """
9350
9407
  if leader_eligibility is not None:
9351
9408
  pulumi.set(__self__, "leader_eligibility", leader_eligibility)
9409
+ if retriable_errors_silenced is not None:
9410
+ pulumi.set(__self__, "retriable_errors_silenced", retriable_errors_silenced)
9411
+ if schema_reader_strict_mode is not None:
9412
+ pulumi.set(__self__, "schema_reader_strict_mode", schema_reader_strict_mode)
9352
9413
  if topic_name is not None:
9353
9414
  pulumi.set(__self__, "topic_name", topic_name)
9354
9415
 
@@ -9360,6 +9421,22 @@ class KafkaKafkaUserConfigSchemaRegistryConfig(dict):
9360
9421
  """
9361
9422
  return pulumi.get(self, "leader_eligibility")
9362
9423
 
9424
+ @property
9425
+ @pulumi.getter(name="retriableErrorsSilenced")
9426
+ def retriable_errors_silenced(self) -> Optional[bool]:
9427
+ """
9428
+ If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`.
9429
+ """
9430
+ return pulumi.get(self, "retriable_errors_silenced")
9431
+
9432
+ @property
9433
+ @pulumi.getter(name="schemaReaderStrictMode")
9434
+ def schema_reader_strict_mode(self) -> Optional[bool]:
9435
+ """
9436
+ If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`.
9437
+ """
9438
+ return pulumi.get(self, "schema_reader_strict_mode")
9439
+
9363
9440
  @property
9364
9441
  @pulumi.getter(name="topicName")
9365
9442
  def topic_name(self) -> Optional[str]:
@@ -13835,6 +13912,7 @@ class OpenSearchOpensearch(dict):
13835
13912
 
13836
13913
  @property
13837
13914
  @pulumi.getter(name="kibanaUri")
13915
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
13838
13916
  def kibana_uri(self) -> Optional[str]:
13839
13917
  """
13840
13918
  URI for Kibana dashboard frontend
@@ -14292,6 +14370,7 @@ class OpenSearchOpensearchUserConfigAzureMigration(dict):
14292
14370
  chunk_size: Optional[str] = None,
14293
14371
  compress: Optional[bool] = None,
14294
14372
  endpoint_suffix: Optional[str] = None,
14373
+ indices: Optional[str] = None,
14295
14374
  key: Optional[str] = None,
14296
14375
  sas_token: Optional[str] = None):
14297
14376
  """
@@ -14302,6 +14381,7 @@ class OpenSearchOpensearchUserConfigAzureMigration(dict):
14302
14381
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
14303
14382
  :param bool compress: When set to true metadata files are stored in compressed format.
14304
14383
  :param str endpoint_suffix: Defines the DNS suffix for Azure Storage endpoints.
14384
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
14305
14385
  :param str key: Azure account secret key. One of key or sas_token should be specified.
14306
14386
  :param str sas_token: A shared access signatures (SAS) token. One of key or sas_token should be specified.
14307
14387
  """
@@ -14315,6 +14395,8 @@ class OpenSearchOpensearchUserConfigAzureMigration(dict):
14315
14395
  pulumi.set(__self__, "compress", compress)
14316
14396
  if endpoint_suffix is not None:
14317
14397
  pulumi.set(__self__, "endpoint_suffix", endpoint_suffix)
14398
+ if indices is not None:
14399
+ pulumi.set(__self__, "indices", indices)
14318
14400
  if key is not None:
14319
14401
  pulumi.set(__self__, "key", key)
14320
14402
  if sas_token is not None:
@@ -14376,6 +14458,14 @@ class OpenSearchOpensearchUserConfigAzureMigration(dict):
14376
14458
  """
14377
14459
  return pulumi.get(self, "endpoint_suffix")
14378
14460
 
14461
+ @property
14462
+ @pulumi.getter
14463
+ def indices(self) -> Optional[str]:
14464
+ """
14465
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
14466
+ """
14467
+ return pulumi.get(self, "indices")
14468
+
14379
14469
  @property
14380
14470
  @pulumi.getter
14381
14471
  def key(self) -> Optional[str]:
@@ -14422,7 +14512,8 @@ class OpenSearchOpensearchUserConfigGcsMigration(dict):
14422
14512
  credentials: str,
14423
14513
  snapshot_name: str,
14424
14514
  chunk_size: Optional[str] = None,
14425
- compress: Optional[bool] = None):
14515
+ compress: Optional[bool] = None,
14516
+ indices: Optional[str] = None):
14426
14517
  """
14427
14518
  :param str base_path: The path to the repository data within its container. The value of this setting should not start or end with a /.
14428
14519
  :param str bucket: The path to the repository data within its container.
@@ -14430,6 +14521,7 @@ class OpenSearchOpensearchUserConfigGcsMigration(dict):
14430
14521
  :param str snapshot_name: The snapshot name to restore from.
14431
14522
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
14432
14523
  :param bool compress: When set to true metadata files are stored in compressed format.
14524
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
14433
14525
  """
14434
14526
  pulumi.set(__self__, "base_path", base_path)
14435
14527
  pulumi.set(__self__, "bucket", bucket)
@@ -14439,6 +14531,8 @@ class OpenSearchOpensearchUserConfigGcsMigration(dict):
14439
14531
  pulumi.set(__self__, "chunk_size", chunk_size)
14440
14532
  if compress is not None:
14441
14533
  pulumi.set(__self__, "compress", compress)
14534
+ if indices is not None:
14535
+ pulumi.set(__self__, "indices", indices)
14442
14536
 
14443
14537
  @property
14444
14538
  @pulumi.getter(name="basePath")
@@ -14488,6 +14582,14 @@ class OpenSearchOpensearchUserConfigGcsMigration(dict):
14488
14582
  """
14489
14583
  return pulumi.get(self, "compress")
14490
14584
 
14585
+ @property
14586
+ @pulumi.getter
14587
+ def indices(self) -> Optional[str]:
14588
+ """
14589
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
14590
+ """
14591
+ return pulumi.get(self, "indices")
14592
+
14491
14593
 
14492
14594
  @pulumi.output_type
14493
14595
  class OpenSearchOpensearchUserConfigIndexPattern(dict):
@@ -16102,6 +16204,7 @@ class OpenSearchOpensearchUserConfigS3Migration(dict):
16102
16204
  chunk_size: Optional[str] = None,
16103
16205
  compress: Optional[bool] = None,
16104
16206
  endpoint: Optional[str] = None,
16207
+ indices: Optional[str] = None,
16105
16208
  server_side_encryption: Optional[bool] = None):
16106
16209
  """
16107
16210
  :param str access_key: AWS Access key.
@@ -16113,6 +16216,7 @@ class OpenSearchOpensearchUserConfigS3Migration(dict):
16113
16216
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
16114
16217
  :param bool compress: When set to true metadata files are stored in compressed format.
16115
16218
  :param str endpoint: The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint.
16219
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
16116
16220
  :param bool server_side_encryption: When set to true files are encrypted on server side.
16117
16221
  """
16118
16222
  pulumi.set(__self__, "access_key", access_key)
@@ -16127,6 +16231,8 @@ class OpenSearchOpensearchUserConfigS3Migration(dict):
16127
16231
  pulumi.set(__self__, "compress", compress)
16128
16232
  if endpoint is not None:
16129
16233
  pulumi.set(__self__, "endpoint", endpoint)
16234
+ if indices is not None:
16235
+ pulumi.set(__self__, "indices", indices)
16130
16236
  if server_side_encryption is not None:
16131
16237
  pulumi.set(__self__, "server_side_encryption", server_side_encryption)
16132
16238
 
@@ -16202,6 +16308,14 @@ class OpenSearchOpensearchUserConfigS3Migration(dict):
16202
16308
  """
16203
16309
  return pulumi.get(self, "endpoint")
16204
16310
 
16311
+ @property
16312
+ @pulumi.getter
16313
+ def indices(self) -> Optional[str]:
16314
+ """
16315
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
16316
+ """
16317
+ return pulumi.get(self, "indices")
16318
+
16205
16319
  @property
16206
16320
  @pulumi.getter(name="serverSideEncryption")
16207
16321
  def server_side_encryption(self) -> Optional[bool]:
@@ -16481,6 +16595,93 @@ class OrganizationGroupProjectTimeouts(dict):
16481
16595
  return pulumi.get(self, "update")
16482
16596
 
16483
16597
 
16598
+ @pulumi.output_type
16599
+ class OrganizationPermissionPermission(dict):
16600
+ @staticmethod
16601
+ def __key_warning(key: str):
16602
+ suggest = None
16603
+ if key == "principalId":
16604
+ suggest = "principal_id"
16605
+ elif key == "principalType":
16606
+ suggest = "principal_type"
16607
+ elif key == "createTime":
16608
+ suggest = "create_time"
16609
+ elif key == "updateTime":
16610
+ suggest = "update_time"
16611
+
16612
+ if suggest:
16613
+ pulumi.log.warn(f"Key '{key}' not found in OrganizationPermissionPermission. Access the value via the '{suggest}' property getter instead.")
16614
+
16615
+ def __getitem__(self, key: str) -> Any:
16616
+ OrganizationPermissionPermission.__key_warning(key)
16617
+ return super().__getitem__(key)
16618
+
16619
+ def get(self, key: str, default = None) -> Any:
16620
+ OrganizationPermissionPermission.__key_warning(key)
16621
+ return super().get(key, default)
16622
+
16623
+ def __init__(__self__, *,
16624
+ permissions: Sequence[str],
16625
+ principal_id: str,
16626
+ principal_type: str,
16627
+ create_time: Optional[str] = None,
16628
+ update_time: Optional[str] = None):
16629
+ """
16630
+ :param Sequence[str] permissions: List of permissions. The possible values are `admin`, `developer`, `operator` and `read_only`.
16631
+ :param str principal_id: ID of the principal.
16632
+ :param str principal_type: Type of the principal. The possible values are `user` and `user_group`.
16633
+ :param str create_time: Create Time
16634
+ :param str update_time: Update Time
16635
+ """
16636
+ pulumi.set(__self__, "permissions", permissions)
16637
+ pulumi.set(__self__, "principal_id", principal_id)
16638
+ pulumi.set(__self__, "principal_type", principal_type)
16639
+ if create_time is not None:
16640
+ pulumi.set(__self__, "create_time", create_time)
16641
+ if update_time is not None:
16642
+ pulumi.set(__self__, "update_time", update_time)
16643
+
16644
+ @property
16645
+ @pulumi.getter
16646
+ def permissions(self) -> Sequence[str]:
16647
+ """
16648
+ List of permissions. The possible values are `admin`, `developer`, `operator` and `read_only`.
16649
+ """
16650
+ return pulumi.get(self, "permissions")
16651
+
16652
+ @property
16653
+ @pulumi.getter(name="principalId")
16654
+ def principal_id(self) -> str:
16655
+ """
16656
+ ID of the principal.
16657
+ """
16658
+ return pulumi.get(self, "principal_id")
16659
+
16660
+ @property
16661
+ @pulumi.getter(name="principalType")
16662
+ def principal_type(self) -> str:
16663
+ """
16664
+ Type of the principal. The possible values are `user` and `user_group`.
16665
+ """
16666
+ return pulumi.get(self, "principal_type")
16667
+
16668
+ @property
16669
+ @pulumi.getter(name="createTime")
16670
+ def create_time(self) -> Optional[str]:
16671
+ """
16672
+ Create Time
16673
+ """
16674
+ return pulumi.get(self, "create_time")
16675
+
16676
+ @property
16677
+ @pulumi.getter(name="updateTime")
16678
+ def update_time(self) -> Optional[str]:
16679
+ """
16680
+ Update Time
16681
+ """
16682
+ return pulumi.get(self, "update_time")
16683
+
16684
+
16484
16685
  @pulumi.output_type
16485
16686
  class OrganizationTimeouts(dict):
16486
16687
  def __init__(__self__, *,
@@ -16800,6 +17001,7 @@ class PgPg(dict):
16800
17001
 
16801
17002
  @property
16802
17003
  @pulumi.getter
17004
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
16803
17005
  def bouncer(self) -> Optional[str]:
16804
17006
  """
16805
17007
  PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).
@@ -17208,6 +17410,7 @@ class PgPgUserConfig(dict):
17208
17410
 
17209
17411
  @property
17210
17412
  @pulumi.getter(name="additionalBackupRegions")
17413
+ @_utilities.deprecated("""This property is deprecated.""")
17211
17414
  def additional_backup_regions(self) -> Optional[str]:
17212
17415
  """
17213
17416
  Additional Cloud Regions for Backup Replication.
@@ -19345,6 +19548,10 @@ class RedisRedisUserConfig(dict):
19345
19548
  suggest = None
19346
19549
  if key == "additionalBackupRegions":
19347
19550
  suggest = "additional_backup_regions"
19551
+ elif key == "backupHour":
19552
+ suggest = "backup_hour"
19553
+ elif key == "backupMinute":
19554
+ suggest = "backup_minute"
19348
19555
  elif key == "ipFilterObjects":
19349
19556
  suggest = "ip_filter_objects"
19350
19557
  elif key == "ipFilterStrings":
@@ -19405,6 +19612,8 @@ class RedisRedisUserConfig(dict):
19405
19612
 
19406
19613
  def __init__(__self__, *,
19407
19614
  additional_backup_regions: Optional[str] = None,
19615
+ backup_hour: Optional[int] = None,
19616
+ backup_minute: Optional[int] = None,
19408
19617
  ip_filter_objects: Optional[Sequence['outputs.RedisRedisUserConfigIpFilterObject']] = None,
19409
19618
  ip_filter_strings: Optional[Sequence[str]] = None,
19410
19619
  ip_filters: Optional[Sequence[str]] = None,
@@ -19431,6 +19640,8 @@ class RedisRedisUserConfig(dict):
19431
19640
  static_ips: Optional[bool] = None):
19432
19641
  """
19433
19642
  :param str additional_backup_regions: Additional Cloud Regions for Backup Replication.
19643
+ :param int backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
19644
+ :param int backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
19434
19645
  :param Sequence['RedisRedisUserConfigIpFilterObjectArgs'] ip_filter_objects: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`
19435
19646
  :param Sequence[str] ip_filter_strings: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
19436
19647
  :param Sequence[str] ip_filters: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
@@ -19458,6 +19669,10 @@ class RedisRedisUserConfig(dict):
19458
19669
  """
19459
19670
  if additional_backup_regions is not None:
19460
19671
  pulumi.set(__self__, "additional_backup_regions", additional_backup_regions)
19672
+ if backup_hour is not None:
19673
+ pulumi.set(__self__, "backup_hour", backup_hour)
19674
+ if backup_minute is not None:
19675
+ pulumi.set(__self__, "backup_minute", backup_minute)
19461
19676
  if ip_filter_objects is not None:
19462
19677
  pulumi.set(__self__, "ip_filter_objects", ip_filter_objects)
19463
19678
  if ip_filter_strings is not None:
@@ -19515,6 +19730,22 @@ class RedisRedisUserConfig(dict):
19515
19730
  """
19516
19731
  return pulumi.get(self, "additional_backup_regions")
19517
19732
 
19733
+ @property
19734
+ @pulumi.getter(name="backupHour")
19735
+ def backup_hour(self) -> Optional[int]:
19736
+ """
19737
+ The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
19738
+ """
19739
+ return pulumi.get(self, "backup_hour")
19740
+
19741
+ @property
19742
+ @pulumi.getter(name="backupMinute")
19743
+ def backup_minute(self) -> Optional[int]:
19744
+ """
19745
+ The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
19746
+ """
19747
+ return pulumi.get(self, "backup_minute")
19748
+
19518
19749
  @property
19519
19750
  @pulumi.getter(name="ipFilterObjects")
19520
19751
  def ip_filter_objects(self) -> Optional[Sequence['outputs.RedisRedisUserConfigIpFilterObject']]:
@@ -21016,6 +21247,116 @@ class ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig(dict):
21016
21247
  return pulumi.get(self, "secret_key")
21017
21248
 
21018
21249
 
21250
+ @pulumi.output_type
21251
+ class ServiceIntegrationEndpointExternalAwsS3UserConfig(dict):
21252
+ @staticmethod
21253
+ def __key_warning(key: str):
21254
+ suggest = None
21255
+ if key == "accessKeyId":
21256
+ suggest = "access_key_id"
21257
+ elif key == "secretAccessKey":
21258
+ suggest = "secret_access_key"
21259
+
21260
+ if suggest:
21261
+ pulumi.log.warn(f"Key '{key}' not found in ServiceIntegrationEndpointExternalAwsS3UserConfig. Access the value via the '{suggest}' property getter instead.")
21262
+
21263
+ def __getitem__(self, key: str) -> Any:
21264
+ ServiceIntegrationEndpointExternalAwsS3UserConfig.__key_warning(key)
21265
+ return super().__getitem__(key)
21266
+
21267
+ def get(self, key: str, default = None) -> Any:
21268
+ ServiceIntegrationEndpointExternalAwsS3UserConfig.__key_warning(key)
21269
+ return super().get(key, default)
21270
+
21271
+ def __init__(__self__, *,
21272
+ access_key_id: str,
21273
+ secret_access_key: str,
21274
+ url: str):
21275
+ """
21276
+ :param str access_key_id: Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.
21277
+ :param str secret_access_key: Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.
21278
+ :param str url: S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.
21279
+ """
21280
+ pulumi.set(__self__, "access_key_id", access_key_id)
21281
+ pulumi.set(__self__, "secret_access_key", secret_access_key)
21282
+ pulumi.set(__self__, "url", url)
21283
+
21284
+ @property
21285
+ @pulumi.getter(name="accessKeyId")
21286
+ def access_key_id(self) -> str:
21287
+ """
21288
+ Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.
21289
+ """
21290
+ return pulumi.get(self, "access_key_id")
21291
+
21292
+ @property
21293
+ @pulumi.getter(name="secretAccessKey")
21294
+ def secret_access_key(self) -> str:
21295
+ """
21296
+ Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.
21297
+ """
21298
+ return pulumi.get(self, "secret_access_key")
21299
+
21300
+ @property
21301
+ @pulumi.getter
21302
+ def url(self) -> str:
21303
+ """
21304
+ S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.
21305
+ """
21306
+ return pulumi.get(self, "url")
21307
+
21308
+
21309
+ @pulumi.output_type
21310
+ class ServiceIntegrationEndpointExternalClickhouseUserConfig(dict):
21311
+ def __init__(__self__, *,
21312
+ host: str,
21313
+ password: str,
21314
+ port: int,
21315
+ username: str):
21316
+ """
21317
+ :param str host: Hostname or IP address of the server. Example: `my.server.com`.
21318
+ :param str password: Password. Example: `jjKk45Nnd`.
21319
+ :param int port: Secure TCP server port. Example: `9440`.
21320
+ :param str username: User name. Example: `default`.
21321
+ """
21322
+ pulumi.set(__self__, "host", host)
21323
+ pulumi.set(__self__, "password", password)
21324
+ pulumi.set(__self__, "port", port)
21325
+ pulumi.set(__self__, "username", username)
21326
+
21327
+ @property
21328
+ @pulumi.getter
21329
+ def host(self) -> str:
21330
+ """
21331
+ Hostname or IP address of the server. Example: `my.server.com`.
21332
+ """
21333
+ return pulumi.get(self, "host")
21334
+
21335
+ @property
21336
+ @pulumi.getter
21337
+ def password(self) -> str:
21338
+ """
21339
+ Password. Example: `jjKk45Nnd`.
21340
+ """
21341
+ return pulumi.get(self, "password")
21342
+
21343
+ @property
21344
+ @pulumi.getter
21345
+ def port(self) -> int:
21346
+ """
21347
+ Secure TCP server port. Example: `9440`.
21348
+ """
21349
+ return pulumi.get(self, "port")
21350
+
21351
+ @property
21352
+ @pulumi.getter
21353
+ def username(self) -> str:
21354
+ """
21355
+ User name. Example: `default`.
21356
+ """
21357
+ return pulumi.get(self, "username")
21358
+
21359
+
21019
21360
  @pulumi.output_type
21020
21361
  class ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig(dict):
21021
21362
  @staticmethod
@@ -21379,6 +21720,106 @@ class ServiceIntegrationEndpointExternalKafkaUserConfig(dict):
21379
21720
  return pulumi.get(self, "ssl_endpoint_identification_algorithm")
21380
21721
 
21381
21722
 
21723
+ @pulumi.output_type
21724
+ class ServiceIntegrationEndpointExternalMysqlUserConfig(dict):
21725
+ @staticmethod
21726
+ def __key_warning(key: str):
21727
+ suggest = None
21728
+ if key == "sslMode":
21729
+ suggest = "ssl_mode"
21730
+ elif key == "sslRootCert":
21731
+ suggest = "ssl_root_cert"
21732
+
21733
+ if suggest:
21734
+ pulumi.log.warn(f"Key '{key}' not found in ServiceIntegrationEndpointExternalMysqlUserConfig. Access the value via the '{suggest}' property getter instead.")
21735
+
21736
+ def __getitem__(self, key: str) -> Any:
21737
+ ServiceIntegrationEndpointExternalMysqlUserConfig.__key_warning(key)
21738
+ return super().__getitem__(key)
21739
+
21740
+ def get(self, key: str, default = None) -> Any:
21741
+ ServiceIntegrationEndpointExternalMysqlUserConfig.__key_warning(key)
21742
+ return super().get(key, default)
21743
+
21744
+ def __init__(__self__, *,
21745
+ host: str,
21746
+ password: str,
21747
+ port: int,
21748
+ username: str,
21749
+ ssl_mode: Optional[str] = None,
21750
+ ssl_root_cert: Optional[str] = None):
21751
+ """
21752
+ :param str host: Hostname or IP address of the server. Example: `my.server.com`.
21753
+ :param str password: Password. Example: `jjKk45Nnd`.
21754
+ :param int port: Port number of the server. Example: `5432`.
21755
+ :param str username: User name. Example: `myname`.
21756
+ :param str ssl_mode: Enum: `verify-full`. SSL Mode. Default: `verify-full`.
21757
+ :param str ssl_root_cert: SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----
21758
+ ...
21759
+ -----END CERTIFICATE-----
21760
+ `.
21761
+ """
21762
+ pulumi.set(__self__, "host", host)
21763
+ pulumi.set(__self__, "password", password)
21764
+ pulumi.set(__self__, "port", port)
21765
+ pulumi.set(__self__, "username", username)
21766
+ if ssl_mode is not None:
21767
+ pulumi.set(__self__, "ssl_mode", ssl_mode)
21768
+ if ssl_root_cert is not None:
21769
+ pulumi.set(__self__, "ssl_root_cert", ssl_root_cert)
21770
+
21771
+ @property
21772
+ @pulumi.getter
21773
+ def host(self) -> str:
21774
+ """
21775
+ Hostname or IP address of the server. Example: `my.server.com`.
21776
+ """
21777
+ return pulumi.get(self, "host")
21778
+
21779
+ @property
21780
+ @pulumi.getter
21781
+ def password(self) -> str:
21782
+ """
21783
+ Password. Example: `jjKk45Nnd`.
21784
+ """
21785
+ return pulumi.get(self, "password")
21786
+
21787
+ @property
21788
+ @pulumi.getter
21789
+ def port(self) -> int:
21790
+ """
21791
+ Port number of the server. Example: `5432`.
21792
+ """
21793
+ return pulumi.get(self, "port")
21794
+
21795
+ @property
21796
+ @pulumi.getter
21797
+ def username(self) -> str:
21798
+ """
21799
+ User name. Example: `myname`.
21800
+ """
21801
+ return pulumi.get(self, "username")
21802
+
21803
+ @property
21804
+ @pulumi.getter(name="sslMode")
21805
+ def ssl_mode(self) -> Optional[str]:
21806
+ """
21807
+ Enum: `verify-full`. SSL Mode. Default: `verify-full`.
21808
+ """
21809
+ return pulumi.get(self, "ssl_mode")
21810
+
21811
+ @property
21812
+ @pulumi.getter(name="sslRootCert")
21813
+ def ssl_root_cert(self) -> Optional[str]:
21814
+ """
21815
+ SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----
21816
+ ...
21817
+ -----END CERTIFICATE-----
21818
+ `.
21819
+ """
21820
+ return pulumi.get(self, "ssl_root_cert")
21821
+
21822
+
21382
21823
  @pulumi.output_type
21383
21824
  class ServiceIntegrationEndpointExternalOpensearchLogsUserConfig(dict):
21384
21825
  @staticmethod
@@ -23483,6 +23924,7 @@ class ThanosThanos(dict):
23483
23924
 
23484
23925
  @property
23485
23926
  @pulumi.getter(name="storeUri")
23927
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
23486
23928
  def store_uri(self) -> Optional[str]:
23487
23929
  """
23488
23930
  Store URI.
@@ -24235,6 +24677,10 @@ class ValkeyValkeyUserConfig(dict):
24235
24677
  suggest = None
24236
24678
  if key == "additionalBackupRegions":
24237
24679
  suggest = "additional_backup_regions"
24680
+ elif key == "backupHour":
24681
+ suggest = "backup_hour"
24682
+ elif key == "backupMinute":
24683
+ suggest = "backup_minute"
24238
24684
  elif key == "ipFilterObjects":
24239
24685
  suggest = "ip_filter_objects"
24240
24686
  elif key == "ipFilterStrings":
@@ -24293,6 +24739,8 @@ class ValkeyValkeyUserConfig(dict):
24293
24739
 
24294
24740
  def __init__(__self__, *,
24295
24741
  additional_backup_regions: Optional[str] = None,
24742
+ backup_hour: Optional[int] = None,
24743
+ backup_minute: Optional[int] = None,
24296
24744
  ip_filter_objects: Optional[Sequence['outputs.ValkeyValkeyUserConfigIpFilterObject']] = None,
24297
24745
  ip_filter_strings: Optional[Sequence[str]] = None,
24298
24746
  ip_filters: Optional[Sequence[str]] = None,
@@ -24318,6 +24766,8 @@ class ValkeyValkeyUserConfig(dict):
24318
24766
  valkey_timeout: Optional[int] = None):
24319
24767
  """
24320
24768
  :param str additional_backup_regions: Additional Cloud Regions for Backup Replication.
24769
+ :param int backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
24770
+ :param int backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
24321
24771
  :param Sequence['ValkeyValkeyUserConfigIpFilterObjectArgs'] ip_filter_objects: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`
24322
24772
  :param Sequence[str] ip_filter_strings: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
24323
24773
  :param Sequence[str] ip_filters: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
@@ -24344,6 +24794,10 @@ class ValkeyValkeyUserConfig(dict):
24344
24794
  """
24345
24795
  if additional_backup_regions is not None:
24346
24796
  pulumi.set(__self__, "additional_backup_regions", additional_backup_regions)
24797
+ if backup_hour is not None:
24798
+ pulumi.set(__self__, "backup_hour", backup_hour)
24799
+ if backup_minute is not None:
24800
+ pulumi.set(__self__, "backup_minute", backup_minute)
24347
24801
  if ip_filter_objects is not None:
24348
24802
  pulumi.set(__self__, "ip_filter_objects", ip_filter_objects)
24349
24803
  if ip_filter_strings is not None:
@@ -24399,6 +24853,22 @@ class ValkeyValkeyUserConfig(dict):
24399
24853
  """
24400
24854
  return pulumi.get(self, "additional_backup_regions")
24401
24855
 
24856
+ @property
24857
+ @pulumi.getter(name="backupHour")
24858
+ def backup_hour(self) -> Optional[int]:
24859
+ """
24860
+ The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
24861
+ """
24862
+ return pulumi.get(self, "backup_hour")
24863
+
24864
+ @property
24865
+ @pulumi.getter(name="backupMinute")
24866
+ def backup_minute(self) -> Optional[int]:
24867
+ """
24868
+ The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
24869
+ """
24870
+ return pulumi.get(self, "backup_minute")
24871
+
24402
24872
  @property
24403
24873
  @pulumi.getter(name="ipFilterObjects")
24404
24874
  def ip_filter_objects(self) -> Optional[Sequence['outputs.ValkeyValkeyUserConfigIpFilterObject']]:
@@ -28292,7 +28762,8 @@ class GetGrafanaGrafanaUserConfigAuthGenericOauthResult(dict):
28292
28762
  allowed_organizations: Optional[Sequence[str]] = None,
28293
28763
  auto_login: Optional[bool] = None,
28294
28764
  name: Optional[str] = None,
28295
- scopes: Optional[Sequence[str]] = None):
28765
+ scopes: Optional[Sequence[str]] = None,
28766
+ use_refresh_token: Optional[bool] = None):
28296
28767
  """
28297
28768
  :param str api_url: API URL. Example: `https://yourprovider.com/api`.
28298
28769
  :param str auth_url: Authorization URL. Example: `https://yourprovider.com/oauth/authorize`.
@@ -28305,6 +28776,7 @@ class GetGrafanaGrafanaUserConfigAuthGenericOauthResult(dict):
28305
28776
  :param bool auto_login: Allow users to bypass the login screen and automatically log in.
28306
28777
  :param str name: Name of the OAuth integration. Example: `My authentication`.
28307
28778
  :param Sequence[str] scopes: OAuth scopes.
28779
+ :param bool use_refresh_token: Set to true to use refresh token and check access token expiration.
28308
28780
  """
28309
28781
  pulumi.set(__self__, "api_url", api_url)
28310
28782
  pulumi.set(__self__, "auth_url", auth_url)
@@ -28323,6 +28795,8 @@ class GetGrafanaGrafanaUserConfigAuthGenericOauthResult(dict):
28323
28795
  pulumi.set(__self__, "name", name)
28324
28796
  if scopes is not None:
28325
28797
  pulumi.set(__self__, "scopes", scopes)
28798
+ if use_refresh_token is not None:
28799
+ pulumi.set(__self__, "use_refresh_token", use_refresh_token)
28326
28800
 
28327
28801
  @property
28328
28802
  @pulumi.getter(name="apiUrl")
@@ -28412,6 +28886,14 @@ class GetGrafanaGrafanaUserConfigAuthGenericOauthResult(dict):
28412
28886
  """
28413
28887
  return pulumi.get(self, "scopes")
28414
28888
 
28889
+ @property
28890
+ @pulumi.getter(name="useRefreshToken")
28891
+ def use_refresh_token(self) -> Optional[bool]:
28892
+ """
28893
+ Set to true to use refresh token and check access token expiration.
28894
+ """
28895
+ return pulumi.get(self, "use_refresh_token")
28896
+
28415
28897
 
28416
28898
  @pulumi.output_type
28417
28899
  class GetGrafanaGrafanaUserConfigAuthGithubResult(dict):
@@ -30398,17 +30880,21 @@ class GetKafkaConnectKafkaConnectUserConfigSecretProviderVaultResult(dict):
30398
30880
  address: str,
30399
30881
  auth_method: str,
30400
30882
  engine_version: Optional[int] = None,
30883
+ prefix_path_depth: Optional[int] = None,
30401
30884
  token: Optional[str] = None):
30402
30885
  """
30403
30886
  :param str address: Address of the Vault server.
30404
30887
  :param str auth_method: Enum: `token`. Auth method of the vault secret provider.
30405
30888
  :param int engine_version: Enum: `1`, `2`, and newer. KV Secrets Engine version of the Vault server instance.
30889
+ :param int prefix_path_depth: Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
30406
30890
  :param str token: Token used to authenticate with vault and auth method `token`.
30407
30891
  """
30408
30892
  pulumi.set(__self__, "address", address)
30409
30893
  pulumi.set(__self__, "auth_method", auth_method)
30410
30894
  if engine_version is not None:
30411
30895
  pulumi.set(__self__, "engine_version", engine_version)
30896
+ if prefix_path_depth is not None:
30897
+ pulumi.set(__self__, "prefix_path_depth", prefix_path_depth)
30412
30898
  if token is not None:
30413
30899
  pulumi.set(__self__, "token", token)
30414
30900
 
@@ -30436,6 +30922,14 @@ class GetKafkaConnectKafkaConnectUserConfigSecretProviderVaultResult(dict):
30436
30922
  """
30437
30923
  return pulumi.get(self, "engine_version")
30438
30924
 
30925
+ @property
30926
+ @pulumi.getter(name="prefixPathDepth")
30927
+ def prefix_path_depth(self) -> Optional[int]:
30928
+ """
30929
+ Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
30930
+ """
30931
+ return pulumi.get(self, "prefix_path_depth")
30932
+
30439
30933
  @property
30440
30934
  @pulumi.getter
30441
30935
  def token(self) -> Optional[str]:
@@ -30668,7 +31162,7 @@ class GetKafkaKafkaUserConfigResult(dict):
30668
31162
  :param bool kafka_rest_authorization: Enable authorization in Kafka-REST service.
30669
31163
  :param 'GetKafkaKafkaUserConfigKafkaRestConfigArgs' kafka_rest_config: Kafka REST configuration
30670
31164
  :param 'GetKafkaKafkaUserConfigKafkaSaslMechanismsArgs' kafka_sasl_mechanisms: Kafka SASL mechanisms
30671
- :param str kafka_version: Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, and newer. Kafka major version.
31165
+ :param str kafka_version: Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, and newer. Kafka major version.
30672
31166
  :param bool letsencrypt_sasl_privatelink: Use Letsencrypt CA for Kafka SASL via Privatelink.
30673
31167
  :param 'GetKafkaKafkaUserConfigPrivateAccessArgs' private_access: Allow access to selected service ports from private networks
30674
31168
  :param 'GetKafkaKafkaUserConfigPrivatelinkAccessArgs' privatelink_access: Allow access to selected service components through Privatelink
@@ -30863,7 +31357,7 @@ class GetKafkaKafkaUserConfigResult(dict):
30863
31357
  @pulumi.getter(name="kafkaVersion")
30864
31358
  def kafka_version(self) -> Optional[str]:
30865
31359
  """
30866
- Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, and newer. Kafka major version.
31360
+ Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, and newer. Kafka major version.
30867
31361
  """
30868
31362
  return pulumi.get(self, "kafka_version")
30869
31363
 
@@ -31879,17 +32373,21 @@ class GetKafkaKafkaUserConfigKafkaConnectSecretProviderVaultResult(dict):
31879
32373
  address: str,
31880
32374
  auth_method: str,
31881
32375
  engine_version: Optional[int] = None,
32376
+ prefix_path_depth: Optional[int] = None,
31882
32377
  token: Optional[str] = None):
31883
32378
  """
31884
32379
  :param str address: Address of the Vault server.
31885
32380
  :param str auth_method: Enum: `token`. Auth method of the vault secret provider.
31886
32381
  :param int engine_version: Enum: `1`, `2`, and newer. KV Secrets Engine version of the Vault server instance.
32382
+ :param int prefix_path_depth: Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
31887
32383
  :param str token: Token used to authenticate with vault and auth method `token`.
31888
32384
  """
31889
32385
  pulumi.set(__self__, "address", address)
31890
32386
  pulumi.set(__self__, "auth_method", auth_method)
31891
32387
  if engine_version is not None:
31892
32388
  pulumi.set(__self__, "engine_version", engine_version)
32389
+ if prefix_path_depth is not None:
32390
+ pulumi.set(__self__, "prefix_path_depth", prefix_path_depth)
31893
32391
  if token is not None:
31894
32392
  pulumi.set(__self__, "token", token)
31895
32393
 
@@ -31917,6 +32415,14 @@ class GetKafkaKafkaUserConfigKafkaConnectSecretProviderVaultResult(dict):
31917
32415
  """
31918
32416
  return pulumi.get(self, "engine_version")
31919
32417
 
32418
+ @property
32419
+ @pulumi.getter(name="prefixPathDepth")
32420
+ def prefix_path_depth(self) -> Optional[int]:
32421
+ """
32422
+ Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.
32423
+ """
32424
+ return pulumi.get(self, "prefix_path_depth")
32425
+
31920
32426
  @property
31921
32427
  @pulumi.getter
31922
32428
  def token(self) -> Optional[str]:
@@ -32313,13 +32819,21 @@ class GetKafkaKafkaUserConfigPublicAccessResult(dict):
32313
32819
  class GetKafkaKafkaUserConfigSchemaRegistryConfigResult(dict):
32314
32820
  def __init__(__self__, *,
32315
32821
  leader_eligibility: Optional[bool] = None,
32822
+ retriable_errors_silenced: Optional[bool] = None,
32823
+ schema_reader_strict_mode: Optional[bool] = None,
32316
32824
  topic_name: Optional[str] = None):
32317
32825
  """
32318
32826
  :param bool leader_eligibility: If true, Karapace / Schema Registry on the service nodes can participate in leader election. It might be needed to disable this when the schemas topic is replicated to a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to `true`.
32827
+ :param bool retriable_errors_silenced: If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`.
32828
+ :param bool schema_reader_strict_mode: If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`.
32319
32829
  :param str topic_name: The durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy. Please note that changing this configuration in an existing Schema Registry / Karapace setup leads to previous schemas being inaccessible, data encoded with them potentially unreadable and schema ID sequence put out of order. It's only possible to do the switch while Schema Registry / Karapace is disabled. Defaults to `_schemas`.
32320
32830
  """
32321
32831
  if leader_eligibility is not None:
32322
32832
  pulumi.set(__self__, "leader_eligibility", leader_eligibility)
32833
+ if retriable_errors_silenced is not None:
32834
+ pulumi.set(__self__, "retriable_errors_silenced", retriable_errors_silenced)
32835
+ if schema_reader_strict_mode is not None:
32836
+ pulumi.set(__self__, "schema_reader_strict_mode", schema_reader_strict_mode)
32323
32837
  if topic_name is not None:
32324
32838
  pulumi.set(__self__, "topic_name", topic_name)
32325
32839
 
@@ -32331,6 +32845,22 @@ class GetKafkaKafkaUserConfigSchemaRegistryConfigResult(dict):
32331
32845
  """
32332
32846
  return pulumi.get(self, "leader_eligibility")
32333
32847
 
32848
+ @property
32849
+ @pulumi.getter(name="retriableErrorsSilenced")
32850
+ def retriable_errors_silenced(self) -> Optional[bool]:
32851
+ """
32852
+ If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`.
32853
+ """
32854
+ return pulumi.get(self, "retriable_errors_silenced")
32855
+
32856
+ @property
32857
+ @pulumi.getter(name="schemaReaderStrictMode")
32858
+ def schema_reader_strict_mode(self) -> Optional[bool]:
32859
+ """
32860
+ If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`.
32861
+ """
32862
+ return pulumi.get(self, "schema_reader_strict_mode")
32863
+
32334
32864
  @property
32335
32865
  @pulumi.getter(name="topicName")
32336
32866
  def topic_name(self) -> Optional[str]:
@@ -35952,6 +36482,7 @@ class GetOpenSearchOpensearchResult(dict):
35952
36482
 
35953
36483
  @property
35954
36484
  @pulumi.getter(name="kibanaUri")
36485
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
35955
36486
  def kibana_uri(self) -> str:
35956
36487
  """
35957
36488
  URI for Kibana dashboard frontend
@@ -36321,6 +36852,7 @@ class GetOpenSearchOpensearchUserConfigAzureMigrationResult(dict):
36321
36852
  chunk_size: Optional[str] = None,
36322
36853
  compress: Optional[bool] = None,
36323
36854
  endpoint_suffix: Optional[str] = None,
36855
+ indices: Optional[str] = None,
36324
36856
  key: Optional[str] = None,
36325
36857
  sas_token: Optional[str] = None):
36326
36858
  """
@@ -36331,6 +36863,7 @@ class GetOpenSearchOpensearchUserConfigAzureMigrationResult(dict):
36331
36863
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
36332
36864
  :param bool compress: When set to true metadata files are stored in compressed format.
36333
36865
  :param str endpoint_suffix: Defines the DNS suffix for Azure Storage endpoints.
36866
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
36334
36867
  :param str key: Azure account secret key. One of key or sas_token should be specified.
36335
36868
  :param str sas_token: A shared access signatures (SAS) token. One of key or sas_token should be specified.
36336
36869
  """
@@ -36344,6 +36877,8 @@ class GetOpenSearchOpensearchUserConfigAzureMigrationResult(dict):
36344
36877
  pulumi.set(__self__, "compress", compress)
36345
36878
  if endpoint_suffix is not None:
36346
36879
  pulumi.set(__self__, "endpoint_suffix", endpoint_suffix)
36880
+ if indices is not None:
36881
+ pulumi.set(__self__, "indices", indices)
36347
36882
  if key is not None:
36348
36883
  pulumi.set(__self__, "key", key)
36349
36884
  if sas_token is not None:
@@ -36405,6 +36940,14 @@ class GetOpenSearchOpensearchUserConfigAzureMigrationResult(dict):
36405
36940
  """
36406
36941
  return pulumi.get(self, "endpoint_suffix")
36407
36942
 
36943
+ @property
36944
+ @pulumi.getter
36945
+ def indices(self) -> Optional[str]:
36946
+ """
36947
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
36948
+ """
36949
+ return pulumi.get(self, "indices")
36950
+
36408
36951
  @property
36409
36952
  @pulumi.getter
36410
36953
  def key(self) -> Optional[str]:
@@ -36430,7 +36973,8 @@ class GetOpenSearchOpensearchUserConfigGcsMigrationResult(dict):
36430
36973
  credentials: str,
36431
36974
  snapshot_name: str,
36432
36975
  chunk_size: Optional[str] = None,
36433
- compress: Optional[bool] = None):
36976
+ compress: Optional[bool] = None,
36977
+ indices: Optional[str] = None):
36434
36978
  """
36435
36979
  :param str base_path: The path to the repository data within its container. The value of this setting should not start or end with a /.
36436
36980
  :param str bucket: The path to the repository data within its container.
@@ -36438,6 +36982,7 @@ class GetOpenSearchOpensearchUserConfigGcsMigrationResult(dict):
36438
36982
  :param str snapshot_name: The snapshot name to restore from.
36439
36983
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
36440
36984
  :param bool compress: When set to true metadata files are stored in compressed format.
36985
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
36441
36986
  """
36442
36987
  pulumi.set(__self__, "base_path", base_path)
36443
36988
  pulumi.set(__self__, "bucket", bucket)
@@ -36447,6 +36992,8 @@ class GetOpenSearchOpensearchUserConfigGcsMigrationResult(dict):
36447
36992
  pulumi.set(__self__, "chunk_size", chunk_size)
36448
36993
  if compress is not None:
36449
36994
  pulumi.set(__self__, "compress", compress)
36995
+ if indices is not None:
36996
+ pulumi.set(__self__, "indices", indices)
36450
36997
 
36451
36998
  @property
36452
36999
  @pulumi.getter(name="basePath")
@@ -36496,6 +37043,14 @@ class GetOpenSearchOpensearchUserConfigGcsMigrationResult(dict):
36496
37043
  """
36497
37044
  return pulumi.get(self, "compress")
36498
37045
 
37046
+ @property
37047
+ @pulumi.getter
37048
+ def indices(self) -> Optional[str]:
37049
+ """
37050
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
37051
+ """
37052
+ return pulumi.get(self, "indices")
37053
+
36499
37054
 
36500
37055
  @pulumi.output_type
36501
37056
  class GetOpenSearchOpensearchUserConfigIndexPatternResult(dict):
@@ -37741,6 +38296,7 @@ class GetOpenSearchOpensearchUserConfigS3MigrationResult(dict):
37741
38296
  chunk_size: Optional[str] = None,
37742
38297
  compress: Optional[bool] = None,
37743
38298
  endpoint: Optional[str] = None,
38299
+ indices: Optional[str] = None,
37744
38300
  server_side_encryption: Optional[bool] = None):
37745
38301
  """
37746
38302
  :param str access_key: AWS Access key.
@@ -37752,6 +38308,7 @@ class GetOpenSearchOpensearchUserConfigS3MigrationResult(dict):
37752
38308
  :param str chunk_size: Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.
37753
38309
  :param bool compress: When set to true metadata files are stored in compressed format.
37754
38310
  :param str endpoint: The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint.
38311
+ :param str indices: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
37755
38312
  :param bool server_side_encryption: When set to true files are encrypted on server side.
37756
38313
  """
37757
38314
  pulumi.set(__self__, "access_key", access_key)
@@ -37766,6 +38323,8 @@ class GetOpenSearchOpensearchUserConfigS3MigrationResult(dict):
37766
38323
  pulumi.set(__self__, "compress", compress)
37767
38324
  if endpoint is not None:
37768
38325
  pulumi.set(__self__, "endpoint", endpoint)
38326
+ if indices is not None:
38327
+ pulumi.set(__self__, "indices", indices)
37769
38328
  if server_side_encryption is not None:
37770
38329
  pulumi.set(__self__, "server_side_encryption", server_side_encryption)
37771
38330
 
@@ -37841,6 +38400,14 @@ class GetOpenSearchOpensearchUserConfigS3MigrationResult(dict):
37841
38400
  """
37842
38401
  return pulumi.get(self, "endpoint")
37843
38402
 
38403
+ @property
38404
+ @pulumi.getter
38405
+ def indices(self) -> Optional[str]:
38406
+ """
38407
+ A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. Example: `metrics*,logs*,data-20240823`.
38408
+ """
38409
+ return pulumi.get(self, "indices")
38410
+
37844
38411
  @property
37845
38412
  @pulumi.getter(name="serverSideEncryption")
37846
38413
  def server_side_encryption(self) -> Optional[bool]:
@@ -38164,6 +38731,7 @@ class GetPgPgResult(dict):
38164
38731
 
38165
38732
  @property
38166
38733
  @pulumi.getter
38734
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
38167
38735
  def bouncer(self) -> str:
38168
38736
  """
38169
38737
  PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).
@@ -38484,6 +39052,7 @@ class GetPgPgUserConfigResult(dict):
38484
39052
 
38485
39053
  @property
38486
39054
  @pulumi.getter(name="additionalBackupRegions")
39055
+ @_utilities.deprecated("""This property is deprecated.""")
38487
39056
  def additional_backup_regions(self) -> Optional[str]:
38488
39057
  """
38489
39058
  Additional Cloud Regions for Backup Replication.
@@ -40290,6 +40859,8 @@ class GetRedisRediResult(dict):
40290
40859
  class GetRedisRedisUserConfigResult(dict):
40291
40860
  def __init__(__self__, *,
40292
40861
  additional_backup_regions: Optional[str] = None,
40862
+ backup_hour: Optional[int] = None,
40863
+ backup_minute: Optional[int] = None,
40293
40864
  ip_filter_objects: Optional[Sequence['outputs.GetRedisRedisUserConfigIpFilterObjectResult']] = None,
40294
40865
  ip_filter_strings: Optional[Sequence[str]] = None,
40295
40866
  ip_filters: Optional[Sequence[str]] = None,
@@ -40316,6 +40887,8 @@ class GetRedisRedisUserConfigResult(dict):
40316
40887
  static_ips: Optional[bool] = None):
40317
40888
  """
40318
40889
  :param str additional_backup_regions: Additional Cloud Regions for Backup Replication.
40890
+ :param int backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
40891
+ :param int backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
40319
40892
  :param Sequence['GetRedisRedisUserConfigIpFilterObjectArgs'] ip_filter_objects: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`
40320
40893
  :param Sequence[str] ip_filter_strings: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
40321
40894
  :param Sequence[str] ip_filters: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
@@ -40343,6 +40916,10 @@ class GetRedisRedisUserConfigResult(dict):
40343
40916
  """
40344
40917
  if additional_backup_regions is not None:
40345
40918
  pulumi.set(__self__, "additional_backup_regions", additional_backup_regions)
40919
+ if backup_hour is not None:
40920
+ pulumi.set(__self__, "backup_hour", backup_hour)
40921
+ if backup_minute is not None:
40922
+ pulumi.set(__self__, "backup_minute", backup_minute)
40346
40923
  if ip_filter_objects is not None:
40347
40924
  pulumi.set(__self__, "ip_filter_objects", ip_filter_objects)
40348
40925
  if ip_filter_strings is not None:
@@ -40400,6 +40977,22 @@ class GetRedisRedisUserConfigResult(dict):
40400
40977
  """
40401
40978
  return pulumi.get(self, "additional_backup_regions")
40402
40979
 
40980
+ @property
40981
+ @pulumi.getter(name="backupHour")
40982
+ def backup_hour(self) -> Optional[int]:
40983
+ """
40984
+ The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
40985
+ """
40986
+ return pulumi.get(self, "backup_hour")
40987
+
40988
+ @property
40989
+ @pulumi.getter(name="backupMinute")
40990
+ def backup_minute(self) -> Optional[int]:
40991
+ """
40992
+ The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
40993
+ """
40994
+ return pulumi.get(self, "backup_minute")
40995
+
40403
40996
  @property
40404
40997
  @pulumi.getter(name="ipFilterObjects")
40405
40998
  def ip_filter_objects(self) -> Optional[Sequence['outputs.GetRedisRedisUserConfigIpFilterObjectResult']]:
@@ -41682,6 +42275,97 @@ class GetServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfigResult(
41682
42275
  return pulumi.get(self, "secret_key")
41683
42276
 
41684
42277
 
42278
+ @pulumi.output_type
42279
+ class GetServiceIntegrationEndpointExternalAwsS3UserConfigResult(dict):
42280
+ def __init__(__self__, *,
42281
+ access_key_id: str,
42282
+ secret_access_key: str,
42283
+ url: str):
42284
+ """
42285
+ :param str access_key_id: Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.
42286
+ :param str secret_access_key: Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.
42287
+ :param str url: S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.
42288
+ """
42289
+ pulumi.set(__self__, "access_key_id", access_key_id)
42290
+ pulumi.set(__self__, "secret_access_key", secret_access_key)
42291
+ pulumi.set(__self__, "url", url)
42292
+
42293
+ @property
42294
+ @pulumi.getter(name="accessKeyId")
42295
+ def access_key_id(self) -> str:
42296
+ """
42297
+ Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.
42298
+ """
42299
+ return pulumi.get(self, "access_key_id")
42300
+
42301
+ @property
42302
+ @pulumi.getter(name="secretAccessKey")
42303
+ def secret_access_key(self) -> str:
42304
+ """
42305
+ Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.
42306
+ """
42307
+ return pulumi.get(self, "secret_access_key")
42308
+
42309
+ @property
42310
+ @pulumi.getter
42311
+ def url(self) -> str:
42312
+ """
42313
+ S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.
42314
+ """
42315
+ return pulumi.get(self, "url")
42316
+
42317
+
42318
+ @pulumi.output_type
42319
+ class GetServiceIntegrationEndpointExternalClickhouseUserConfigResult(dict):
42320
+ def __init__(__self__, *,
42321
+ host: str,
42322
+ password: str,
42323
+ port: int,
42324
+ username: str):
42325
+ """
42326
+ :param str host: Hostname or IP address of the server. Example: `my.server.com`.
42327
+ :param str password: Password. Example: `jjKk45Nnd`.
42328
+ :param int port: Secure TCP server port. Example: `9440`.
42329
+ :param str username: User name. Example: `default`.
42330
+ """
42331
+ pulumi.set(__self__, "host", host)
42332
+ pulumi.set(__self__, "password", password)
42333
+ pulumi.set(__self__, "port", port)
42334
+ pulumi.set(__self__, "username", username)
42335
+
42336
+ @property
42337
+ @pulumi.getter
42338
+ def host(self) -> str:
42339
+ """
42340
+ Hostname or IP address of the server. Example: `my.server.com`.
42341
+ """
42342
+ return pulumi.get(self, "host")
42343
+
42344
+ @property
42345
+ @pulumi.getter
42346
+ def password(self) -> str:
42347
+ """
42348
+ Password. Example: `jjKk45Nnd`.
42349
+ """
42350
+ return pulumi.get(self, "password")
42351
+
42352
+ @property
42353
+ @pulumi.getter
42354
+ def port(self) -> int:
42355
+ """
42356
+ Secure TCP server port. Example: `9440`.
42357
+ """
42358
+ return pulumi.get(self, "port")
42359
+
42360
+ @property
42361
+ @pulumi.getter
42362
+ def username(self) -> str:
42363
+ """
42364
+ User name. Example: `default`.
42365
+ """
42366
+ return pulumi.get(self, "username")
42367
+
42368
+
41685
42369
  @pulumi.output_type
41686
42370
  class GetServiceIntegrationEndpointExternalElasticsearchLogsUserConfigResult(dict):
41687
42371
  def __init__(__self__, *,
@@ -41953,6 +42637,87 @@ class GetServiceIntegrationEndpointExternalKafkaUserConfigResult(dict):
41953
42637
  return pulumi.get(self, "ssl_endpoint_identification_algorithm")
41954
42638
 
41955
42639
 
42640
+ @pulumi.output_type
42641
+ class GetServiceIntegrationEndpointExternalMysqlUserConfigResult(dict):
42642
+ def __init__(__self__, *,
42643
+ host: str,
42644
+ password: str,
42645
+ port: int,
42646
+ username: str,
42647
+ ssl_mode: Optional[str] = None,
42648
+ ssl_root_cert: Optional[str] = None):
42649
+ """
42650
+ :param str host: Hostname or IP address of the server. Example: `my.server.com`.
42651
+ :param str password: Password. Example: `jjKk45Nnd`.
42652
+ :param int port: Port number of the server. Example: `5432`.
42653
+ :param str username: User name. Example: `myname`.
42654
+ :param str ssl_mode: Enum: `verify-full`. SSL Mode. Default: `verify-full`.
42655
+ :param str ssl_root_cert: SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----
42656
+ ...
42657
+ -----END CERTIFICATE-----
42658
+ `.
42659
+ """
42660
+ pulumi.set(__self__, "host", host)
42661
+ pulumi.set(__self__, "password", password)
42662
+ pulumi.set(__self__, "port", port)
42663
+ pulumi.set(__self__, "username", username)
42664
+ if ssl_mode is not None:
42665
+ pulumi.set(__self__, "ssl_mode", ssl_mode)
42666
+ if ssl_root_cert is not None:
42667
+ pulumi.set(__self__, "ssl_root_cert", ssl_root_cert)
42668
+
42669
+ @property
42670
+ @pulumi.getter
42671
+ def host(self) -> str:
42672
+ """
42673
+ Hostname or IP address of the server. Example: `my.server.com`.
42674
+ """
42675
+ return pulumi.get(self, "host")
42676
+
42677
+ @property
42678
+ @pulumi.getter
42679
+ def password(self) -> str:
42680
+ """
42681
+ Password. Example: `jjKk45Nnd`.
42682
+ """
42683
+ return pulumi.get(self, "password")
42684
+
42685
+ @property
42686
+ @pulumi.getter
42687
+ def port(self) -> int:
42688
+ """
42689
+ Port number of the server. Example: `5432`.
42690
+ """
42691
+ return pulumi.get(self, "port")
42692
+
42693
+ @property
42694
+ @pulumi.getter
42695
+ def username(self) -> str:
42696
+ """
42697
+ User name. Example: `myname`.
42698
+ """
42699
+ return pulumi.get(self, "username")
42700
+
42701
+ @property
42702
+ @pulumi.getter(name="sslMode")
42703
+ def ssl_mode(self) -> Optional[str]:
42704
+ """
42705
+ Enum: `verify-full`. SSL Mode. Default: `verify-full`.
42706
+ """
42707
+ return pulumi.get(self, "ssl_mode")
42708
+
42709
+ @property
42710
+ @pulumi.getter(name="sslRootCert")
42711
+ def ssl_root_cert(self) -> Optional[str]:
42712
+ """
42713
+ SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----
42714
+ ...
42715
+ -----END CERTIFICATE-----
42716
+ `.
42717
+ """
42718
+ return pulumi.get(self, "ssl_root_cert")
42719
+
42720
+
41956
42721
  @pulumi.output_type
41957
42722
  class GetServiceIntegrationEndpointExternalOpensearchLogsUserConfigResult(dict):
41958
42723
  def __init__(__self__, *,
@@ -43538,6 +44303,7 @@ class GetThanosThanoResult(dict):
43538
44303
 
43539
44304
  @property
43540
44305
  @pulumi.getter(name="storeUri")
44306
+ @_utilities.deprecated("""This field was added by mistake and has never worked. It will be removed in future versions.""")
43541
44307
  def store_uri(self) -> str:
43542
44308
  """
43543
44309
  Store URI.
@@ -44109,6 +44875,8 @@ class GetValkeyValkeyResult(dict):
44109
44875
  class GetValkeyValkeyUserConfigResult(dict):
44110
44876
  def __init__(__self__, *,
44111
44877
  additional_backup_regions: Optional[str] = None,
44878
+ backup_hour: Optional[int] = None,
44879
+ backup_minute: Optional[int] = None,
44112
44880
  ip_filter_objects: Optional[Sequence['outputs.GetValkeyValkeyUserConfigIpFilterObjectResult']] = None,
44113
44881
  ip_filter_strings: Optional[Sequence[str]] = None,
44114
44882
  ip_filters: Optional[Sequence[str]] = None,
@@ -44134,6 +44902,8 @@ class GetValkeyValkeyUserConfigResult(dict):
44134
44902
  valkey_timeout: Optional[int] = None):
44135
44903
  """
44136
44904
  :param str additional_backup_regions: Additional Cloud Regions for Backup Replication.
44905
+ :param int backup_hour: The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
44906
+ :param int backup_minute: The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
44137
44907
  :param Sequence['GetValkeyValkeyUserConfigIpFilterObjectArgs'] ip_filter_objects: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`
44138
44908
  :param Sequence[str] ip_filter_strings: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
44139
44909
  :param Sequence[str] ip_filters: Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.
@@ -44160,6 +44930,10 @@ class GetValkeyValkeyUserConfigResult(dict):
44160
44930
  """
44161
44931
  if additional_backup_regions is not None:
44162
44932
  pulumi.set(__self__, "additional_backup_regions", additional_backup_regions)
44933
+ if backup_hour is not None:
44934
+ pulumi.set(__self__, "backup_hour", backup_hour)
44935
+ if backup_minute is not None:
44936
+ pulumi.set(__self__, "backup_minute", backup_minute)
44163
44937
  if ip_filter_objects is not None:
44164
44938
  pulumi.set(__self__, "ip_filter_objects", ip_filter_objects)
44165
44939
  if ip_filter_strings is not None:
@@ -44215,6 +44989,22 @@ class GetValkeyValkeyUserConfigResult(dict):
44215
44989
  """
44216
44990
  return pulumi.get(self, "additional_backup_regions")
44217
44991
 
44992
+ @property
44993
+ @pulumi.getter(name="backupHour")
44994
+ def backup_hour(self) -> Optional[int]:
44995
+ """
44996
+ The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: `3`.
44997
+ """
44998
+ return pulumi.get(self, "backup_hour")
44999
+
45000
+ @property
45001
+ @pulumi.getter(name="backupMinute")
45002
+ def backup_minute(self) -> Optional[int]:
45003
+ """
45004
+ The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: `30`.
45005
+ """
45006
+ return pulumi.get(self, "backup_minute")
45007
+
44218
45008
  @property
44219
45009
  @pulumi.getter(name="ipFilterObjects")
44220
45010
  def ip_filter_objects(self) -> Optional[Sequence['outputs.GetValkeyValkeyUserConfigIpFilterObjectResult']]: