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
pulumi_aws/ecs/service.py CHANGED
@@ -1345,6 +1345,44 @@ class Service(pulumi.CustomResource):
1345
1345
  wait_for_steady_state=True)
1346
1346
  ```
1347
1347
 
1348
+ ### Linear Deployment Strategy
1349
+
1350
+ ```python
1351
+ import pulumi
1352
+ import pulumi_aws as aws
1353
+
1354
+ example = aws.ecs.Service("example",
1355
+ name="example",
1356
+ cluster=example_aws_ecs_cluster["id"],
1357
+ deployment_configuration={
1358
+ "strategy": "LINEAR",
1359
+ "bake_time_in_minutes": "10",
1360
+ "linear_configuration": {
1361
+ "step_percent": 25,
1362
+ "step_bake_time_in_minutes": "5",
1363
+ },
1364
+ })
1365
+ ```
1366
+
1367
+ ### Canary Deployment Strategy
1368
+
1369
+ ```python
1370
+ import pulumi
1371
+ import pulumi_aws as aws
1372
+
1373
+ example = aws.ecs.Service("example",
1374
+ name="example",
1375
+ cluster=example_aws_ecs_cluster["id"],
1376
+ deployment_configuration={
1377
+ "strategy": "CANARY",
1378
+ "bake_time_in_minutes": "15",
1379
+ "canary_configuration": {
1380
+ "canary_percent": 10,
1381
+ "canary_bake_time_in_minutes": "5",
1382
+ },
1383
+ })
1384
+ ```
1385
+
1348
1386
  ### Redeploy Service On Every Apply
1349
1387
 
1350
1388
  The key used with `triggers` is arbitrary.
@@ -1520,6 +1558,44 @@ class Service(pulumi.CustomResource):
1520
1558
  wait_for_steady_state=True)
1521
1559
  ```
1522
1560
 
1561
+ ### Linear Deployment Strategy
1562
+
1563
+ ```python
1564
+ import pulumi
1565
+ import pulumi_aws as aws
1566
+
1567
+ example = aws.ecs.Service("example",
1568
+ name="example",
1569
+ cluster=example_aws_ecs_cluster["id"],
1570
+ deployment_configuration={
1571
+ "strategy": "LINEAR",
1572
+ "bake_time_in_minutes": "10",
1573
+ "linear_configuration": {
1574
+ "step_percent": 25,
1575
+ "step_bake_time_in_minutes": "5",
1576
+ },
1577
+ })
1578
+ ```
1579
+
1580
+ ### Canary Deployment Strategy
1581
+
1582
+ ```python
1583
+ import pulumi
1584
+ import pulumi_aws as aws
1585
+
1586
+ example = aws.ecs.Service("example",
1587
+ name="example",
1588
+ cluster=example_aws_ecs_cluster["id"],
1589
+ deployment_configuration={
1590
+ "strategy": "CANARY",
1591
+ "bake_time_in_minutes": "15",
1592
+ "canary_configuration": {
1593
+ "canary_percent": 10,
1594
+ "canary_bake_time_in_minutes": "5",
1595
+ },
1596
+ })
1597
+ ```
1598
+
1523
1599
  ### Redeploy Service On Every Apply
1524
1600
 
1525
1601
  The key used with `triggers` is arbitrary.
pulumi_aws/eks/_inputs.py CHANGED
@@ -65,6 +65,8 @@ __all__ = [
65
65
  'NodeGroupLaunchTemplateArgsDict',
66
66
  'NodeGroupNodeRepairConfigArgs',
67
67
  'NodeGroupNodeRepairConfigArgsDict',
68
+ 'NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs',
69
+ 'NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgsDict',
68
70
  'NodeGroupRemoteAccessArgs',
69
71
  'NodeGroupRemoteAccessArgsDict',
70
72
  'NodeGroupResourceArgs',
@@ -1448,7 +1450,27 @@ if not MYPY:
1448
1450
  class NodeGroupNodeRepairConfigArgsDict(TypedDict):
1449
1451
  enabled: NotRequired[pulumi.Input[_builtins.bool]]
1450
1452
  """
1451
- Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.
1453
+ Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Defaults to `false`.
1454
+ """
1455
+ max_parallel_nodes_repaired_count: NotRequired[pulumi.Input[_builtins.int]]
1456
+ """
1457
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_percentage`.
1458
+ """
1459
+ max_parallel_nodes_repaired_percentage: NotRequired[pulumi.Input[_builtins.int]]
1460
+ """
1461
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_count`.
1462
+ """
1463
+ max_unhealthy_node_threshold_count: NotRequired[pulumi.Input[_builtins.int]]
1464
+ """
1465
+ Count threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_percentage`.
1466
+ """
1467
+ max_unhealthy_node_threshold_percentage: NotRequired[pulumi.Input[_builtins.int]]
1468
+ """
1469
+ Percentage threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_count`.
1470
+ """
1471
+ node_repair_config_overrides: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgsDict']]]]
1472
+ """
1473
+ Granular overrides for specific repair actions. See `node_repair_config_overrides` below for details.
1452
1474
  """
1453
1475
  elif False:
1454
1476
  NodeGroupNodeRepairConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -1456,18 +1478,38 @@ elif False:
1456
1478
  @pulumi.input_type
1457
1479
  class NodeGroupNodeRepairConfigArgs:
1458
1480
  def __init__(__self__, *,
1459
- enabled: Optional[pulumi.Input[_builtins.bool]] = None):
1460
- """
1461
- :param pulumi.Input[_builtins.bool] enabled: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.
1481
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1482
+ max_parallel_nodes_repaired_count: Optional[pulumi.Input[_builtins.int]] = None,
1483
+ max_parallel_nodes_repaired_percentage: Optional[pulumi.Input[_builtins.int]] = None,
1484
+ max_unhealthy_node_threshold_count: Optional[pulumi.Input[_builtins.int]] = None,
1485
+ max_unhealthy_node_threshold_percentage: Optional[pulumi.Input[_builtins.int]] = None,
1486
+ node_repair_config_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs']]]] = None):
1487
+ """
1488
+ :param pulumi.Input[_builtins.bool] enabled: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Defaults to `false`.
1489
+ :param pulumi.Input[_builtins.int] max_parallel_nodes_repaired_count: Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_percentage`.
1490
+ :param pulumi.Input[_builtins.int] max_parallel_nodes_repaired_percentage: Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_count`.
1491
+ :param pulumi.Input[_builtins.int] max_unhealthy_node_threshold_count: Count threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_percentage`.
1492
+ :param pulumi.Input[_builtins.int] max_unhealthy_node_threshold_percentage: Percentage threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_count`.
1493
+ :param pulumi.Input[Sequence[pulumi.Input['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs']]] node_repair_config_overrides: Granular overrides for specific repair actions. See `node_repair_config_overrides` below for details.
1462
1494
  """
1463
1495
  if enabled is not None:
1464
1496
  pulumi.set(__self__, "enabled", enabled)
1497
+ if max_parallel_nodes_repaired_count is not None:
1498
+ pulumi.set(__self__, "max_parallel_nodes_repaired_count", max_parallel_nodes_repaired_count)
1499
+ if max_parallel_nodes_repaired_percentage is not None:
1500
+ pulumi.set(__self__, "max_parallel_nodes_repaired_percentage", max_parallel_nodes_repaired_percentage)
1501
+ if max_unhealthy_node_threshold_count is not None:
1502
+ pulumi.set(__self__, "max_unhealthy_node_threshold_count", max_unhealthy_node_threshold_count)
1503
+ if max_unhealthy_node_threshold_percentage is not None:
1504
+ pulumi.set(__self__, "max_unhealthy_node_threshold_percentage", max_unhealthy_node_threshold_percentage)
1505
+ if node_repair_config_overrides is not None:
1506
+ pulumi.set(__self__, "node_repair_config_overrides", node_repair_config_overrides)
1465
1507
 
1466
1508
  @_builtins.property
1467
1509
  @pulumi.getter
1468
1510
  def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
1469
1511
  """
1470
- Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.
1512
+ Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Defaults to `false`.
1471
1513
  """
1472
1514
  return pulumi.get(self, "enabled")
1473
1515
 
@@ -1475,6 +1517,154 @@ class NodeGroupNodeRepairConfigArgs:
1475
1517
  def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
1476
1518
  pulumi.set(self, "enabled", value)
1477
1519
 
1520
+ @_builtins.property
1521
+ @pulumi.getter(name="maxParallelNodesRepairedCount")
1522
+ def max_parallel_nodes_repaired_count(self) -> Optional[pulumi.Input[_builtins.int]]:
1523
+ """
1524
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_percentage`.
1525
+ """
1526
+ return pulumi.get(self, "max_parallel_nodes_repaired_count")
1527
+
1528
+ @max_parallel_nodes_repaired_count.setter
1529
+ def max_parallel_nodes_repaired_count(self, value: Optional[pulumi.Input[_builtins.int]]):
1530
+ pulumi.set(self, "max_parallel_nodes_repaired_count", value)
1531
+
1532
+ @_builtins.property
1533
+ @pulumi.getter(name="maxParallelNodesRepairedPercentage")
1534
+ def max_parallel_nodes_repaired_percentage(self) -> Optional[pulumi.Input[_builtins.int]]:
1535
+ """
1536
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_count`.
1537
+ """
1538
+ return pulumi.get(self, "max_parallel_nodes_repaired_percentage")
1539
+
1540
+ @max_parallel_nodes_repaired_percentage.setter
1541
+ def max_parallel_nodes_repaired_percentage(self, value: Optional[pulumi.Input[_builtins.int]]):
1542
+ pulumi.set(self, "max_parallel_nodes_repaired_percentage", value)
1543
+
1544
+ @_builtins.property
1545
+ @pulumi.getter(name="maxUnhealthyNodeThresholdCount")
1546
+ def max_unhealthy_node_threshold_count(self) -> Optional[pulumi.Input[_builtins.int]]:
1547
+ """
1548
+ Count threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_percentage`.
1549
+ """
1550
+ return pulumi.get(self, "max_unhealthy_node_threshold_count")
1551
+
1552
+ @max_unhealthy_node_threshold_count.setter
1553
+ def max_unhealthy_node_threshold_count(self, value: Optional[pulumi.Input[_builtins.int]]):
1554
+ pulumi.set(self, "max_unhealthy_node_threshold_count", value)
1555
+
1556
+ @_builtins.property
1557
+ @pulumi.getter(name="maxUnhealthyNodeThresholdPercentage")
1558
+ def max_unhealthy_node_threshold_percentage(self) -> Optional[pulumi.Input[_builtins.int]]:
1559
+ """
1560
+ Percentage threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_count`.
1561
+ """
1562
+ return pulumi.get(self, "max_unhealthy_node_threshold_percentage")
1563
+
1564
+ @max_unhealthy_node_threshold_percentage.setter
1565
+ def max_unhealthy_node_threshold_percentage(self, value: Optional[pulumi.Input[_builtins.int]]):
1566
+ pulumi.set(self, "max_unhealthy_node_threshold_percentage", value)
1567
+
1568
+ @_builtins.property
1569
+ @pulumi.getter(name="nodeRepairConfigOverrides")
1570
+ def node_repair_config_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs']]]]:
1571
+ """
1572
+ Granular overrides for specific repair actions. See `node_repair_config_overrides` below for details.
1573
+ """
1574
+ return pulumi.get(self, "node_repair_config_overrides")
1575
+
1576
+ @node_repair_config_overrides.setter
1577
+ def node_repair_config_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs']]]]):
1578
+ pulumi.set(self, "node_repair_config_overrides", value)
1579
+
1580
+
1581
+ if not MYPY:
1582
+ class NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgsDict(TypedDict):
1583
+ min_repair_wait_time_mins: pulumi.Input[_builtins.int]
1584
+ """
1585
+ Minimum time in minutes to wait before attempting to repair a node with the specified `node_monitoring_condition` and `node_unhealthy_reason`.
1586
+ """
1587
+ node_monitoring_condition: pulumi.Input[_builtins.str]
1588
+ """
1589
+ Unhealthy condition reported by the node monitoring agent that this override applies to.
1590
+ """
1591
+ node_unhealthy_reason: pulumi.Input[_builtins.str]
1592
+ """
1593
+ Reason reported by the node monitoring agent that this override applies to.
1594
+ """
1595
+ repair_action: pulumi.Input[_builtins.str]
1596
+ """
1597
+ Repair action to take for nodes when all of the specified conditions are met. Valid values are defined by the EKS API.
1598
+ """
1599
+ elif False:
1600
+ NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgsDict: TypeAlias = Mapping[str, Any]
1601
+
1602
+ @pulumi.input_type
1603
+ class NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs:
1604
+ def __init__(__self__, *,
1605
+ min_repair_wait_time_mins: pulumi.Input[_builtins.int],
1606
+ node_monitoring_condition: pulumi.Input[_builtins.str],
1607
+ node_unhealthy_reason: pulumi.Input[_builtins.str],
1608
+ repair_action: pulumi.Input[_builtins.str]):
1609
+ """
1610
+ :param pulumi.Input[_builtins.int] min_repair_wait_time_mins: Minimum time in minutes to wait before attempting to repair a node with the specified `node_monitoring_condition` and `node_unhealthy_reason`.
1611
+ :param pulumi.Input[_builtins.str] node_monitoring_condition: Unhealthy condition reported by the node monitoring agent that this override applies to.
1612
+ :param pulumi.Input[_builtins.str] node_unhealthy_reason: Reason reported by the node monitoring agent that this override applies to.
1613
+ :param pulumi.Input[_builtins.str] repair_action: Repair action to take for nodes when all of the specified conditions are met. Valid values are defined by the EKS API.
1614
+ """
1615
+ pulumi.set(__self__, "min_repair_wait_time_mins", min_repair_wait_time_mins)
1616
+ pulumi.set(__self__, "node_monitoring_condition", node_monitoring_condition)
1617
+ pulumi.set(__self__, "node_unhealthy_reason", node_unhealthy_reason)
1618
+ pulumi.set(__self__, "repair_action", repair_action)
1619
+
1620
+ @_builtins.property
1621
+ @pulumi.getter(name="minRepairWaitTimeMins")
1622
+ def min_repair_wait_time_mins(self) -> pulumi.Input[_builtins.int]:
1623
+ """
1624
+ Minimum time in minutes to wait before attempting to repair a node with the specified `node_monitoring_condition` and `node_unhealthy_reason`.
1625
+ """
1626
+ return pulumi.get(self, "min_repair_wait_time_mins")
1627
+
1628
+ @min_repair_wait_time_mins.setter
1629
+ def min_repair_wait_time_mins(self, value: pulumi.Input[_builtins.int]):
1630
+ pulumi.set(self, "min_repair_wait_time_mins", value)
1631
+
1632
+ @_builtins.property
1633
+ @pulumi.getter(name="nodeMonitoringCondition")
1634
+ def node_monitoring_condition(self) -> pulumi.Input[_builtins.str]:
1635
+ """
1636
+ Unhealthy condition reported by the node monitoring agent that this override applies to.
1637
+ """
1638
+ return pulumi.get(self, "node_monitoring_condition")
1639
+
1640
+ @node_monitoring_condition.setter
1641
+ def node_monitoring_condition(self, value: pulumi.Input[_builtins.str]):
1642
+ pulumi.set(self, "node_monitoring_condition", value)
1643
+
1644
+ @_builtins.property
1645
+ @pulumi.getter(name="nodeUnhealthyReason")
1646
+ def node_unhealthy_reason(self) -> pulumi.Input[_builtins.str]:
1647
+ """
1648
+ Reason reported by the node monitoring agent that this override applies to.
1649
+ """
1650
+ return pulumi.get(self, "node_unhealthy_reason")
1651
+
1652
+ @node_unhealthy_reason.setter
1653
+ def node_unhealthy_reason(self, value: pulumi.Input[_builtins.str]):
1654
+ pulumi.set(self, "node_unhealthy_reason", value)
1655
+
1656
+ @_builtins.property
1657
+ @pulumi.getter(name="repairAction")
1658
+ def repair_action(self) -> pulumi.Input[_builtins.str]:
1659
+ """
1660
+ Repair action to take for nodes when all of the specified conditions are met. Valid values are defined by the EKS API.
1661
+ """
1662
+ return pulumi.get(self, "repair_action")
1663
+
1664
+ @repair_action.setter
1665
+ def repair_action(self, value: pulumi.Input[_builtins.str]):
1666
+ pulumi.set(self, "repair_action", value)
1667
+
1478
1668
 
1479
1669
  if not MYPY:
1480
1670
  class NodeGroupRemoteAccessArgsDict(TypedDict):
pulumi_aws/eks/outputs.py CHANGED
@@ -41,6 +41,7 @@ __all__ = [
41
41
  'IdentityProviderConfigOidc',
42
42
  'NodeGroupLaunchTemplate',
43
43
  'NodeGroupNodeRepairConfig',
44
+ 'NodeGroupNodeRepairConfigNodeRepairConfigOverride',
44
45
  'NodeGroupRemoteAccess',
45
46
  'NodeGroupResource',
46
47
  'NodeGroupResourceAutoscalingGroup',
@@ -1134,22 +1135,181 @@ class NodeGroupLaunchTemplate(dict):
1134
1135
 
1135
1136
  @pulumi.output_type
1136
1137
  class NodeGroupNodeRepairConfig(dict):
1138
+ @staticmethod
1139
+ def __key_warning(key: str):
1140
+ suggest = None
1141
+ if key == "maxParallelNodesRepairedCount":
1142
+ suggest = "max_parallel_nodes_repaired_count"
1143
+ elif key == "maxParallelNodesRepairedPercentage":
1144
+ suggest = "max_parallel_nodes_repaired_percentage"
1145
+ elif key == "maxUnhealthyNodeThresholdCount":
1146
+ suggest = "max_unhealthy_node_threshold_count"
1147
+ elif key == "maxUnhealthyNodeThresholdPercentage":
1148
+ suggest = "max_unhealthy_node_threshold_percentage"
1149
+ elif key == "nodeRepairConfigOverrides":
1150
+ suggest = "node_repair_config_overrides"
1151
+
1152
+ if suggest:
1153
+ pulumi.log.warn(f"Key '{key}' not found in NodeGroupNodeRepairConfig. Access the value via the '{suggest}' property getter instead.")
1154
+
1155
+ def __getitem__(self, key: str) -> Any:
1156
+ NodeGroupNodeRepairConfig.__key_warning(key)
1157
+ return super().__getitem__(key)
1158
+
1159
+ def get(self, key: str, default = None) -> Any:
1160
+ NodeGroupNodeRepairConfig.__key_warning(key)
1161
+ return super().get(key, default)
1162
+
1137
1163
  def __init__(__self__, *,
1138
- enabled: Optional[_builtins.bool] = None):
1139
- """
1140
- :param _builtins.bool enabled: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.
1164
+ enabled: Optional[_builtins.bool] = None,
1165
+ max_parallel_nodes_repaired_count: Optional[_builtins.int] = None,
1166
+ max_parallel_nodes_repaired_percentage: Optional[_builtins.int] = None,
1167
+ max_unhealthy_node_threshold_count: Optional[_builtins.int] = None,
1168
+ max_unhealthy_node_threshold_percentage: Optional[_builtins.int] = None,
1169
+ node_repair_config_overrides: Optional[Sequence['outputs.NodeGroupNodeRepairConfigNodeRepairConfigOverride']] = None):
1170
+ """
1171
+ :param _builtins.bool enabled: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Defaults to `false`.
1172
+ :param _builtins.int max_parallel_nodes_repaired_count: Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_percentage`.
1173
+ :param _builtins.int max_parallel_nodes_repaired_percentage: Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_count`.
1174
+ :param _builtins.int max_unhealthy_node_threshold_count: Count threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_percentage`.
1175
+ :param _builtins.int max_unhealthy_node_threshold_percentage: Percentage threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_count`.
1176
+ :param Sequence['NodeGroupNodeRepairConfigNodeRepairConfigOverrideArgs'] node_repair_config_overrides: Granular overrides for specific repair actions. See `node_repair_config_overrides` below for details.
1141
1177
  """
1142
1178
  if enabled is not None:
1143
1179
  pulumi.set(__self__, "enabled", enabled)
1180
+ if max_parallel_nodes_repaired_count is not None:
1181
+ pulumi.set(__self__, "max_parallel_nodes_repaired_count", max_parallel_nodes_repaired_count)
1182
+ if max_parallel_nodes_repaired_percentage is not None:
1183
+ pulumi.set(__self__, "max_parallel_nodes_repaired_percentage", max_parallel_nodes_repaired_percentage)
1184
+ if max_unhealthy_node_threshold_count is not None:
1185
+ pulumi.set(__self__, "max_unhealthy_node_threshold_count", max_unhealthy_node_threshold_count)
1186
+ if max_unhealthy_node_threshold_percentage is not None:
1187
+ pulumi.set(__self__, "max_unhealthy_node_threshold_percentage", max_unhealthy_node_threshold_percentage)
1188
+ if node_repair_config_overrides is not None:
1189
+ pulumi.set(__self__, "node_repair_config_overrides", node_repair_config_overrides)
1144
1190
 
1145
1191
  @_builtins.property
1146
1192
  @pulumi.getter
1147
1193
  def enabled(self) -> Optional[_builtins.bool]:
1148
1194
  """
1149
- Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default.
1195
+ Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Defaults to `false`.
1150
1196
  """
1151
1197
  return pulumi.get(self, "enabled")
1152
1198
 
1199
+ @_builtins.property
1200
+ @pulumi.getter(name="maxParallelNodesRepairedCount")
1201
+ def max_parallel_nodes_repaired_count(self) -> Optional[_builtins.int]:
1202
+ """
1203
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_percentage`.
1204
+ """
1205
+ return pulumi.get(self, "max_parallel_nodes_repaired_count")
1206
+
1207
+ @_builtins.property
1208
+ @pulumi.getter(name="maxParallelNodesRepairedPercentage")
1209
+ def max_parallel_nodes_repaired_percentage(self) -> Optional[_builtins.int]:
1210
+ """
1211
+ Maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. Conflicts with `max_parallel_nodes_repaired_count`.
1212
+ """
1213
+ return pulumi.get(self, "max_parallel_nodes_repaired_percentage")
1214
+
1215
+ @_builtins.property
1216
+ @pulumi.getter(name="maxUnhealthyNodeThresholdCount")
1217
+ def max_unhealthy_node_threshold_count(self) -> Optional[_builtins.int]:
1218
+ """
1219
+ Count threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_percentage`.
1220
+ """
1221
+ return pulumi.get(self, "max_unhealthy_node_threshold_count")
1222
+
1223
+ @_builtins.property
1224
+ @pulumi.getter(name="maxUnhealthyNodeThresholdPercentage")
1225
+ def max_unhealthy_node_threshold_percentage(self) -> Optional[_builtins.int]:
1226
+ """
1227
+ Percentage threshold of unhealthy nodes, above which node auto repair actions will stop. Conflicts with `max_unhealthy_node_threshold_count`.
1228
+ """
1229
+ return pulumi.get(self, "max_unhealthy_node_threshold_percentage")
1230
+
1231
+ @_builtins.property
1232
+ @pulumi.getter(name="nodeRepairConfigOverrides")
1233
+ def node_repair_config_overrides(self) -> Optional[Sequence['outputs.NodeGroupNodeRepairConfigNodeRepairConfigOverride']]:
1234
+ """
1235
+ Granular overrides for specific repair actions. See `node_repair_config_overrides` below for details.
1236
+ """
1237
+ return pulumi.get(self, "node_repair_config_overrides")
1238
+
1239
+
1240
+ @pulumi.output_type
1241
+ class NodeGroupNodeRepairConfigNodeRepairConfigOverride(dict):
1242
+ @staticmethod
1243
+ def __key_warning(key: str):
1244
+ suggest = None
1245
+ if key == "minRepairWaitTimeMins":
1246
+ suggest = "min_repair_wait_time_mins"
1247
+ elif key == "nodeMonitoringCondition":
1248
+ suggest = "node_monitoring_condition"
1249
+ elif key == "nodeUnhealthyReason":
1250
+ suggest = "node_unhealthy_reason"
1251
+ elif key == "repairAction":
1252
+ suggest = "repair_action"
1253
+
1254
+ if suggest:
1255
+ pulumi.log.warn(f"Key '{key}' not found in NodeGroupNodeRepairConfigNodeRepairConfigOverride. Access the value via the '{suggest}' property getter instead.")
1256
+
1257
+ def __getitem__(self, key: str) -> Any:
1258
+ NodeGroupNodeRepairConfigNodeRepairConfigOverride.__key_warning(key)
1259
+ return super().__getitem__(key)
1260
+
1261
+ def get(self, key: str, default = None) -> Any:
1262
+ NodeGroupNodeRepairConfigNodeRepairConfigOverride.__key_warning(key)
1263
+ return super().get(key, default)
1264
+
1265
+ def __init__(__self__, *,
1266
+ min_repair_wait_time_mins: _builtins.int,
1267
+ node_monitoring_condition: _builtins.str,
1268
+ node_unhealthy_reason: _builtins.str,
1269
+ repair_action: _builtins.str):
1270
+ """
1271
+ :param _builtins.int min_repair_wait_time_mins: Minimum time in minutes to wait before attempting to repair a node with the specified `node_monitoring_condition` and `node_unhealthy_reason`.
1272
+ :param _builtins.str node_monitoring_condition: Unhealthy condition reported by the node monitoring agent that this override applies to.
1273
+ :param _builtins.str node_unhealthy_reason: Reason reported by the node monitoring agent that this override applies to.
1274
+ :param _builtins.str repair_action: Repair action to take for nodes when all of the specified conditions are met. Valid values are defined by the EKS API.
1275
+ """
1276
+ pulumi.set(__self__, "min_repair_wait_time_mins", min_repair_wait_time_mins)
1277
+ pulumi.set(__self__, "node_monitoring_condition", node_monitoring_condition)
1278
+ pulumi.set(__self__, "node_unhealthy_reason", node_unhealthy_reason)
1279
+ pulumi.set(__self__, "repair_action", repair_action)
1280
+
1281
+ @_builtins.property
1282
+ @pulumi.getter(name="minRepairWaitTimeMins")
1283
+ def min_repair_wait_time_mins(self) -> _builtins.int:
1284
+ """
1285
+ Minimum time in minutes to wait before attempting to repair a node with the specified `node_monitoring_condition` and `node_unhealthy_reason`.
1286
+ """
1287
+ return pulumi.get(self, "min_repair_wait_time_mins")
1288
+
1289
+ @_builtins.property
1290
+ @pulumi.getter(name="nodeMonitoringCondition")
1291
+ def node_monitoring_condition(self) -> _builtins.str:
1292
+ """
1293
+ Unhealthy condition reported by the node monitoring agent that this override applies to.
1294
+ """
1295
+ return pulumi.get(self, "node_monitoring_condition")
1296
+
1297
+ @_builtins.property
1298
+ @pulumi.getter(name="nodeUnhealthyReason")
1299
+ def node_unhealthy_reason(self) -> _builtins.str:
1300
+ """
1301
+ Reason reported by the node monitoring agent that this override applies to.
1302
+ """
1303
+ return pulumi.get(self, "node_unhealthy_reason")
1304
+
1305
+ @_builtins.property
1306
+ @pulumi.getter(name="repairAction")
1307
+ def repair_action(self) -> _builtins.str:
1308
+ """
1309
+ Repair action to take for nodes when all of the specified conditions are met. Valid values are defined by the EKS API.
1310
+ """
1311
+ return pulumi.get(self, "repair_action")
1312
+
1153
1313
 
1154
1314
  @pulumi.output_type
1155
1315
  class NodeGroupRemoteAccess(dict):