pulumi-aiven 6.8.0a1696284100__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.8.0a1696284100.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.8.0a1696284100.dist-info/RECORD +0 -145
  140. {pulumi_aiven-6.8.0a1696284100.dist-info → pulumi_aiven-6.8.0a1696359310.dist-info}/WHEEL +0 -0
  141. {pulumi_aiven-6.8.0a1696284100.dist-info → pulumi_aiven-6.8.0a1696359310.dist-info}/top_level.txt +0 -0
pulumi_aiven/redis.py CHANGED
@@ -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 *
@@ -67,34 +67,69 @@ class RedisArgs:
67
67
  unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
68
68
  much of the content can at least be restored from backup in case accidental deletion is done.
69
69
  """
70
- pulumi.set(__self__, "plan", plan)
71
- pulumi.set(__self__, "project", project)
72
- pulumi.set(__self__, "service_name", service_name)
70
+ RedisArgs._configure(
71
+ lambda key, value: pulumi.set(__self__, key, value),
72
+ plan=plan,
73
+ project=project,
74
+ service_name=service_name,
75
+ additional_disk_space=additional_disk_space,
76
+ cloud_name=cloud_name,
77
+ disk_space=disk_space,
78
+ maintenance_window_dow=maintenance_window_dow,
79
+ maintenance_window_time=maintenance_window_time,
80
+ project_vpc_id=project_vpc_id,
81
+ redis_user_config=redis_user_config,
82
+ service_integrations=service_integrations,
83
+ static_ips=static_ips,
84
+ tags=tags,
85
+ termination_protection=termination_protection,
86
+ )
87
+ @staticmethod
88
+ def _configure(
89
+ _setter: Callable[[Any, Any], None],
90
+ plan: pulumi.Input[str],
91
+ project: pulumi.Input[str],
92
+ service_name: pulumi.Input[str],
93
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
94
+ cloud_name: Optional[pulumi.Input[str]] = None,
95
+ disk_space: Optional[pulumi.Input[str]] = None,
96
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
97
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
98
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
99
+ redis_user_config: Optional[pulumi.Input['RedisRedisUserConfigArgs']] = None,
100
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]]] = None,
101
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
102
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['RedisTagArgs']]]] = None,
103
+ termination_protection: Optional[pulumi.Input[bool]] = None,
104
+ opts: Optional[pulumi.ResourceOptions]=None):
105
+ _setter("plan", plan)
106
+ _setter("project", project)
107
+ _setter("service_name", service_name)
73
108
  if additional_disk_space is not None:
74
- pulumi.set(__self__, "additional_disk_space", additional_disk_space)
109
+ _setter("additional_disk_space", additional_disk_space)
75
110
  if cloud_name is not None:
76
- pulumi.set(__self__, "cloud_name", cloud_name)
111
+ _setter("cloud_name", cloud_name)
77
112
  if disk_space is not None:
78
113
  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)
79
114
  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.""")
80
115
  if disk_space is not None:
81
- pulumi.set(__self__, "disk_space", disk_space)
116
+ _setter("disk_space", disk_space)
82
117
  if maintenance_window_dow is not None:
83
- pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
118
+ _setter("maintenance_window_dow", maintenance_window_dow)
84
119
  if maintenance_window_time is not None:
85
- pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
120
+ _setter("maintenance_window_time", maintenance_window_time)
86
121
  if project_vpc_id is not None:
87
- pulumi.set(__self__, "project_vpc_id", project_vpc_id)
122
+ _setter("project_vpc_id", project_vpc_id)
88
123
  if redis_user_config is not None:
89
- pulumi.set(__self__, "redis_user_config", redis_user_config)
124
+ _setter("redis_user_config", redis_user_config)
90
125
  if service_integrations is not None:
91
- pulumi.set(__self__, "service_integrations", service_integrations)
126
+ _setter("service_integrations", service_integrations)
92
127
  if static_ips is not None:
93
- pulumi.set(__self__, "static_ips", static_ips)
128
+ _setter("static_ips", static_ips)
94
129
  if tags is not None:
95
- pulumi.set(__self__, "tags", tags)
130
+ _setter("tags", tags)
96
131
  if termination_protection is not None:
97
- pulumi.set(__self__, "termination_protection", termination_protection)
132
+ _setter("termination_protection", termination_protection)
98
133
 
99
134
  @property
100
135
  @pulumi.getter
@@ -370,63 +405,124 @@ class _RedisState:
370
405
  unintentional service deletion. This does not shield against deleting databases or topics but for services with backups
371
406
  much of the content can at least be restored from backup in case accidental deletion is done.
372
407
  """
408
+ _RedisState._configure(
409
+ lambda key, value: pulumi.set(__self__, key, value),
410
+ additional_disk_space=additional_disk_space,
411
+ cloud_name=cloud_name,
412
+ components=components,
413
+ disk_space=disk_space,
414
+ disk_space_cap=disk_space_cap,
415
+ disk_space_default=disk_space_default,
416
+ disk_space_step=disk_space_step,
417
+ disk_space_used=disk_space_used,
418
+ maintenance_window_dow=maintenance_window_dow,
419
+ maintenance_window_time=maintenance_window_time,
420
+ plan=plan,
421
+ project=project,
422
+ project_vpc_id=project_vpc_id,
423
+ redis=redis,
424
+ redis_user_config=redis_user_config,
425
+ service_host=service_host,
426
+ service_integrations=service_integrations,
427
+ service_name=service_name,
428
+ service_password=service_password,
429
+ service_port=service_port,
430
+ service_type=service_type,
431
+ service_uri=service_uri,
432
+ service_username=service_username,
433
+ state=state,
434
+ static_ips=static_ips,
435
+ tags=tags,
436
+ termination_protection=termination_protection,
437
+ )
438
+ @staticmethod
439
+ def _configure(
440
+ _setter: Callable[[Any, Any], None],
441
+ additional_disk_space: Optional[pulumi.Input[str]] = None,
442
+ cloud_name: Optional[pulumi.Input[str]] = None,
443
+ components: Optional[pulumi.Input[Sequence[pulumi.Input['RedisComponentArgs']]]] = None,
444
+ disk_space: Optional[pulumi.Input[str]] = None,
445
+ disk_space_cap: Optional[pulumi.Input[str]] = None,
446
+ disk_space_default: Optional[pulumi.Input[str]] = None,
447
+ disk_space_step: Optional[pulumi.Input[str]] = None,
448
+ disk_space_used: Optional[pulumi.Input[str]] = None,
449
+ maintenance_window_dow: Optional[pulumi.Input[str]] = None,
450
+ maintenance_window_time: Optional[pulumi.Input[str]] = None,
451
+ plan: Optional[pulumi.Input[str]] = None,
452
+ project: Optional[pulumi.Input[str]] = None,
453
+ project_vpc_id: Optional[pulumi.Input[str]] = None,
454
+ redis: Optional[pulumi.Input[Sequence[pulumi.Input['RedisRediArgs']]]] = None,
455
+ redis_user_config: Optional[pulumi.Input['RedisRedisUserConfigArgs']] = None,
456
+ service_host: Optional[pulumi.Input[str]] = None,
457
+ service_integrations: Optional[pulumi.Input[Sequence[pulumi.Input['RedisServiceIntegrationArgs']]]] = None,
458
+ service_name: Optional[pulumi.Input[str]] = None,
459
+ service_password: Optional[pulumi.Input[str]] = None,
460
+ service_port: Optional[pulumi.Input[int]] = None,
461
+ service_type: Optional[pulumi.Input[str]] = None,
462
+ service_uri: Optional[pulumi.Input[str]] = None,
463
+ service_username: Optional[pulumi.Input[str]] = None,
464
+ state: Optional[pulumi.Input[str]] = None,
465
+ static_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
466
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['RedisTagArgs']]]] = None,
467
+ termination_protection: Optional[pulumi.Input[bool]] = None,
468
+ opts: Optional[pulumi.ResourceOptions]=None):
373
469
  if additional_disk_space is not None:
374
- pulumi.set(__self__, "additional_disk_space", additional_disk_space)
470
+ _setter("additional_disk_space", additional_disk_space)
375
471
  if cloud_name is not None:
376
- pulumi.set(__self__, "cloud_name", cloud_name)
472
+ _setter("cloud_name", cloud_name)
377
473
  if components is not None:
378
- pulumi.set(__self__, "components", components)
474
+ _setter("components", components)
379
475
  if disk_space is not None:
380
476
  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)
381
477
  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.""")
382
478
  if disk_space is not None:
383
- pulumi.set(__self__, "disk_space", disk_space)
479
+ _setter("disk_space", disk_space)
384
480
  if disk_space_cap is not None:
385
- pulumi.set(__self__, "disk_space_cap", disk_space_cap)
481
+ _setter("disk_space_cap", disk_space_cap)
386
482
  if disk_space_default is not None:
387
- pulumi.set(__self__, "disk_space_default", disk_space_default)
483
+ _setter("disk_space_default", disk_space_default)
388
484
  if disk_space_step is not None:
389
- pulumi.set(__self__, "disk_space_step", disk_space_step)
485
+ _setter("disk_space_step", disk_space_step)
390
486
  if disk_space_used is not None:
391
- pulumi.set(__self__, "disk_space_used", disk_space_used)
487
+ _setter("disk_space_used", disk_space_used)
392
488
  if maintenance_window_dow is not None:
393
- pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
489
+ _setter("maintenance_window_dow", maintenance_window_dow)
394
490
  if maintenance_window_time is not None:
395
- pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
491
+ _setter("maintenance_window_time", maintenance_window_time)
396
492
  if plan is not None:
397
- pulumi.set(__self__, "plan", plan)
493
+ _setter("plan", plan)
398
494
  if project is not None:
399
- pulumi.set(__self__, "project", project)
495
+ _setter("project", project)
400
496
  if project_vpc_id is not None:
401
- pulumi.set(__self__, "project_vpc_id", project_vpc_id)
497
+ _setter("project_vpc_id", project_vpc_id)
402
498
  if redis is not None:
403
- pulumi.set(__self__, "redis", redis)
499
+ _setter("redis", redis)
404
500
  if redis_user_config is not None:
405
- pulumi.set(__self__, "redis_user_config", redis_user_config)
501
+ _setter("redis_user_config", redis_user_config)
406
502
  if service_host is not None:
407
- pulumi.set(__self__, "service_host", service_host)
503
+ _setter("service_host", service_host)
408
504
  if service_integrations is not None:
409
- pulumi.set(__self__, "service_integrations", service_integrations)
505
+ _setter("service_integrations", service_integrations)
410
506
  if service_name is not None:
411
- pulumi.set(__self__, "service_name", service_name)
507
+ _setter("service_name", service_name)
412
508
  if service_password is not None:
413
- pulumi.set(__self__, "service_password", service_password)
509
+ _setter("service_password", service_password)
414
510
  if service_port is not None:
415
- pulumi.set(__self__, "service_port", service_port)
511
+ _setter("service_port", service_port)
416
512
  if service_type is not None:
417
- pulumi.set(__self__, "service_type", service_type)
513
+ _setter("service_type", service_type)
418
514
  if service_uri is not None:
419
- pulumi.set(__self__, "service_uri", service_uri)
515
+ _setter("service_uri", service_uri)
420
516
  if service_username is not None:
421
- pulumi.set(__self__, "service_username", service_username)
517
+ _setter("service_username", service_username)
422
518
  if state is not None:
423
- pulumi.set(__self__, "state", state)
519
+ _setter("state", state)
424
520
  if static_ips is not None:
425
- pulumi.set(__self__, "static_ips", static_ips)
521
+ _setter("static_ips", static_ips)
426
522
  if tags is not None:
427
- pulumi.set(__self__, "tags", tags)
523
+ _setter("tags", tags)
428
524
  if termination_protection is not None:
429
- pulumi.set(__self__, "termination_protection", termination_protection)
525
+ _setter("termination_protection", termination_protection)
430
526
 
431
527
  @property
432
528
  @pulumi.getter(name="additionalDiskSpace")
@@ -911,6 +1007,10 @@ class Redis(pulumi.CustomResource):
911
1007
  if resource_args is not None:
912
1008
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
913
1009
  else:
1010
+ kwargs = kwargs or {}
1011
+ def _setter(key, value):
1012
+ kwargs[key] = value
1013
+ RedisArgs._configure(_setter, **kwargs)
914
1014
  __self__._internal_init(resource_name, *args, **kwargs)
915
1015
 
916
1016
  def _internal_init(__self__,
@@ -941,9 +1041,6 @@ class Redis(pulumi.CustomResource):
941
1041
 
942
1042
  __props__.__dict__["additional_disk_space"] = additional_disk_space
943
1043
  __props__.__dict__["cloud_name"] = cloud_name
944
- if disk_space is not None and not opts.urn:
945
- 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)
946
- 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.""")
947
1044
  __props__.__dict__["disk_space"] = disk_space
948
1045
  __props__.__dict__["maintenance_window_dow"] = maintenance_window_dow
949
1046
  __props__.__dict__["maintenance_window_time"] = maintenance_window_time
@@ -954,6 +1051,11 @@ class Redis(pulumi.CustomResource):
954
1051
  raise TypeError("Missing required property 'project'")
955
1052
  __props__.__dict__["project"] = project
956
1053
  __props__.__dict__["project_vpc_id"] = project_vpc_id
1054
+ if redis_user_config is not None and not isinstance(redis_user_config, RedisRedisUserConfigArgs):
1055
+ redis_user_config = redis_user_config or {}
1056
+ def _setter(key, value):
1057
+ redis_user_config[key] = value
1058
+ RedisRedisUserConfigArgs._configure(_setter, **redis_user_config)
957
1059
  __props__.__dict__["redis_user_config"] = redis_user_config
958
1060
  __props__.__dict__["service_integrations"] = service_integrations
959
1061
  if service_name is None and not opts.urn:
@@ -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__ = ['RedisUserArgs', 'RedisUser']
@@ -33,19 +33,42 @@ class RedisUserArgs:
33
33
  :param pulumi.Input[Sequence[pulumi.Input[str]]] redis_acl_commands: Defines rules for individual commands. The field is required with`redis_acl_categories` and `redis_acl_keys`. This property cannot be changed, doing so forces recreation of the resource.
34
34
  :param pulumi.Input[Sequence[pulumi.Input[str]]] redis_acl_keys: Defines key access rules. The field is required with`redis_acl_categories` and `redis_acl_keys`. This property cannot be changed, doing so forces recreation of the resource.
35
35
  """
36
- pulumi.set(__self__, "project", project)
37
- pulumi.set(__self__, "service_name", service_name)
38
- pulumi.set(__self__, "username", username)
36
+ RedisUserArgs._configure(
37
+ lambda key, value: pulumi.set(__self__, key, value),
38
+ project=project,
39
+ service_name=service_name,
40
+ username=username,
41
+ password=password,
42
+ redis_acl_categories=redis_acl_categories,
43
+ redis_acl_channels=redis_acl_channels,
44
+ redis_acl_commands=redis_acl_commands,
45
+ redis_acl_keys=redis_acl_keys,
46
+ )
47
+ @staticmethod
48
+ def _configure(
49
+ _setter: Callable[[Any, Any], None],
50
+ project: pulumi.Input[str],
51
+ service_name: pulumi.Input[str],
52
+ username: pulumi.Input[str],
53
+ password: Optional[pulumi.Input[str]] = None,
54
+ redis_acl_categories: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
55
+ redis_acl_channels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
56
+ redis_acl_commands: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
57
+ redis_acl_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
58
+ opts: Optional[pulumi.ResourceOptions]=None):
59
+ _setter("project", project)
60
+ _setter("service_name", service_name)
61
+ _setter("username", username)
39
62
  if password is not None:
40
- pulumi.set(__self__, "password", password)
63
+ _setter("password", password)
41
64
  if redis_acl_categories is not None:
42
- pulumi.set(__self__, "redis_acl_categories", redis_acl_categories)
65
+ _setter("redis_acl_categories", redis_acl_categories)
43
66
  if redis_acl_channels is not None:
44
- pulumi.set(__self__, "redis_acl_channels", redis_acl_channels)
67
+ _setter("redis_acl_channels", redis_acl_channels)
45
68
  if redis_acl_commands is not None:
46
- pulumi.set(__self__, "redis_acl_commands", redis_acl_commands)
69
+ _setter("redis_acl_commands", redis_acl_commands)
47
70
  if redis_acl_keys is not None:
48
- pulumi.set(__self__, "redis_acl_keys", redis_acl_keys)
71
+ _setter("redis_acl_keys", redis_acl_keys)
49
72
 
50
73
  @property
51
74
  @pulumi.getter
@@ -168,24 +191,49 @@ class _RedisUserState:
168
191
  :param pulumi.Input[str] type: Type of the user account. Tells whether the user is the primary account or a regular account.
169
192
  :param pulumi.Input[str] username: The actual name of the Redis 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.
170
193
  """
194
+ _RedisUserState._configure(
195
+ lambda key, value: pulumi.set(__self__, key, value),
196
+ password=password,
197
+ project=project,
198
+ redis_acl_categories=redis_acl_categories,
199
+ redis_acl_channels=redis_acl_channels,
200
+ redis_acl_commands=redis_acl_commands,
201
+ redis_acl_keys=redis_acl_keys,
202
+ service_name=service_name,
203
+ type=type,
204
+ username=username,
205
+ )
206
+ @staticmethod
207
+ def _configure(
208
+ _setter: Callable[[Any, Any], None],
209
+ password: Optional[pulumi.Input[str]] = None,
210
+ project: Optional[pulumi.Input[str]] = None,
211
+ redis_acl_categories: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
212
+ redis_acl_channels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
213
+ redis_acl_commands: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
214
+ redis_acl_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
215
+ service_name: Optional[pulumi.Input[str]] = None,
216
+ type: Optional[pulumi.Input[str]] = None,
217
+ username: Optional[pulumi.Input[str]] = None,
218
+ opts: Optional[pulumi.ResourceOptions]=None):
171
219
  if password is not None:
172
- pulumi.set(__self__, "password", password)
220
+ _setter("password", password)
173
221
  if project is not None:
174
- pulumi.set(__self__, "project", project)
222
+ _setter("project", project)
175
223
  if redis_acl_categories is not None:
176
- pulumi.set(__self__, "redis_acl_categories", redis_acl_categories)
224
+ _setter("redis_acl_categories", redis_acl_categories)
177
225
  if redis_acl_channels is not None:
178
- pulumi.set(__self__, "redis_acl_channels", redis_acl_channels)
226
+ _setter("redis_acl_channels", redis_acl_channels)
179
227
  if redis_acl_commands is not None:
180
- pulumi.set(__self__, "redis_acl_commands", redis_acl_commands)
228
+ _setter("redis_acl_commands", redis_acl_commands)
181
229
  if redis_acl_keys is not None:
182
- pulumi.set(__self__, "redis_acl_keys", redis_acl_keys)
230
+ _setter("redis_acl_keys", redis_acl_keys)
183
231
  if service_name is not None:
184
- pulumi.set(__self__, "service_name", service_name)
232
+ _setter("service_name", service_name)
185
233
  if type is not None:
186
- pulumi.set(__self__, "type", type)
234
+ _setter("type", type)
187
235
  if username is not None:
188
- pulumi.set(__self__, "username", username)
236
+ _setter("username", username)
189
237
 
190
238
  @property
191
239
  @pulumi.getter
@@ -381,6 +429,10 @@ class RedisUser(pulumi.CustomResource):
381
429
  if resource_args is not None:
382
430
  __self__._internal_init(resource_name, opts, **resource_args.__dict__)
383
431
  else:
432
+ kwargs = kwargs or {}
433
+ def _setter(key, value):
434
+ kwargs[key] = value
435
+ RedisUserArgs._configure(_setter, **kwargs)
384
436
  __self__._internal_init(resource_name, *args, **kwargs)
385
437
 
386
438
  def _internal_init(__self__,