pulumi-aws 7.11.1__py3-none-any.whl → 7.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. pulumi_aws/__init__.py +57 -0
  2. pulumi_aws/acm/certificate.py +20 -20
  3. pulumi_aws/acmpca/certificate.py +8 -8
  4. pulumi_aws/apigateway/account.py +0 -4
  5. pulumi_aws/appflow/_inputs.py +33 -0
  6. pulumi_aws/appflow/outputs.py +22 -0
  7. pulumi_aws/appsync/graph_ql_api.py +84 -0
  8. pulumi_aws/bedrock/_inputs.py +97 -21
  9. pulumi_aws/bedrock/agent_agent_alias.py +94 -0
  10. pulumi_aws/bedrock/agentcore_agent_runtime.py +4 -4
  11. pulumi_aws/bedrock/agentcore_browser.py +42 -0
  12. pulumi_aws/bedrock/agentcore_gateway_target.py +217 -7
  13. pulumi_aws/bedrock/agentcore_memory.py +37 -9
  14. pulumi_aws/bedrock/agentcore_oauth2_credential_provider.py +38 -0
  15. pulumi_aws/bedrock/outputs.py +64 -17
  16. pulumi_aws/cloudfront/_inputs.py +15 -14
  17. pulumi_aws/cloudfront/distribution.py +28 -0
  18. pulumi_aws/cloudfront/outputs.py +10 -9
  19. pulumi_aws/cloudhsmv2/cluster.py +64 -0
  20. pulumi_aws/cloudwatch/_inputs.py +9 -8
  21. pulumi_aws/cloudwatch/contributor_managed_insight_rule.py +20 -0
  22. pulumi_aws/cloudwatch/log_delivery_destination.py +53 -12
  23. pulumi_aws/cloudwatch/outputs.py +6 -5
  24. pulumi_aws/codebuild/webhook.py +16 -16
  25. pulumi_aws/codepipeline/webhook.py +16 -16
  26. pulumi_aws/connect/_inputs.py +50 -4
  27. pulumi_aws/connect/outputs.py +95 -4
  28. pulumi_aws/connect/routing_profile.py +42 -18
  29. pulumi_aws/datasync/location_fsx_ontap_file_system.py +34 -0
  30. pulumi_aws/datazone/project.py +24 -0
  31. pulumi_aws/detective/organization_configuration.py +20 -0
  32. pulumi_aws/dms/_inputs.py +3 -3
  33. pulumi_aws/dms/outputs.py +2 -2
  34. pulumi_aws/ec2/__init__.py +1 -0
  35. pulumi_aws/ec2/_inputs.py +182 -0
  36. pulumi_aws/ec2/allowed_images_settings.py +338 -0
  37. pulumi_aws/ec2/get_coip_pools.py +24 -0
  38. pulumi_aws/ec2/image_block_public_access.py +48 -1
  39. pulumi_aws/ec2/outputs.py +167 -0
  40. pulumi_aws/ec2/security_group.py +6 -6
  41. pulumi_aws/ec2/serial_console_access.py +50 -3
  42. pulumi_aws/ec2/vpc_endpoint.py +92 -0
  43. pulumi_aws/ec2clientvpn/authorization_rule.py +7 -7
  44. pulumi_aws/ec2clientvpn/route.py +7 -7
  45. pulumi_aws/ec2transitgateway/instance_connect_endpoint.py +47 -0
  46. pulumi_aws/ecrpublic/get_images.py +24 -0
  47. pulumi_aws/ecs/_inputs.py +172 -33
  48. pulumi_aws/ecs/get_service.py +318 -7
  49. pulumi_aws/ecs/outputs.py +957 -86
  50. pulumi_aws/ecs/service.py +76 -0
  51. pulumi_aws/eks/_inputs.py +195 -5
  52. pulumi_aws/eks/outputs.py +164 -4
  53. pulumi_aws/elasticache/_inputs.py +154 -0
  54. pulumi_aws/elasticache/get_replication_group.py +23 -9
  55. pulumi_aws/elasticache/outputs.py +204 -0
  56. pulumi_aws/elasticache/replication_group.py +115 -0
  57. pulumi_aws/elasticache/reserved_cache_node.py +28 -0
  58. pulumi_aws/finspace/kx_cluster.py +76 -0
  59. pulumi_aws/fis/__init__.py +1 -0
  60. pulumi_aws/fis/target_account_configuration.py +401 -0
  61. pulumi_aws/glue/job.py +7 -7
  62. pulumi_aws/guardduty/malware_protection_plan.py +50 -0
  63. pulumi_aws/guardduty/member_detector_feature.py +42 -0
  64. pulumi_aws/invoicing/__init__.py +11 -0
  65. pulumi_aws/invoicing/_inputs.py +128 -0
  66. pulumi_aws/invoicing/invoice_unit.py +620 -0
  67. pulumi_aws/invoicing/outputs.py +99 -0
  68. pulumi_aws/iot/ca_certificate.py +32 -32
  69. pulumi_aws/iot/get_registration_code.py +8 -8
  70. pulumi_aws/ivschat/logging_configuration.py +28 -0
  71. pulumi_aws/kinesis/get_stream.py +15 -1
  72. pulumi_aws/kinesis/stream.py +47 -0
  73. pulumi_aws/kms/key.py +7 -7
  74. pulumi_aws/licensemanager/license_grant.py +36 -0
  75. pulumi_aws/m2/environment.py +150 -0
  76. pulumi_aws/networkfirewall/tls_inspection_configuration.py +84 -0
  77. pulumi_aws/networkflowmonitor/__init__.py +12 -0
  78. pulumi_aws/networkflowmonitor/_inputs.py +412 -0
  79. pulumi_aws/networkflowmonitor/monitor.py +568 -0
  80. pulumi_aws/networkflowmonitor/outputs.py +302 -0
  81. pulumi_aws/networkflowmonitor/scope.py +443 -0
  82. pulumi_aws/observabilityadmin/__init__.py +11 -0
  83. pulumi_aws/observabilityadmin/_inputs.py +506 -0
  84. pulumi_aws/observabilityadmin/centralization_rule_for_organization.py +637 -0
  85. pulumi_aws/observabilityadmin/outputs.py +415 -0
  86. pulumi_aws/opensearch/_inputs.py +92 -133
  87. pulumi_aws/opensearch/authorize_vpc_endpoint_access.py +4 -4
  88. pulumi_aws/opensearch/domain.py +60 -0
  89. pulumi_aws/opensearch/get_domain.py +16 -9
  90. pulumi_aws/opensearch/outputs.py +131 -2
  91. pulumi_aws/organizations/get_policies.py +2 -2
  92. pulumi_aws/organizations/get_policies_for_target.py +2 -2
  93. pulumi_aws/organizations/get_policy.py +1 -1
  94. pulumi_aws/organizations/organization.py +7 -7
  95. pulumi_aws/organizations/policy.py +35 -7
  96. pulumi_aws/pulumi-plugin.json +1 -1
  97. pulumi_aws/quicksight/analysis.py +108 -0
  98. pulumi_aws/quicksight/dashboard.py +110 -0
  99. pulumi_aws/quicksight/template.py +126 -0
  100. pulumi_aws/redshift/cluster_snapshot.py +28 -0
  101. pulumi_aws/redshift/get_cluster.py +52 -0
  102. pulumi_aws/redshift/snapshot_copy_grant.py +22 -0
  103. pulumi_aws/route53/profiles_association.py +30 -0
  104. pulumi_aws/route53/profiles_resource_association.py +34 -0
  105. pulumi_aws/s3control/multi_region_access_point_policy.py +76 -0
  106. pulumi_aws/s3tables/table.py +76 -1
  107. pulumi_aws/s3tables/table_bucket.py +78 -3
  108. pulumi_aws/sagemaker/_inputs.py +225 -232
  109. pulumi_aws/sagemaker/endpoint_configuration.py +111 -64
  110. pulumi_aws/sagemaker/outputs.py +154 -158
  111. pulumi_aws/ssmincidents/get_response_plan.py +14 -0
  112. pulumi_aws/ssoadmin/account_assignment.py +4 -4
  113. pulumi_aws/transfer/profile.py +20 -0
  114. pulumi_aws/transfer/server.py +7 -0
  115. pulumi_aws/transfer/ssh_key.py +6 -6
  116. pulumi_aws/wafv2/rule_group.py +440 -0
  117. pulumi_aws/workspacesweb/session_logger_association.py +80 -0
  118. pulumi_aws/workspacesweb/trust_store_association.py +24 -0
  119. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/METADATA +1 -1
  120. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/RECORD +122 -107
  121. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/WHEEL +0 -0
  122. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,8 @@ __all__ = [
25
25
  'ParameterGroupParameterArgsDict',
26
26
  'ReplicationGroupLogDeliveryConfigurationArgs',
27
27
  'ReplicationGroupLogDeliveryConfigurationArgsDict',
28
+ 'ReplicationGroupNodeGroupConfigurationArgs',
29
+ 'ReplicationGroupNodeGroupConfigurationArgsDict',
28
30
  'ReservedCacheNodeRecurringChargeArgs',
29
31
  'ReservedCacheNodeRecurringChargeArgsDict',
30
32
  'ReservedCacheNodeTimeoutsArgs',
@@ -418,6 +420,158 @@ class ReplicationGroupLogDeliveryConfigurationArgs:
418
420
  pulumi.set(self, "log_type", value)
419
421
 
420
422
 
423
+ if not MYPY:
424
+ class ReplicationGroupNodeGroupConfigurationArgsDict(TypedDict):
425
+ node_group_id: NotRequired[pulumi.Input[_builtins.str]]
426
+ """
427
+ ID for the node group. Redis (cluster mode disabled) replication groups don't have node group IDs, so this value is ignored. For Redis (cluster mode enabled) replication groups, the node group ID is a 1 to 4 character alphanumeric string.
428
+ """
429
+ primary_availability_zone: NotRequired[pulumi.Input[_builtins.str]]
430
+ """
431
+ Availability zone for the primary node.
432
+ """
433
+ primary_outpost_arn: NotRequired[pulumi.Input[_builtins.str]]
434
+ """
435
+ ARN of the Outpost for the primary node.
436
+ """
437
+ replica_availability_zones: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
438
+ """
439
+ List of availability zones for the replica nodes.
440
+ """
441
+ replica_count: NotRequired[pulumi.Input[_builtins.int]]
442
+ """
443
+ Number of replica nodes in this node group.
444
+ """
445
+ replica_outpost_arns: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
446
+ """
447
+ List of ARNs of the Outposts for the replica nodes.
448
+ """
449
+ slots: NotRequired[pulumi.Input[_builtins.str]]
450
+ """
451
+ Keyspace for this node group. Format is `start-end` (e.g., `0-5460`). For Redis (cluster mode disabled) replication groups, this value is ignored.
452
+ """
453
+ elif False:
454
+ ReplicationGroupNodeGroupConfigurationArgsDict: TypeAlias = Mapping[str, Any]
455
+
456
+ @pulumi.input_type
457
+ class ReplicationGroupNodeGroupConfigurationArgs:
458
+ def __init__(__self__, *,
459
+ node_group_id: Optional[pulumi.Input[_builtins.str]] = None,
460
+ primary_availability_zone: Optional[pulumi.Input[_builtins.str]] = None,
461
+ primary_outpost_arn: Optional[pulumi.Input[_builtins.str]] = None,
462
+ replica_availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
463
+ replica_count: Optional[pulumi.Input[_builtins.int]] = None,
464
+ replica_outpost_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
465
+ slots: Optional[pulumi.Input[_builtins.str]] = None):
466
+ """
467
+ :param pulumi.Input[_builtins.str] node_group_id: ID for the node group. Redis (cluster mode disabled) replication groups don't have node group IDs, so this value is ignored. For Redis (cluster mode enabled) replication groups, the node group ID is a 1 to 4 character alphanumeric string.
468
+ :param pulumi.Input[_builtins.str] primary_availability_zone: Availability zone for the primary node.
469
+ :param pulumi.Input[_builtins.str] primary_outpost_arn: ARN of the Outpost for the primary node.
470
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] replica_availability_zones: List of availability zones for the replica nodes.
471
+ :param pulumi.Input[_builtins.int] replica_count: Number of replica nodes in this node group.
472
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] replica_outpost_arns: List of ARNs of the Outposts for the replica nodes.
473
+ :param pulumi.Input[_builtins.str] slots: Keyspace for this node group. Format is `start-end` (e.g., `0-5460`). For Redis (cluster mode disabled) replication groups, this value is ignored.
474
+ """
475
+ if node_group_id is not None:
476
+ pulumi.set(__self__, "node_group_id", node_group_id)
477
+ if primary_availability_zone is not None:
478
+ pulumi.set(__self__, "primary_availability_zone", primary_availability_zone)
479
+ if primary_outpost_arn is not None:
480
+ pulumi.set(__self__, "primary_outpost_arn", primary_outpost_arn)
481
+ if replica_availability_zones is not None:
482
+ pulumi.set(__self__, "replica_availability_zones", replica_availability_zones)
483
+ if replica_count is not None:
484
+ pulumi.set(__self__, "replica_count", replica_count)
485
+ if replica_outpost_arns is not None:
486
+ pulumi.set(__self__, "replica_outpost_arns", replica_outpost_arns)
487
+ if slots is not None:
488
+ pulumi.set(__self__, "slots", slots)
489
+
490
+ @_builtins.property
491
+ @pulumi.getter(name="nodeGroupId")
492
+ def node_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
493
+ """
494
+ ID for the node group. Redis (cluster mode disabled) replication groups don't have node group IDs, so this value is ignored. For Redis (cluster mode enabled) replication groups, the node group ID is a 1 to 4 character alphanumeric string.
495
+ """
496
+ return pulumi.get(self, "node_group_id")
497
+
498
+ @node_group_id.setter
499
+ def node_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
500
+ pulumi.set(self, "node_group_id", value)
501
+
502
+ @_builtins.property
503
+ @pulumi.getter(name="primaryAvailabilityZone")
504
+ def primary_availability_zone(self) -> Optional[pulumi.Input[_builtins.str]]:
505
+ """
506
+ Availability zone for the primary node.
507
+ """
508
+ return pulumi.get(self, "primary_availability_zone")
509
+
510
+ @primary_availability_zone.setter
511
+ def primary_availability_zone(self, value: Optional[pulumi.Input[_builtins.str]]):
512
+ pulumi.set(self, "primary_availability_zone", value)
513
+
514
+ @_builtins.property
515
+ @pulumi.getter(name="primaryOutpostArn")
516
+ def primary_outpost_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
517
+ """
518
+ ARN of the Outpost for the primary node.
519
+ """
520
+ return pulumi.get(self, "primary_outpost_arn")
521
+
522
+ @primary_outpost_arn.setter
523
+ def primary_outpost_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
524
+ pulumi.set(self, "primary_outpost_arn", value)
525
+
526
+ @_builtins.property
527
+ @pulumi.getter(name="replicaAvailabilityZones")
528
+ def replica_availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
529
+ """
530
+ List of availability zones for the replica nodes.
531
+ """
532
+ return pulumi.get(self, "replica_availability_zones")
533
+
534
+ @replica_availability_zones.setter
535
+ def replica_availability_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
536
+ pulumi.set(self, "replica_availability_zones", value)
537
+
538
+ @_builtins.property
539
+ @pulumi.getter(name="replicaCount")
540
+ def replica_count(self) -> Optional[pulumi.Input[_builtins.int]]:
541
+ """
542
+ Number of replica nodes in this node group.
543
+ """
544
+ return pulumi.get(self, "replica_count")
545
+
546
+ @replica_count.setter
547
+ def replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
548
+ pulumi.set(self, "replica_count", value)
549
+
550
+ @_builtins.property
551
+ @pulumi.getter(name="replicaOutpostArns")
552
+ def replica_outpost_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
553
+ """
554
+ List of ARNs of the Outposts for the replica nodes.
555
+ """
556
+ return pulumi.get(self, "replica_outpost_arns")
557
+
558
+ @replica_outpost_arns.setter
559
+ def replica_outpost_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
560
+ pulumi.set(self, "replica_outpost_arns", value)
561
+
562
+ @_builtins.property
563
+ @pulumi.getter
564
+ def slots(self) -> Optional[pulumi.Input[_builtins.str]]:
565
+ """
566
+ Keyspace for this node group. Format is `start-end` (e.g., `0-5460`). For Redis (cluster mode disabled) replication groups, this value is ignored.
567
+ """
568
+ return pulumi.get(self, "slots")
569
+
570
+ @slots.setter
571
+ def slots(self, value: Optional[pulumi.Input[_builtins.str]]):
572
+ pulumi.set(self, "slots", value)
573
+
574
+
421
575
  if not MYPY:
422
576
  class ReservedCacheNodeRecurringChargeArgsDict(TypedDict):
423
577
  recurring_charge_amount: pulumi.Input[_builtins.float]
@@ -27,7 +27,7 @@ class GetReplicationGroupResult:
27
27
  """
28
28
  A collection of values returned by getReplicationGroup.
29
29
  """
30
- def __init__(__self__, arn=None, auth_token_enabled=None, automatic_failover_enabled=None, cluster_mode=None, configuration_endpoint_address=None, description=None, id=None, log_delivery_configurations=None, member_clusters=None, multi_az_enabled=None, node_type=None, num_cache_clusters=None, num_node_groups=None, port=None, primary_endpoint_address=None, reader_endpoint_address=None, region=None, replicas_per_node_group=None, replication_group_id=None, snapshot_retention_limit=None, snapshot_window=None):
30
+ def __init__(__self__, arn=None, auth_token_enabled=None, automatic_failover_enabled=None, cluster_mode=None, configuration_endpoint_address=None, description=None, id=None, log_delivery_configurations=None, member_clusters=None, multi_az_enabled=None, node_group_configurations=None, node_type=None, num_cache_clusters=None, num_node_groups=None, port=None, primary_endpoint_address=None, reader_endpoint_address=None, region=None, replicas_per_node_group=None, replication_group_id=None, snapshot_retention_limit=None, snapshot_window=None):
31
31
  if arn and not isinstance(arn, str):
32
32
  raise TypeError("Expected argument 'arn' to be a str")
33
33
  pulumi.set(__self__, "arn", arn)
@@ -58,6 +58,9 @@ class GetReplicationGroupResult:
58
58
  if multi_az_enabled and not isinstance(multi_az_enabled, bool):
59
59
  raise TypeError("Expected argument 'multi_az_enabled' to be a bool")
60
60
  pulumi.set(__self__, "multi_az_enabled", multi_az_enabled)
61
+ if node_group_configurations and not isinstance(node_group_configurations, list):
62
+ raise TypeError("Expected argument 'node_group_configurations' to be a list")
63
+ pulumi.set(__self__, "node_group_configurations", node_group_configurations)
61
64
  if node_type and not isinstance(node_type, str):
62
65
  raise TypeError("Expected argument 'node_type' to be a str")
63
66
  pulumi.set(__self__, "node_type", node_type)
@@ -112,7 +115,7 @@ class GetReplicationGroupResult:
112
115
  @pulumi.getter(name="automaticFailoverEnabled")
113
116
  def automatic_failover_enabled(self) -> _builtins.bool:
114
117
  """
115
- A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
118
+ Whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
116
119
  """
117
120
  return pulumi.get(self, "automatic_failover_enabled")
118
121
 
@@ -128,7 +131,7 @@ class GetReplicationGroupResult:
128
131
  @pulumi.getter(name="configurationEndpointAddress")
129
132
  def configuration_endpoint_address(self) -> _builtins.str:
130
133
  """
131
- The configuration endpoint address to allow host discovery.
134
+ Configuration endpoint address to allow host discovery.
132
135
  """
133
136
  return pulumi.get(self, "configuration_endpoint_address")
134
137
 
@@ -172,11 +175,19 @@ class GetReplicationGroupResult:
172
175
  """
173
176
  return pulumi.get(self, "multi_az_enabled")
174
177
 
178
+ @_builtins.property
179
+ @pulumi.getter(name="nodeGroupConfigurations")
180
+ def node_group_configurations(self) -> Sequence['outputs.GetReplicationGroupNodeGroupConfigurationResult']:
181
+ """
182
+ Configuration of the node groups (shards). See below.
183
+ """
184
+ return pulumi.get(self, "node_group_configurations")
185
+
175
186
  @_builtins.property
176
187
  @pulumi.getter(name="nodeType")
177
188
  def node_type(self) -> _builtins.str:
178
189
  """
179
- The cluster node type.
190
+ Cluster node type.
180
191
  """
181
192
  return pulumi.get(self, "node_type")
182
193
 
@@ -184,7 +195,7 @@ class GetReplicationGroupResult:
184
195
  @pulumi.getter(name="numCacheClusters")
185
196
  def num_cache_clusters(self) -> _builtins.int:
186
197
  """
187
- The number of cache clusters that the replication group has.
198
+ Number of cache clusters that the replication group has.
188
199
  """
189
200
  return pulumi.get(self, "num_cache_clusters")
190
201
 
@@ -200,7 +211,7 @@ class GetReplicationGroupResult:
200
211
  @pulumi.getter
201
212
  def port(self) -> _builtins.int:
202
213
  """
203
- The port number on which the configuration endpoint will accept connections.
214
+ Port number on which the configuration endpoint will accept connections.
204
215
  """
205
216
  return pulumi.get(self, "port")
206
217
 
@@ -208,7 +219,7 @@ class GetReplicationGroupResult:
208
219
  @pulumi.getter(name="primaryEndpointAddress")
209
220
  def primary_endpoint_address(self) -> _builtins.str:
210
221
  """
211
- The endpoint of the primary node in this node group (shard).
222
+ Endpoint of the primary node in this node group (shard).
212
223
  """
213
224
  return pulumi.get(self, "primary_endpoint_address")
214
225
 
@@ -216,7 +227,7 @@ class GetReplicationGroupResult:
216
227
  @pulumi.getter(name="readerEndpointAddress")
217
228
  def reader_endpoint_address(self) -> _builtins.str:
218
229
  """
219
- The endpoint of the reader node in this node group (shard).
230
+ Endpoint of the reader node in this node group (shard).
220
231
  """
221
232
  return pulumi.get(self, "reader_endpoint_address")
222
233
 
@@ -242,7 +253,7 @@ class GetReplicationGroupResult:
242
253
  @pulumi.getter(name="snapshotRetentionLimit")
243
254
  def snapshot_retention_limit(self) -> _builtins.int:
244
255
  """
245
- The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
256
+ Number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
246
257
  """
247
258
  return pulumi.get(self, "snapshot_retention_limit")
248
259
 
@@ -271,6 +282,7 @@ class AwaitableGetReplicationGroupResult(GetReplicationGroupResult):
271
282
  log_delivery_configurations=self.log_delivery_configurations,
272
283
  member_clusters=self.member_clusters,
273
284
  multi_az_enabled=self.multi_az_enabled,
285
+ node_group_configurations=self.node_group_configurations,
274
286
  node_type=self.node_type,
275
287
  num_cache_clusters=self.num_cache_clusters,
276
288
  num_node_groups=self.num_node_groups,
@@ -320,6 +332,7 @@ def get_replication_group(region: Optional[_builtins.str] = None,
320
332
  log_delivery_configurations=pulumi.get(__ret__, 'log_delivery_configurations'),
321
333
  member_clusters=pulumi.get(__ret__, 'member_clusters'),
322
334
  multi_az_enabled=pulumi.get(__ret__, 'multi_az_enabled'),
335
+ node_group_configurations=pulumi.get(__ret__, 'node_group_configurations'),
323
336
  node_type=pulumi.get(__ret__, 'node_type'),
324
337
  num_cache_clusters=pulumi.get(__ret__, 'num_cache_clusters'),
325
338
  num_node_groups=pulumi.get(__ret__, 'num_node_groups'),
@@ -366,6 +379,7 @@ def get_replication_group_output(region: Optional[pulumi.Input[Optional[_builtin
366
379
  log_delivery_configurations=pulumi.get(__response__, 'log_delivery_configurations'),
367
380
  member_clusters=pulumi.get(__response__, 'member_clusters'),
368
381
  multi_az_enabled=pulumi.get(__response__, 'multi_az_enabled'),
382
+ node_group_configurations=pulumi.get(__response__, 'node_group_configurations'),
369
383
  node_type=pulumi.get(__response__, 'node_type'),
370
384
  num_cache_clusters=pulumi.get(__response__, 'num_cache_clusters'),
371
385
  num_node_groups=pulumi.get(__response__, 'num_node_groups'),
@@ -21,6 +21,7 @@ __all__ = [
21
21
  'GlobalReplicationGroupGlobalNodeGroup',
22
22
  'ParameterGroupParameter',
23
23
  'ReplicationGroupLogDeliveryConfiguration',
24
+ 'ReplicationGroupNodeGroupConfiguration',
24
25
  'ReservedCacheNodeRecurringCharge',
25
26
  'ReservedCacheNodeTimeouts',
26
27
  'ServerlessCacheCacheUsageLimits',
@@ -33,6 +34,7 @@ __all__ = [
33
34
  'GetClusterCacheNodeResult',
34
35
  'GetClusterLogDeliveryConfigurationResult',
35
36
  'GetReplicationGroupLogDeliveryConfigurationResult',
37
+ 'GetReplicationGroupNodeGroupConfigurationResult',
36
38
  'GetServerlessCacheCacheUsageLimitsResult',
37
39
  'GetServerlessCacheCacheUsageLimitsDataStorageResult',
38
40
  'GetServerlessCacheCacheUsageLimitsEcpuPerSecondResult',
@@ -336,6 +338,124 @@ class ReplicationGroupLogDeliveryConfiguration(dict):
336
338
  return pulumi.get(self, "log_type")
337
339
 
338
340
 
341
+ @pulumi.output_type
342
+ class ReplicationGroupNodeGroupConfiguration(dict):
343
+ @staticmethod
344
+ def __key_warning(key: str):
345
+ suggest = None
346
+ if key == "nodeGroupId":
347
+ suggest = "node_group_id"
348
+ elif key == "primaryAvailabilityZone":
349
+ suggest = "primary_availability_zone"
350
+ elif key == "primaryOutpostArn":
351
+ suggest = "primary_outpost_arn"
352
+ elif key == "replicaAvailabilityZones":
353
+ suggest = "replica_availability_zones"
354
+ elif key == "replicaCount":
355
+ suggest = "replica_count"
356
+ elif key == "replicaOutpostArns":
357
+ suggest = "replica_outpost_arns"
358
+
359
+ if suggest:
360
+ pulumi.log.warn(f"Key '{key}' not found in ReplicationGroupNodeGroupConfiguration. Access the value via the '{suggest}' property getter instead.")
361
+
362
+ def __getitem__(self, key: str) -> Any:
363
+ ReplicationGroupNodeGroupConfiguration.__key_warning(key)
364
+ return super().__getitem__(key)
365
+
366
+ def get(self, key: str, default = None) -> Any:
367
+ ReplicationGroupNodeGroupConfiguration.__key_warning(key)
368
+ return super().get(key, default)
369
+
370
+ def __init__(__self__, *,
371
+ node_group_id: Optional[_builtins.str] = None,
372
+ primary_availability_zone: Optional[_builtins.str] = None,
373
+ primary_outpost_arn: Optional[_builtins.str] = None,
374
+ replica_availability_zones: Optional[Sequence[_builtins.str]] = None,
375
+ replica_count: Optional[_builtins.int] = None,
376
+ replica_outpost_arns: Optional[Sequence[_builtins.str]] = None,
377
+ slots: Optional[_builtins.str] = None):
378
+ """
379
+ :param _builtins.str node_group_id: ID for the node group. Redis (cluster mode disabled) replication groups don't have node group IDs, so this value is ignored. For Redis (cluster mode enabled) replication groups, the node group ID is a 1 to 4 character alphanumeric string.
380
+ :param _builtins.str primary_availability_zone: Availability zone for the primary node.
381
+ :param _builtins.str primary_outpost_arn: ARN of the Outpost for the primary node.
382
+ :param Sequence[_builtins.str] replica_availability_zones: List of availability zones for the replica nodes.
383
+ :param _builtins.int replica_count: Number of replica nodes in this node group.
384
+ :param Sequence[_builtins.str] replica_outpost_arns: List of ARNs of the Outposts for the replica nodes.
385
+ :param _builtins.str slots: Keyspace for this node group. Format is `start-end` (e.g., `0-5460`). For Redis (cluster mode disabled) replication groups, this value is ignored.
386
+ """
387
+ if node_group_id is not None:
388
+ pulumi.set(__self__, "node_group_id", node_group_id)
389
+ if primary_availability_zone is not None:
390
+ pulumi.set(__self__, "primary_availability_zone", primary_availability_zone)
391
+ if primary_outpost_arn is not None:
392
+ pulumi.set(__self__, "primary_outpost_arn", primary_outpost_arn)
393
+ if replica_availability_zones is not None:
394
+ pulumi.set(__self__, "replica_availability_zones", replica_availability_zones)
395
+ if replica_count is not None:
396
+ pulumi.set(__self__, "replica_count", replica_count)
397
+ if replica_outpost_arns is not None:
398
+ pulumi.set(__self__, "replica_outpost_arns", replica_outpost_arns)
399
+ if slots is not None:
400
+ pulumi.set(__self__, "slots", slots)
401
+
402
+ @_builtins.property
403
+ @pulumi.getter(name="nodeGroupId")
404
+ def node_group_id(self) -> Optional[_builtins.str]:
405
+ """
406
+ ID for the node group. Redis (cluster mode disabled) replication groups don't have node group IDs, so this value is ignored. For Redis (cluster mode enabled) replication groups, the node group ID is a 1 to 4 character alphanumeric string.
407
+ """
408
+ return pulumi.get(self, "node_group_id")
409
+
410
+ @_builtins.property
411
+ @pulumi.getter(name="primaryAvailabilityZone")
412
+ def primary_availability_zone(self) -> Optional[_builtins.str]:
413
+ """
414
+ Availability zone for the primary node.
415
+ """
416
+ return pulumi.get(self, "primary_availability_zone")
417
+
418
+ @_builtins.property
419
+ @pulumi.getter(name="primaryOutpostArn")
420
+ def primary_outpost_arn(self) -> Optional[_builtins.str]:
421
+ """
422
+ ARN of the Outpost for the primary node.
423
+ """
424
+ return pulumi.get(self, "primary_outpost_arn")
425
+
426
+ @_builtins.property
427
+ @pulumi.getter(name="replicaAvailabilityZones")
428
+ def replica_availability_zones(self) -> Optional[Sequence[_builtins.str]]:
429
+ """
430
+ List of availability zones for the replica nodes.
431
+ """
432
+ return pulumi.get(self, "replica_availability_zones")
433
+
434
+ @_builtins.property
435
+ @pulumi.getter(name="replicaCount")
436
+ def replica_count(self) -> Optional[_builtins.int]:
437
+ """
438
+ Number of replica nodes in this node group.
439
+ """
440
+ return pulumi.get(self, "replica_count")
441
+
442
+ @_builtins.property
443
+ @pulumi.getter(name="replicaOutpostArns")
444
+ def replica_outpost_arns(self) -> Optional[Sequence[_builtins.str]]:
445
+ """
446
+ List of ARNs of the Outposts for the replica nodes.
447
+ """
448
+ return pulumi.get(self, "replica_outpost_arns")
449
+
450
+ @_builtins.property
451
+ @pulumi.getter
452
+ def slots(self) -> Optional[_builtins.str]:
453
+ """
454
+ Keyspace for this node group. Format is `start-end` (e.g., `0-5460`). For Redis (cluster mode disabled) replication groups, this value is ignored.
455
+ """
456
+ return pulumi.get(self, "slots")
457
+
458
+
339
459
  @pulumi.output_type
340
460
  class ReservedCacheNodeRecurringCharge(dict):
341
461
  @staticmethod
@@ -814,6 +934,90 @@ class GetReplicationGroupLogDeliveryConfigurationResult(dict):
814
934
  return pulumi.get(self, "log_type")
815
935
 
816
936
 
937
+ @pulumi.output_type
938
+ class GetReplicationGroupNodeGroupConfigurationResult(dict):
939
+ def __init__(__self__, *,
940
+ node_group_id: _builtins.str,
941
+ primary_availability_zone: _builtins.str,
942
+ primary_outpost_arn: _builtins.str,
943
+ replica_availability_zones: Sequence[_builtins.str],
944
+ replica_count: _builtins.int,
945
+ replica_outpost_arns: Sequence[_builtins.str],
946
+ slots: _builtins.str):
947
+ """
948
+ :param _builtins.str node_group_id: ID of the node group.
949
+ :param _builtins.str primary_availability_zone: Availability Zone for the primary node.
950
+ :param _builtins.str primary_outpost_arn: Outpost ARN of the primary node.
951
+ :param Sequence[_builtins.str] replica_availability_zones: List of Availability Zones for the replica nodes.
952
+ :param _builtins.int replica_count: Number of replica nodes in this node group.
953
+ :param Sequence[_builtins.str] replica_outpost_arns: List of outpost ARNs for the replica nodes.
954
+ :param _builtins.str slots: Keyspace for this node group (shard).
955
+ """
956
+ pulumi.set(__self__, "node_group_id", node_group_id)
957
+ pulumi.set(__self__, "primary_availability_zone", primary_availability_zone)
958
+ pulumi.set(__self__, "primary_outpost_arn", primary_outpost_arn)
959
+ pulumi.set(__self__, "replica_availability_zones", replica_availability_zones)
960
+ pulumi.set(__self__, "replica_count", replica_count)
961
+ pulumi.set(__self__, "replica_outpost_arns", replica_outpost_arns)
962
+ pulumi.set(__self__, "slots", slots)
963
+
964
+ @_builtins.property
965
+ @pulumi.getter(name="nodeGroupId")
966
+ def node_group_id(self) -> _builtins.str:
967
+ """
968
+ ID of the node group.
969
+ """
970
+ return pulumi.get(self, "node_group_id")
971
+
972
+ @_builtins.property
973
+ @pulumi.getter(name="primaryAvailabilityZone")
974
+ def primary_availability_zone(self) -> _builtins.str:
975
+ """
976
+ Availability Zone for the primary node.
977
+ """
978
+ return pulumi.get(self, "primary_availability_zone")
979
+
980
+ @_builtins.property
981
+ @pulumi.getter(name="primaryOutpostArn")
982
+ def primary_outpost_arn(self) -> _builtins.str:
983
+ """
984
+ Outpost ARN of the primary node.
985
+ """
986
+ return pulumi.get(self, "primary_outpost_arn")
987
+
988
+ @_builtins.property
989
+ @pulumi.getter(name="replicaAvailabilityZones")
990
+ def replica_availability_zones(self) -> Sequence[_builtins.str]:
991
+ """
992
+ List of Availability Zones for the replica nodes.
993
+ """
994
+ return pulumi.get(self, "replica_availability_zones")
995
+
996
+ @_builtins.property
997
+ @pulumi.getter(name="replicaCount")
998
+ def replica_count(self) -> _builtins.int:
999
+ """
1000
+ Number of replica nodes in this node group.
1001
+ """
1002
+ return pulumi.get(self, "replica_count")
1003
+
1004
+ @_builtins.property
1005
+ @pulumi.getter(name="replicaOutpostArns")
1006
+ def replica_outpost_arns(self) -> Sequence[_builtins.str]:
1007
+ """
1008
+ List of outpost ARNs for the replica nodes.
1009
+ """
1010
+ return pulumi.get(self, "replica_outpost_arns")
1011
+
1012
+ @_builtins.property
1013
+ @pulumi.getter
1014
+ def slots(self) -> _builtins.str:
1015
+ """
1016
+ Keyspace for this node group (shard).
1017
+ """
1018
+ return pulumi.get(self, "slots")
1019
+
1020
+
817
1021
  @pulumi.output_type
818
1022
  class GetServerlessCacheCacheUsageLimitsResult(dict):
819
1023
  def __init__(__self__, *,