pulumi-aws-native 1.38.0a1761631437__py3-none-any.whl → 1.39.0a1762376209__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 (116) hide show
  1. pulumi_aws_native/__init__.py +19 -1
  2. pulumi_aws_native/amazonmq/_enums.py +4 -12
  3. pulumi_aws_native/amazonmq/_inputs.py +21 -91
  4. pulumi_aws_native/amazonmq/broker.py +56 -67
  5. pulumi_aws_native/amazonmq/get_broker.py +6 -13
  6. pulumi_aws_native/amazonmq/outputs.py +14 -54
  7. pulumi_aws_native/appstream/get_image_builder.py +0 -4
  8. pulumi_aws_native/appstream/image_builder.py +0 -16
  9. pulumi_aws_native/aps/_inputs.py +58 -0
  10. pulumi_aws_native/aps/outputs.py +36 -0
  11. pulumi_aws_native/arcregionswitch/get_plan.py +0 -3
  12. pulumi_aws_native/arcregionswitch/plan.py +0 -3
  13. pulumi_aws_native/batch/_inputs.py +34 -0
  14. pulumi_aws_native/batch/job_definition.py +29 -0
  15. pulumi_aws_native/batch/outputs.py +37 -0
  16. pulumi_aws_native/bedrock/automated_reasoning_policy.py +51 -0
  17. pulumi_aws_native/bedrock/get_automated_reasoning_policy.py +12 -1
  18. pulumi_aws_native/bedrockagentcore/__init__.py +2 -0
  19. pulumi_aws_native/bedrockagentcore/_enums.py +1 -0
  20. pulumi_aws_native/bedrockagentcore/get_workload_identity.py +134 -0
  21. pulumi_aws_native/bedrockagentcore/workload_identity.py +217 -0
  22. pulumi_aws_native/ce/_enums.py +3 -0
  23. pulumi_aws_native/cleanrooms/configured_table.py +4 -4
  24. pulumi_aws_native/cleanrooms/get_configured_table.py +1 -1
  25. pulumi_aws_native/cognito/__init__.py +2 -0
  26. pulumi_aws_native/cognito/_enums.py +12 -0
  27. pulumi_aws_native/cognito/get_terms.py +117 -0
  28. pulumi_aws_native/cognito/terms.py +236 -0
  29. pulumi_aws_native/connectcampaignsv2/_inputs.py +28 -0
  30. pulumi_aws_native/connectcampaignsv2/outputs.py +16 -0
  31. pulumi_aws_native/datazone/_inputs.py +81 -0
  32. pulumi_aws_native/datazone/connection.py +83 -26
  33. pulumi_aws_native/datazone/outputs.py +84 -0
  34. pulumi_aws_native/ec2/__init__.py +2 -0
  35. pulumi_aws_native/ec2/_enums.py +19 -0
  36. pulumi_aws_native/ec2/_inputs.py +15 -12
  37. pulumi_aws_native/ec2/capacity_manager_data_export.py +259 -0
  38. pulumi_aws_native/ec2/get_capacity_manager_data_export.py +92 -0
  39. pulumi_aws_native/ec2/get_volume.py +37 -15
  40. pulumi_aws_native/ec2/outputs.py +10 -8
  41. pulumi_aws_native/ec2/volume.py +115 -74
  42. pulumi_aws_native/ecs/_enums.py +23 -0
  43. pulumi_aws_native/ecs/_inputs.py +230 -23
  44. pulumi_aws_native/ecs/outputs.py +195 -15
  45. pulumi_aws_native/eks/_enums.py +11 -0
  46. pulumi_aws_native/eks/_inputs.py +199 -1
  47. pulumi_aws_native/eks/get_nodegroup.py +1 -0
  48. pulumi_aws_native/eks/nodegroup.py +1 -0
  49. pulumi_aws_native/eks/outputs.py +169 -1
  50. pulumi_aws_native/elasticloadbalancingv2/_inputs.py +12 -12
  51. pulumi_aws_native/elasticloadbalancingv2/load_balancer.py +4 -4
  52. pulumi_aws_native/elasticloadbalancingv2/outputs.py +8 -8
  53. pulumi_aws_native/glue/__init__.py +2 -0
  54. pulumi_aws_native/glue/_inputs.py +134 -0
  55. pulumi_aws_native/glue/get_integration_resource_property.py +127 -0
  56. pulumi_aws_native/glue/integration_resource_property.py +229 -0
  57. pulumi_aws_native/glue/outputs.py +122 -0
  58. pulumi_aws_native/imagebuilder/_inputs.py +37 -0
  59. pulumi_aws_native/imagebuilder/image.py +29 -0
  60. pulumi_aws_native/imagebuilder/outputs.py +40 -0
  61. pulumi_aws_native/kendra/_inputs.py +21 -21
  62. pulumi_aws_native/kendra/outputs.py +14 -14
  63. pulumi_aws_native/mediapackagev2/_inputs.py +7 -0
  64. pulumi_aws_native/mediapackagev2/outputs.py +4 -0
  65. pulumi_aws_native/networkfirewall/_enums.py +2 -0
  66. pulumi_aws_native/networkfirewall/_inputs.py +20 -0
  67. pulumi_aws_native/networkfirewall/firewall.py +10 -0
  68. pulumi_aws_native/networkfirewall/get_firewall.py +15 -1
  69. pulumi_aws_native/networkfirewall/outputs.py +14 -0
  70. pulumi_aws_native/pulumi-plugin.json +1 -1
  71. pulumi_aws_native/qbusiness/_inputs.py +3 -3
  72. pulumi_aws_native/qbusiness/application.py +4 -4
  73. pulumi_aws_native/qbusiness/outputs.py +2 -2
  74. pulumi_aws_native/quicksight/_inputs.py +9 -9
  75. pulumi_aws_native/quicksight/outputs.py +6 -6
  76. pulumi_aws_native/rtbfabric/__init__.py +2 -0
  77. pulumi_aws_native/rtbfabric/_enums.py +44 -0
  78. pulumi_aws_native/rtbfabric/_inputs.py +330 -0
  79. pulumi_aws_native/rtbfabric/get_link.py +199 -0
  80. pulumi_aws_native/rtbfabric/get_requester_gateway.py +15 -0
  81. pulumi_aws_native/rtbfabric/get_responder_gateway.py +30 -0
  82. pulumi_aws_native/rtbfabric/link.py +344 -0
  83. pulumi_aws_native/rtbfabric/outputs.py +306 -0
  84. pulumi_aws_native/rtbfabric/requester_gateway.py +40 -0
  85. pulumi_aws_native/rtbfabric/responder_gateway.py +80 -0
  86. pulumi_aws_native/s3/_enums.py +1 -1
  87. pulumi_aws_native/s3/_inputs.py +11 -5
  88. pulumi_aws_native/s3/outputs.py +10 -4
  89. pulumi_aws_native/s3vectors/__init__.py +17 -0
  90. pulumi_aws_native/s3vectors/_enums.py +39 -0
  91. pulumi_aws_native/s3vectors/_inputs.py +138 -0
  92. pulumi_aws_native/s3vectors/get_index.py +99 -0
  93. pulumi_aws_native/s3vectors/get_vector_bucket.py +99 -0
  94. pulumi_aws_native/s3vectors/get_vector_bucket_policy.py +78 -0
  95. pulumi_aws_native/s3vectors/index.py +367 -0
  96. pulumi_aws_native/s3vectors/outputs.py +129 -0
  97. pulumi_aws_native/s3vectors/vector_bucket.py +199 -0
  98. pulumi_aws_native/s3vectors/vector_bucket_policy.py +188 -0
  99. pulumi_aws_native/sagemaker/_enums.py +2 -171
  100. pulumi_aws_native/sagemaker/_inputs.py +17 -5
  101. pulumi_aws_native/sagemaker/outputs.py +11 -3
  102. pulumi_aws_native/sso/_enums.py +1 -1
  103. pulumi_aws_native/sso/assignment.py +8 -8
  104. pulumi_aws_native/transfer/_enums.py +15 -0
  105. pulumi_aws_native/transfer/_inputs.py +86 -0
  106. pulumi_aws_native/transfer/connector.py +86 -19
  107. pulumi_aws_native/transfer/get_connector.py +43 -1
  108. pulumi_aws_native/transfer/outputs.py +86 -0
  109. pulumi_aws_native/wafv2/_inputs.py +72 -0
  110. pulumi_aws_native/wafv2/get_web_acl.py +15 -1
  111. pulumi_aws_native/wafv2/outputs.py +45 -0
  112. pulumi_aws_native/wafv2/web_acl.py +29 -0
  113. {pulumi_aws_native-1.38.0a1761631437.dist-info → pulumi_aws_native-1.39.0a1762376209.dist-info}/METADATA +1 -1
  114. {pulumi_aws_native-1.38.0a1761631437.dist-info → pulumi_aws_native-1.39.0a1762376209.dist-info}/RECORD +116 -96
  115. {pulumi_aws_native-1.38.0a1761631437.dist-info → pulumi_aws_native-1.39.0a1762376209.dist-info}/WHEEL +0 -0
  116. {pulumi_aws_native-1.38.0a1761631437.dist-info → pulumi_aws_native-1.39.0a1762376209.dist-info}/top_level.txt +0 -0
@@ -43,7 +43,9 @@ __all__ = [
43
43
  'ClusterSettings',
44
44
  'ServiceAdvancedConfiguration',
45
45
  'ServiceAwsVpcConfiguration',
46
+ 'ServiceCanaryConfiguration',
46
47
  'ServiceCapacityProviderStrategyItem',
48
+ 'ServiceConnectAccessLogConfiguration',
47
49
  'ServiceConnectClientAlias',
48
50
  'ServiceConnectConfiguration',
49
51
  'ServiceConnectService',
@@ -59,6 +61,7 @@ __all__ = [
59
61
  'ServiceDeploymentLifecycleHook',
60
62
  'ServiceEbsTagSpecification',
61
63
  'ServiceForceNewDeployment',
64
+ 'ServiceLinearConfiguration',
62
65
  'ServiceLoadBalancer',
63
66
  'ServiceLogConfiguration',
64
67
  'ServiceManagedEbsVolumeConfiguration',
@@ -1858,6 +1861,56 @@ class ServiceAwsVpcConfiguration(dict):
1858
1861
  return pulumi.get(self, "subnets")
1859
1862
 
1860
1863
 
1864
+ @pulumi.output_type
1865
+ class ServiceCanaryConfiguration(dict):
1866
+ @staticmethod
1867
+ def __key_warning(key: str):
1868
+ suggest = None
1869
+ if key == "canaryBakeTimeInMinutes":
1870
+ suggest = "canary_bake_time_in_minutes"
1871
+ elif key == "canaryPercent":
1872
+ suggest = "canary_percent"
1873
+
1874
+ if suggest:
1875
+ pulumi.log.warn(f"Key '{key}' not found in ServiceCanaryConfiguration. Access the value via the '{suggest}' property getter instead.")
1876
+
1877
+ def __getitem__(self, key: str) -> Any:
1878
+ ServiceCanaryConfiguration.__key_warning(key)
1879
+ return super().__getitem__(key)
1880
+
1881
+ def get(self, key: str, default = None) -> Any:
1882
+ ServiceCanaryConfiguration.__key_warning(key)
1883
+ return super().get(key, default)
1884
+
1885
+ def __init__(__self__, *,
1886
+ canary_bake_time_in_minutes: Optional[_builtins.int] = None,
1887
+ canary_percent: Optional[_builtins.float] = None):
1888
+ """
1889
+ :param _builtins.int canary_bake_time_in_minutes: The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.
1890
+ :param _builtins.float canary_percent: The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.
1891
+ """
1892
+ if canary_bake_time_in_minutes is not None:
1893
+ pulumi.set(__self__, "canary_bake_time_in_minutes", canary_bake_time_in_minutes)
1894
+ if canary_percent is not None:
1895
+ pulumi.set(__self__, "canary_percent", canary_percent)
1896
+
1897
+ @_builtins.property
1898
+ @pulumi.getter(name="canaryBakeTimeInMinutes")
1899
+ def canary_bake_time_in_minutes(self) -> Optional[_builtins.int]:
1900
+ """
1901
+ The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10.
1902
+ """
1903
+ return pulumi.get(self, "canary_bake_time_in_minutes")
1904
+
1905
+ @_builtins.property
1906
+ @pulumi.getter(name="canaryPercent")
1907
+ def canary_percent(self) -> Optional[_builtins.float]:
1908
+ """
1909
+ The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are multiples of 0.1 from 0.1 to 100.0. The default value is 5.0.
1910
+ """
1911
+ return pulumi.get(self, "canary_percent")
1912
+
1913
+
1861
1914
  @pulumi.output_type
1862
1915
  class ServiceCapacityProviderStrategyItem(dict):
1863
1916
  """
@@ -1968,6 +2021,57 @@ class ServiceCapacityProviderStrategyItem(dict):
1968
2021
  return pulumi.get(self, "weight")
1969
2022
 
1970
2023
 
2024
+ @pulumi.output_type
2025
+ class ServiceConnectAccessLogConfiguration(dict):
2026
+ @staticmethod
2027
+ def __key_warning(key: str):
2028
+ suggest = None
2029
+ if key == "includeQueryParameters":
2030
+ suggest = "include_query_parameters"
2031
+
2032
+ if suggest:
2033
+ pulumi.log.warn(f"Key '{key}' not found in ServiceConnectAccessLogConfiguration. Access the value via the '{suggest}' property getter instead.")
2034
+
2035
+ def __getitem__(self, key: str) -> Any:
2036
+ ServiceConnectAccessLogConfiguration.__key_warning(key)
2037
+ return super().__getitem__(key)
2038
+
2039
+ def get(self, key: str, default = None) -> Any:
2040
+ ServiceConnectAccessLogConfiguration.__key_warning(key)
2041
+ return super().get(key, default)
2042
+
2043
+ def __init__(__self__, *,
2044
+ format: 'ServiceConnectAccessLogConfigurationFormat',
2045
+ include_query_parameters: Optional['ServiceConnectAccessLogConfigurationIncludeQueryParameters'] = None):
2046
+ """
2047
+ :param 'ServiceConnectAccessLogConfigurationFormat' format: The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.
2048
+ :param 'ServiceConnectAccessLogConfigurationIncludeQueryParameters' include_query_parameters: Specifies whether to include query parameters in Service Connect access logs.
2049
+
2050
+ When enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .
2051
+ """
2052
+ pulumi.set(__self__, "format", format)
2053
+ if include_query_parameters is not None:
2054
+ pulumi.set(__self__, "include_query_parameters", include_query_parameters)
2055
+
2056
+ @_builtins.property
2057
+ @pulumi.getter
2058
+ def format(self) -> 'ServiceConnectAccessLogConfigurationFormat':
2059
+ """
2060
+ The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools.
2061
+ """
2062
+ return pulumi.get(self, "format")
2063
+
2064
+ @_builtins.property
2065
+ @pulumi.getter(name="includeQueryParameters")
2066
+ def include_query_parameters(self) -> Optional['ServiceConnectAccessLogConfigurationIncludeQueryParameters']:
2067
+ """
2068
+ Specifies whether to include query parameters in Service Connect access logs.
2069
+
2070
+ When enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is `DISABLED` .
2071
+ """
2072
+ return pulumi.get(self, "include_query_parameters")
2073
+
2074
+
1971
2075
  @pulumi.output_type
1972
2076
  class ServiceConnectClientAlias(dict):
1973
2077
  """
@@ -2052,7 +2156,9 @@ class ServiceConnectConfiguration(dict):
2052
2156
  @staticmethod
2053
2157
  def __key_warning(key: str):
2054
2158
  suggest = None
2055
- if key == "logConfiguration":
2159
+ if key == "accessLogConfiguration":
2160
+ suggest = "access_log_configuration"
2161
+ elif key == "logConfiguration":
2056
2162
  suggest = "log_configuration"
2057
2163
 
2058
2164
  if suggest:
@@ -2068,6 +2174,7 @@ class ServiceConnectConfiguration(dict):
2068
2174
 
2069
2175
  def __init__(__self__, *,
2070
2176
  enabled: _builtins.bool,
2177
+ access_log_configuration: Optional['outputs.ServiceConnectAccessLogConfiguration'] = None,
2071
2178
  log_configuration: Optional['outputs.ServiceLogConfiguration'] = None,
2072
2179
  namespace: Optional[_builtins.str] = None,
2073
2180
  services: Optional[Sequence['outputs.ServiceConnectService']] = None):
@@ -2075,6 +2182,9 @@ class ServiceConnectConfiguration(dict):
2075
2182
  The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.
2076
2183
  Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.
2077
2184
  :param _builtins.bool enabled: Specifies whether to use Service Connect with this service.
2185
+ :param 'ServiceConnectAccessLogConfiguration' access_log_configuration: The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.
2186
+
2187
+ > To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .
2078
2188
  :param 'ServiceLogConfiguration' log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.
2079
2189
  By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.
2080
2190
  Understand the following when specifying a log configuration for your containers.
@@ -2090,6 +2200,8 @@ class ServiceConnectConfiguration(dict):
2090
2200
  An object selects a port from the task definition, assigns a name for the CMAPlong service, and a list of aliases (endpoints) and ports for client applications to refer to this service.
2091
2201
  """
2092
2202
  pulumi.set(__self__, "enabled", enabled)
2203
+ if access_log_configuration is not None:
2204
+ pulumi.set(__self__, "access_log_configuration", access_log_configuration)
2093
2205
  if log_configuration is not None:
2094
2206
  pulumi.set(__self__, "log_configuration", log_configuration)
2095
2207
  if namespace is not None:
@@ -2105,6 +2217,16 @@ class ServiceConnectConfiguration(dict):
2105
2217
  """
2106
2218
  return pulumi.get(self, "enabled")
2107
2219
 
2220
+ @_builtins.property
2221
+ @pulumi.getter(name="accessLogConfiguration")
2222
+ def access_log_configuration(self) -> Optional['outputs.ServiceConnectAccessLogConfiguration']:
2223
+ """
2224
+ The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.
2225
+
2226
+ > To enable access logs, you must also specify a `logConfiguration` in the `serviceConnectConfiguration` .
2227
+ """
2228
+ return pulumi.get(self, "access_log_configuration")
2229
+
2108
2230
  @_builtins.property
2109
2231
  @pulumi.getter(name="logConfiguration")
2110
2232
  def log_configuration(self) -> Optional['outputs.ServiceLogConfiguration']:
@@ -2561,10 +2683,10 @@ class ServiceDeploymentConfiguration(dict):
2561
2683
  def __init__(__self__, *,
2562
2684
  alarms: Optional['outputs.ServiceDeploymentAlarms'] = None,
2563
2685
  bake_time_in_minutes: Optional[_builtins.int] = None,
2564
- canary_configuration: Optional[Any] = None,
2686
+ canary_configuration: Optional['outputs.ServiceCanaryConfiguration'] = None,
2565
2687
  deployment_circuit_breaker: Optional['outputs.ServiceDeploymentCircuitBreaker'] = None,
2566
2688
  lifecycle_hooks: Optional[Sequence['outputs.ServiceDeploymentLifecycleHook']] = None,
2567
- linear_configuration: Optional[Any] = None,
2689
+ linear_configuration: Optional['outputs.ServiceLinearConfiguration'] = None,
2568
2690
  maximum_percent: Optional[_builtins.int] = None,
2569
2691
  minimum_healthy_percent: Optional[_builtins.int] = None,
2570
2692
  strategy: Optional['ServiceDeploymentConfigurationStrategy'] = None):
@@ -2576,9 +2698,11 @@ class ServiceDeploymentConfiguration(dict):
2576
2698
  + For rolling deployments, the value is set to 3 hours (180 minutes).
2577
2699
  + When you use an external deployment controller (``EXTERNAL``), or the ACD blue/green deployment controller (``CODE_DEPLOY``), the value is set to 3 hours (180 minutes).
2578
2700
  + For all other cases, the value is set to 36 hours (2160 minutes).
2701
+ :param 'ServiceCanaryConfiguration' canary_configuration: Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.
2579
2702
  :param 'ServiceDeploymentCircuitBreaker' deployment_circuit_breaker: The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.
2580
2703
  The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*
2581
2704
  :param Sequence['ServiceDeploymentLifecycleHook'] lifecycle_hooks: An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
2705
+ :param 'ServiceLinearConfiguration' linear_configuration: Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.
2582
2706
  :param _builtins.int maximum_percent: If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.
2583
2707
  The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
2584
2708
  If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.
@@ -2645,7 +2769,10 @@ class ServiceDeploymentConfiguration(dict):
2645
2769
 
2646
2770
  @_builtins.property
2647
2771
  @pulumi.getter(name="canaryConfiguration")
2648
- def canary_configuration(self) -> Optional[Any]:
2772
+ def canary_configuration(self) -> Optional['outputs.ServiceCanaryConfiguration']:
2773
+ """
2774
+ Configuration for canary deployment strategy. Only valid when the deployment strategy is `CANARY` . This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period.
2775
+ """
2649
2776
  return pulumi.get(self, "canary_configuration")
2650
2777
 
2651
2778
  @_builtins.property
@@ -2667,7 +2794,10 @@ class ServiceDeploymentConfiguration(dict):
2667
2794
 
2668
2795
  @_builtins.property
2669
2796
  @pulumi.getter(name="linearConfiguration")
2670
- def linear_configuration(self) -> Optional[Any]:
2797
+ def linear_configuration(self) -> Optional['outputs.ServiceLinearConfiguration']:
2798
+ """
2799
+ Configuration for linear deployment strategy. Only valid when the deployment strategy is `LINEAR` . This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step.
2800
+ """
2671
2801
  return pulumi.get(self, "linear_configuration")
2672
2802
 
2673
2803
  @_builtins.property
@@ -3062,6 +3192,56 @@ class ServiceForceNewDeployment(dict):
3062
3192
  return pulumi.get(self, "force_new_deployment_nonce")
3063
3193
 
3064
3194
 
3195
+ @pulumi.output_type
3196
+ class ServiceLinearConfiguration(dict):
3197
+ @staticmethod
3198
+ def __key_warning(key: str):
3199
+ suggest = None
3200
+ if key == "stepBakeTimeInMinutes":
3201
+ suggest = "step_bake_time_in_minutes"
3202
+ elif key == "stepPercent":
3203
+ suggest = "step_percent"
3204
+
3205
+ if suggest:
3206
+ pulumi.log.warn(f"Key '{key}' not found in ServiceLinearConfiguration. Access the value via the '{suggest}' property getter instead.")
3207
+
3208
+ def __getitem__(self, key: str) -> Any:
3209
+ ServiceLinearConfiguration.__key_warning(key)
3210
+ return super().__getitem__(key)
3211
+
3212
+ def get(self, key: str, default = None) -> Any:
3213
+ ServiceLinearConfiguration.__key_warning(key)
3214
+ return super().get(key, default)
3215
+
3216
+ def __init__(__self__, *,
3217
+ step_bake_time_in_minutes: Optional[_builtins.int] = None,
3218
+ step_percent: Optional[_builtins.float] = None):
3219
+ """
3220
+ :param _builtins.int step_bake_time_in_minutes: The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.
3221
+ :param _builtins.float step_percent: The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.
3222
+ """
3223
+ if step_bake_time_in_minutes is not None:
3224
+ pulumi.set(__self__, "step_bake_time_in_minutes", step_bake_time_in_minutes)
3225
+ if step_percent is not None:
3226
+ pulumi.set(__self__, "step_percent", step_percent)
3227
+
3228
+ @_builtins.property
3229
+ @pulumi.getter(name="stepBakeTimeInMinutes")
3230
+ def step_bake_time_in_minutes(self) -> Optional[_builtins.int]:
3231
+ """
3232
+ The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100 percent traffic.
3233
+ """
3234
+ return pulumi.get(self, "step_bake_time_in_minutes")
3235
+
3236
+ @_builtins.property
3237
+ @pulumi.getter(name="stepPercent")
3238
+ def step_percent(self) -> Optional[_builtins.float]:
3239
+ """
3240
+ The percentage of production traffic to shift in each step during a linear deployment. Valid values are multiples of 0.1 from 3.0 to 100.0. The default value is 10.0.
3241
+ """
3242
+ return pulumi.get(self, "step_percent")
3243
+
3244
+
3065
3245
  @pulumi.output_type
3066
3246
  class ServiceLoadBalancer(dict):
3067
3247
  """
@@ -7055,10 +7235,10 @@ class TaskSetCapacityProviderStrategyItem(dict):
7055
7235
  Base value characteristics:
7056
7236
 
7057
7237
  - Only one capacity provider in a strategy can have a base defined
7058
- - Default value is `0` if not specified
7059
- - Valid range: 0 to 100,000
7238
+ - The default value is `0` if not specified
7239
+ - The valid range is 0 to 100,000
7060
7240
  - Base requirements are satisfied first before weight distribution
7061
- :param _builtins.str capacity_provider: The short name of the capacity provider.
7241
+ :param _builtins.str capacity_provider: The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.
7062
7242
  :param _builtins.int weight: The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.
7063
7243
 
7064
7244
  If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.
@@ -7066,8 +7246,8 @@ class TaskSetCapacityProviderStrategyItem(dict):
7066
7246
  Weight value characteristics:
7067
7247
 
7068
7248
  - Weight is considered after the base value is satisfied
7069
- - Default value is `0` if not specified
7070
- - Valid range: 0 to 1,000
7249
+ - The default value is `0` if not specified
7250
+ - The valid range is 0 to 1,000
7071
7251
  - At least one capacity provider must have a weight greater than zero
7072
7252
  - Capacity providers with weight of `0` cannot place tasks
7073
7253
 
@@ -7098,8 +7278,8 @@ class TaskSetCapacityProviderStrategyItem(dict):
7098
7278
  Base value characteristics:
7099
7279
 
7100
7280
  - Only one capacity provider in a strategy can have a base defined
7101
- - Default value is `0` if not specified
7102
- - Valid range: 0 to 100,000
7281
+ - The default value is `0` if not specified
7282
+ - The valid range is 0 to 100,000
7103
7283
  - Base requirements are satisfied first before weight distribution
7104
7284
  """
7105
7285
  return pulumi.get(self, "base")
@@ -7108,7 +7288,7 @@ class TaskSetCapacityProviderStrategyItem(dict):
7108
7288
  @pulumi.getter(name="capacityProvider")
7109
7289
  def capacity_provider(self) -> Optional[_builtins.str]:
7110
7290
  """
7111
- The short name of the capacity provider.
7291
+ The short name of the capacity provider. This can be either an AWS managed capacity provider ( `FARGATE` or `FARGATE_SPOT` ) or the name of a custom capacity provider that you created.
7112
7292
  """
7113
7293
  return pulumi.get(self, "capacity_provider")
7114
7294
 
@@ -7123,8 +7303,8 @@ class TaskSetCapacityProviderStrategyItem(dict):
7123
7303
  Weight value characteristics:
7124
7304
 
7125
7305
  - Weight is considered after the base value is satisfied
7126
- - Default value is `0` if not specified
7127
- - Valid range: 0 to 1,000
7306
+ - The default value is `0` if not specified
7307
+ - The valid range is 0 to 1,000
7128
7308
  - At least one capacity provider must have a weight greater than zero
7129
7309
  - Capacity providers with weight of `0` cannot place tasks
7130
7310
 
@@ -14,6 +14,7 @@ __all__ = [
14
14
  'ClusterLoggingTypeConfigType',
15
15
  'ClusterUpgradePolicySupportType',
16
16
  'IdentityProviderConfigType',
17
+ 'NodegroupNodeRepairConfigOverridesRepairAction',
17
18
  ]
18
19
 
19
20
 
@@ -82,3 +83,13 @@ class IdentityProviderConfigType(_builtins.str, Enum):
82
83
  The type of the identity provider configuration.
83
84
  """
84
85
  OIDC = "oidc"
86
+
87
+
88
+ @pulumi.type_token("aws-native:eks:NodegroupNodeRepairConfigOverridesRepairAction")
89
+ class NodegroupNodeRepairConfigOverridesRepairAction(_builtins.str, Enum):
90
+ """
91
+ Specify the repair action to take for nodes when all of the specified conditions are met.
92
+ """
93
+ REPLACE = "Replace"
94
+ REBOOT = "Reboot"
95
+ NO_ACTION = "NoAction"
@@ -72,6 +72,8 @@ __all__ = [
72
72
  'NamespaceConfigPropertiesArgsDict',
73
73
  'NodegroupLaunchTemplateSpecificationArgs',
74
74
  'NodegroupLaunchTemplateSpecificationArgsDict',
75
+ 'NodegroupNodeRepairConfigOverridesArgs',
76
+ 'NodegroupNodeRepairConfigOverridesArgsDict',
75
77
  'NodegroupNodeRepairConfigArgs',
76
78
  'NodegroupNodeRepairConfigArgsDict',
77
79
  'NodegroupRemoteAccessArgs',
@@ -1645,6 +1647,102 @@ class NodegroupLaunchTemplateSpecificationArgs:
1645
1647
  pulumi.set(self, "version", value)
1646
1648
 
1647
1649
 
1650
+ if not MYPY:
1651
+ class NodegroupNodeRepairConfigOverridesArgsDict(TypedDict):
1652
+ """
1653
+ Specify granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.
1654
+ """
1655
+ min_repair_wait_time_mins: NotRequired[pulumi.Input[_builtins.int]]
1656
+ """
1657
+ Specify the minimum time in minutes to wait before attempting to repair a node with this specific NodeMonitoringCondition and NodeUnhealthyReason.
1658
+ """
1659
+ node_monitoring_condition: NotRequired[pulumi.Input[_builtins.str]]
1660
+ """
1661
+ Specify an unhealthy condition reported by the node monitoring agent that this override would apply to.
1662
+ """
1663
+ node_unhealthy_reason: NotRequired[pulumi.Input[_builtins.str]]
1664
+ """
1665
+ Specify a reason reported by the node monitoring agent that this override would apply to.
1666
+ """
1667
+ repair_action: NotRequired[pulumi.Input['NodegroupNodeRepairConfigOverridesRepairAction']]
1668
+ """
1669
+ Specify the repair action to take for nodes when all of the specified conditions are met.
1670
+ """
1671
+ elif False:
1672
+ NodegroupNodeRepairConfigOverridesArgsDict: TypeAlias = Mapping[str, Any]
1673
+
1674
+ @pulumi.input_type
1675
+ class NodegroupNodeRepairConfigOverridesArgs:
1676
+ def __init__(__self__, *,
1677
+ min_repair_wait_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
1678
+ node_monitoring_condition: Optional[pulumi.Input[_builtins.str]] = None,
1679
+ node_unhealthy_reason: Optional[pulumi.Input[_builtins.str]] = None,
1680
+ repair_action: Optional[pulumi.Input['NodegroupNodeRepairConfigOverridesRepairAction']] = None):
1681
+ """
1682
+ Specify granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.
1683
+ :param pulumi.Input[_builtins.int] min_repair_wait_time_mins: Specify the minimum time in minutes to wait before attempting to repair a node with this specific NodeMonitoringCondition and NodeUnhealthyReason.
1684
+ :param pulumi.Input[_builtins.str] node_monitoring_condition: Specify an unhealthy condition reported by the node monitoring agent that this override would apply to.
1685
+ :param pulumi.Input[_builtins.str] node_unhealthy_reason: Specify a reason reported by the node monitoring agent that this override would apply to.
1686
+ :param pulumi.Input['NodegroupNodeRepairConfigOverridesRepairAction'] repair_action: Specify the repair action to take for nodes when all of the specified conditions are met.
1687
+ """
1688
+ if min_repair_wait_time_mins is not None:
1689
+ pulumi.set(__self__, "min_repair_wait_time_mins", min_repair_wait_time_mins)
1690
+ if node_monitoring_condition is not None:
1691
+ pulumi.set(__self__, "node_monitoring_condition", node_monitoring_condition)
1692
+ if node_unhealthy_reason is not None:
1693
+ pulumi.set(__self__, "node_unhealthy_reason", node_unhealthy_reason)
1694
+ if repair_action is not None:
1695
+ pulumi.set(__self__, "repair_action", repair_action)
1696
+
1697
+ @_builtins.property
1698
+ @pulumi.getter(name="minRepairWaitTimeMins")
1699
+ def min_repair_wait_time_mins(self) -> Optional[pulumi.Input[_builtins.int]]:
1700
+ """
1701
+ Specify the minimum time in minutes to wait before attempting to repair a node with this specific NodeMonitoringCondition and NodeUnhealthyReason.
1702
+ """
1703
+ return pulumi.get(self, "min_repair_wait_time_mins")
1704
+
1705
+ @min_repair_wait_time_mins.setter
1706
+ def min_repair_wait_time_mins(self, value: Optional[pulumi.Input[_builtins.int]]):
1707
+ pulumi.set(self, "min_repair_wait_time_mins", value)
1708
+
1709
+ @_builtins.property
1710
+ @pulumi.getter(name="nodeMonitoringCondition")
1711
+ def node_monitoring_condition(self) -> Optional[pulumi.Input[_builtins.str]]:
1712
+ """
1713
+ Specify an unhealthy condition reported by the node monitoring agent that this override would apply to.
1714
+ """
1715
+ return pulumi.get(self, "node_monitoring_condition")
1716
+
1717
+ @node_monitoring_condition.setter
1718
+ def node_monitoring_condition(self, value: Optional[pulumi.Input[_builtins.str]]):
1719
+ pulumi.set(self, "node_monitoring_condition", value)
1720
+
1721
+ @_builtins.property
1722
+ @pulumi.getter(name="nodeUnhealthyReason")
1723
+ def node_unhealthy_reason(self) -> Optional[pulumi.Input[_builtins.str]]:
1724
+ """
1725
+ Specify a reason reported by the node monitoring agent that this override would apply to.
1726
+ """
1727
+ return pulumi.get(self, "node_unhealthy_reason")
1728
+
1729
+ @node_unhealthy_reason.setter
1730
+ def node_unhealthy_reason(self, value: Optional[pulumi.Input[_builtins.str]]):
1731
+ pulumi.set(self, "node_unhealthy_reason", value)
1732
+
1733
+ @_builtins.property
1734
+ @pulumi.getter(name="repairAction")
1735
+ def repair_action(self) -> Optional[pulumi.Input['NodegroupNodeRepairConfigOverridesRepairAction']]:
1736
+ """
1737
+ Specify the repair action to take for nodes when all of the specified conditions are met.
1738
+ """
1739
+ return pulumi.get(self, "repair_action")
1740
+
1741
+ @repair_action.setter
1742
+ def repair_action(self, value: Optional[pulumi.Input['NodegroupNodeRepairConfigOverridesRepairAction']]):
1743
+ pulumi.set(self, "repair_action", value)
1744
+
1745
+
1648
1746
  if not MYPY:
1649
1747
  class NodegroupNodeRepairConfigArgsDict(TypedDict):
1650
1748
  """
@@ -1654,19 +1752,59 @@ if not MYPY:
1654
1752
  """
1655
1753
  Set this value to true to enable node auto repair for the node group.
1656
1754
  """
1755
+ max_parallel_nodes_repaired_count: NotRequired[pulumi.Input[_builtins.int]]
1756
+ """
1757
+ Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedPercentage at the same time.
1758
+ """
1759
+ max_parallel_nodes_repaired_percentage: NotRequired[pulumi.Input[_builtins.int]]
1760
+ """
1761
+ Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedCount at the same time.
1762
+ """
1763
+ max_unhealthy_node_threshold_count: NotRequired[pulumi.Input[_builtins.int]]
1764
+ """
1765
+ Specify a count threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdPercentage at the same time.
1766
+ """
1767
+ max_unhealthy_node_threshold_percentage: NotRequired[pulumi.Input[_builtins.int]]
1768
+ """
1769
+ Specify a percentage threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdCount at the same time.
1770
+ """
1771
+ node_repair_config_overrides: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodegroupNodeRepairConfigOverridesArgsDict']]]]
1772
+ """
1773
+ Specify granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.
1774
+ """
1657
1775
  elif False:
1658
1776
  NodegroupNodeRepairConfigArgsDict: TypeAlias = Mapping[str, Any]
1659
1777
 
1660
1778
  @pulumi.input_type
1661
1779
  class NodegroupNodeRepairConfigArgs:
1662
1780
  def __init__(__self__, *,
1663
- enabled: Optional[pulumi.Input[_builtins.bool]] = None):
1781
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1782
+ max_parallel_nodes_repaired_count: Optional[pulumi.Input[_builtins.int]] = None,
1783
+ max_parallel_nodes_repaired_percentage: Optional[pulumi.Input[_builtins.int]] = None,
1784
+ max_unhealthy_node_threshold_count: Optional[pulumi.Input[_builtins.int]] = None,
1785
+ max_unhealthy_node_threshold_percentage: Optional[pulumi.Input[_builtins.int]] = None,
1786
+ node_repair_config_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['NodegroupNodeRepairConfigOverridesArgs']]]] = None):
1664
1787
  """
1665
1788
  The node auto repair configuration for node group.
1666
1789
  :param pulumi.Input[_builtins.bool] enabled: Set this value to true to enable node auto repair for the node group.
1790
+ :param pulumi.Input[_builtins.int] max_parallel_nodes_repaired_count: Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedPercentage at the same time.
1791
+ :param pulumi.Input[_builtins.int] max_parallel_nodes_repaired_percentage: Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedCount at the same time.
1792
+ :param pulumi.Input[_builtins.int] max_unhealthy_node_threshold_count: Specify a count threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdPercentage at the same time.
1793
+ :param pulumi.Input[_builtins.int] max_unhealthy_node_threshold_percentage: Specify a percentage threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdCount at the same time.
1794
+ :param pulumi.Input[Sequence[pulumi.Input['NodegroupNodeRepairConfigOverridesArgs']]] node_repair_config_overrides: Specify granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.
1667
1795
  """
1668
1796
  if enabled is not None:
1669
1797
  pulumi.set(__self__, "enabled", enabled)
1798
+ if max_parallel_nodes_repaired_count is not None:
1799
+ pulumi.set(__self__, "max_parallel_nodes_repaired_count", max_parallel_nodes_repaired_count)
1800
+ if max_parallel_nodes_repaired_percentage is not None:
1801
+ pulumi.set(__self__, "max_parallel_nodes_repaired_percentage", max_parallel_nodes_repaired_percentage)
1802
+ if max_unhealthy_node_threshold_count is not None:
1803
+ pulumi.set(__self__, "max_unhealthy_node_threshold_count", max_unhealthy_node_threshold_count)
1804
+ if max_unhealthy_node_threshold_percentage is not None:
1805
+ pulumi.set(__self__, "max_unhealthy_node_threshold_percentage", max_unhealthy_node_threshold_percentage)
1806
+ if node_repair_config_overrides is not None:
1807
+ pulumi.set(__self__, "node_repair_config_overrides", node_repair_config_overrides)
1670
1808
 
1671
1809
  @_builtins.property
1672
1810
  @pulumi.getter
@@ -1680,6 +1818,66 @@ class NodegroupNodeRepairConfigArgs:
1680
1818
  def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
1681
1819
  pulumi.set(self, "enabled", value)
1682
1820
 
1821
+ @_builtins.property
1822
+ @pulumi.getter(name="maxParallelNodesRepairedCount")
1823
+ def max_parallel_nodes_repaired_count(self) -> Optional[pulumi.Input[_builtins.int]]:
1824
+ """
1825
+ Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedPercentage at the same time.
1826
+ """
1827
+ return pulumi.get(self, "max_parallel_nodes_repaired_count")
1828
+
1829
+ @max_parallel_nodes_repaired_count.setter
1830
+ def max_parallel_nodes_repaired_count(self, value: Optional[pulumi.Input[_builtins.int]]):
1831
+ pulumi.set(self, "max_parallel_nodes_repaired_count", value)
1832
+
1833
+ @_builtins.property
1834
+ @pulumi.getter(name="maxParallelNodesRepairedPercentage")
1835
+ def max_parallel_nodes_repaired_percentage(self) -> Optional[pulumi.Input[_builtins.int]]:
1836
+ """
1837
+ Specify the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. This gives you finer-grained control over the pace of node replacements. When using this, you cannot also set MaxParallelNodesRepairedCount at the same time.
1838
+ """
1839
+ return pulumi.get(self, "max_parallel_nodes_repaired_percentage")
1840
+
1841
+ @max_parallel_nodes_repaired_percentage.setter
1842
+ def max_parallel_nodes_repaired_percentage(self, value: Optional[pulumi.Input[_builtins.int]]):
1843
+ pulumi.set(self, "max_parallel_nodes_repaired_percentage", value)
1844
+
1845
+ @_builtins.property
1846
+ @pulumi.getter(name="maxUnhealthyNodeThresholdCount")
1847
+ def max_unhealthy_node_threshold_count(self) -> Optional[pulumi.Input[_builtins.int]]:
1848
+ """
1849
+ Specify a count threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdPercentage at the same time.
1850
+ """
1851
+ return pulumi.get(self, "max_unhealthy_node_threshold_count")
1852
+
1853
+ @max_unhealthy_node_threshold_count.setter
1854
+ def max_unhealthy_node_threshold_count(self, value: Optional[pulumi.Input[_builtins.int]]):
1855
+ pulumi.set(self, "max_unhealthy_node_threshold_count", value)
1856
+
1857
+ @_builtins.property
1858
+ @pulumi.getter(name="maxUnhealthyNodeThresholdPercentage")
1859
+ def max_unhealthy_node_threshold_percentage(self) -> Optional[pulumi.Input[_builtins.int]]:
1860
+ """
1861
+ Specify a percentage threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdCount at the same time.
1862
+ """
1863
+ return pulumi.get(self, "max_unhealthy_node_threshold_percentage")
1864
+
1865
+ @max_unhealthy_node_threshold_percentage.setter
1866
+ def max_unhealthy_node_threshold_percentage(self, value: Optional[pulumi.Input[_builtins.int]]):
1867
+ pulumi.set(self, "max_unhealthy_node_threshold_percentage", value)
1868
+
1869
+ @_builtins.property
1870
+ @pulumi.getter(name="nodeRepairConfigOverrides")
1871
+ def node_repair_config_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodegroupNodeRepairConfigOverridesArgs']]]]:
1872
+ """
1873
+ Specify granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.
1874
+ """
1875
+ return pulumi.get(self, "node_repair_config_overrides")
1876
+
1877
+ @node_repair_config_overrides.setter
1878
+ def node_repair_config_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodegroupNodeRepairConfigOverridesArgs']]]]):
1879
+ pulumi.set(self, "node_repair_config_overrides", value)
1880
+
1683
1881
 
1684
1882
  if not MYPY:
1685
1883
  class NodegroupRemoteAccessArgsDict(TypedDict):
@@ -14,6 +14,7 @@ else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
16
  from . import outputs
17
+ from ._enums import *
17
18
 
18
19
  __all__ = [
19
20
  'GetNodegroupResult',
@@ -14,6 +14,7 @@ else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
16
  from . import outputs
17
+ from ._enums import *
17
18
  from ._inputs import *
18
19
 
19
20
  __all__ = ['NodegroupArgs', 'Nodegroup']