aws-cdk-lib 2.197.0__py3-none-any.whl → 2.199.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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (38) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.197.0.jsii.tgz → aws-cdk-lib@2.199.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_appconfig/__init__.py +296 -48
  4. aws_cdk/aws_applicationautoscaling/__init__.py +36 -0
  5. aws_cdk/aws_appsync/__init__.py +31 -21
  6. aws_cdk/aws_aps/__init__.py +343 -0
  7. aws_cdk/aws_autoscaling/__init__.py +2 -1
  8. aws_cdk/aws_bedrock/__init__.py +387 -4
  9. aws_cdk/aws_codepipeline/__init__.py +4 -2
  10. aws_cdk/aws_datasync/__init__.py +885 -839
  11. aws_cdk/aws_deadline/__init__.py +23 -4
  12. aws_cdk/aws_ec2/__init__.py +229 -12
  13. aws_cdk/aws_ecs/__init__.py +14 -2
  14. aws_cdk/aws_ecs_patterns/__init__.py +64 -12
  15. aws_cdk/aws_eks/__init__.py +40 -9
  16. aws_cdk/aws_elasticloadbalancingv2/__init__.py +14 -8
  17. aws_cdk/aws_events_targets/__init__.py +78 -1
  18. aws_cdk/aws_gamelift/__init__.py +15 -17
  19. aws_cdk/aws_lex/__init__.py +1245 -172
  20. aws_cdk/aws_mediapackagev2/__init__.py +11 -10
  21. aws_cdk/aws_omics/__init__.py +41 -19
  22. aws_cdk/aws_pcs/__init__.py +126 -0
  23. aws_cdk/aws_rds/__init__.py +48 -21
  24. aws_cdk/aws_rolesanywhere/__init__.py +14 -13
  25. aws_cdk/aws_sagemaker/__init__.py +38 -12
  26. aws_cdk/aws_ses/__init__.py +437 -0
  27. aws_cdk/aws_ssmquicksetup/__init__.py +10 -2
  28. aws_cdk/aws_stepfunctions_tasks/__init__.py +1502 -2
  29. aws_cdk/aws_synthetics/__init__.py +137 -3
  30. aws_cdk/aws_vpclattice/__init__.py +219 -209
  31. aws_cdk/aws_wafv2/__init__.py +4 -4
  32. aws_cdk/aws_workspaces/__init__.py +5 -3
  33. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/METADATA +2 -2
  34. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/RECORD +38 -38
  35. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/LICENSE +0 -0
  36. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/NOTICE +0 -0
  37. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/WHEEL +0 -0
  38. {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.199.0.dist-info}/top_level.txt +0 -0
@@ -10064,7 +10064,7 @@ class CfnService(
10064
10064
  - For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.
10065
10065
 
10066
10066
  :param log_driver: The log driver to use for the container. For tasks on AWS Fargate , the supported log drivers are ``awslogs`` , ``splunk`` , and ``awsfirelens`` . For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs`` , ``fluentd`` , ``gelf`` , ``json-file`` , ``journald`` , ``syslog`` , ``splunk`` , and ``awsfirelens`` . For more information about using the ``awslogs`` log driver, see `Send Amazon ECS logs to CloudWatch <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html>`_ in the *Amazon Elastic Container Service Developer Guide* . For more information about using the ``awsfirelens`` log driver, see `Send Amazon ECS logs to an AWS service or AWS Partner <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html>`_ . .. epigraph:: If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's `available on GitHub <https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent>`_ and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.
10067
- :param options: The configuration options to send to the log driver. The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following: - **awslogs-create-group** - Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to ``false`` . .. epigraph:: Your IAM policy must include the ``logs:CreateLogGroup`` permission before you attempt to use ``awslogs-create-group`` . - **awslogs-region** - Required: Yes Specify the AWS Region that the ``awslogs`` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. - **awslogs-group** - Required: Yes Make sure to specify a log group that the ``awslogs`` log driver sends its log streams to. - **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2. Use the ``awslogs-stream-prefix`` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format ``prefix-name/container-name/ecs-task-id`` . If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. - **awslogs-datetime-format** - Required: No This option defines a multiline start pattern in Python ``strftime`` format. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see `awslogs-datetime-format <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format>`_ . You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. - **awslogs-multiline-pattern** - Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. For more information, see `awslogs-multiline-pattern <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern>`_ . This option is ignored if ``awslogs-datetime-format`` is also configured. You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. The following options apply to all supported log drivers. - **mode** - Required: No Valid values: ``non-blocking`` | ``blocking`` This option defines the delivery mode of log messages from the container to the log driver specified using ``logDriver`` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted. If you use the ``blocking`` mode and the flow of logs is interrupted, calls from container code to write to the ``stdout`` and ``stderr`` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ . You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* . - **max-buffer-size** - Required: No Default value: ``1m`` When ``non-blocking`` mode is used, the ``max-buffer-size`` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url`` . When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker. Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream`` . When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream`` . When you export logs to Amazon OpenSearch Service, you can specify options like ``Name`` , ``Host`` (OpenSearch Service endpoint without protocol), ``Port`` , ``Index`` , ``Type`` , ``Aws_auth`` , ``Aws_region`` , ``Suppress_Type_Name`` , and ``tls`` . For more information, see `Under the hood: FireLens for Amazon ECS Tasks <https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/>`_ . When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region`` , ``total_file_size`` , ``upload_timeout`` , and ``use_put_object`` as options. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``
10067
+ :param options: The configuration options to send to the log driver. The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following: - **awslogs-create-group** - Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to ``false`` . .. epigraph:: Your IAM policy must include the ``logs:CreateLogGroup`` permission before you attempt to use ``awslogs-create-group`` . - **awslogs-region** - Required: Yes Specify the AWS Region that the ``awslogs`` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. - **awslogs-group** - Required: Yes Make sure to specify a log group that the ``awslogs`` log driver sends its log streams to. - **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2. Use the ``awslogs-stream-prefix`` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format ``prefix-name/container-name/ecs-task-id`` . If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. - **awslogs-datetime-format** - Required: No This option defines a multiline start pattern in Python ``strftime`` format. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see `awslogs-datetime-format <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format>`_ . You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. - **awslogs-multiline-pattern** - Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. For more information, see `awslogs-multiline-pattern <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern>`_ . This option is ignored if ``awslogs-datetime-format`` is also configured. You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. The following options apply to all supported log drivers. - **mode** - Required: No Valid values: ``non-blocking`` | ``blocking`` This option defines the delivery mode of log messages from the container to the log driver specified using ``logDriver`` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted. If you use the ``blocking`` mode and the flow of logs is interrupted, calls from container code to write to the ``stdout`` and ``stderr`` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ . You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: On June 25, 2025, Amazon ECS is changing the default log driver mode from ``blocking`` to ``non-blocking`` to prioritize task availability over logging. To continue using the ``blocking`` mode after this change, do one of the following: - Set the ``mode`` option in your container definition's ``logConfiguration`` as ``blocking`` . - Set the ``defaultLogDriverMode`` account setting to ``blocking`` . - **max-buffer-size** - Required: No Default value: ``1m`` When ``non-blocking`` mode is used, the ``max-buffer-size`` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url`` . When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker. Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream`` . When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream`` . When you export logs to Amazon OpenSearch Service, you can specify options like ``Name`` , ``Host`` (OpenSearch Service endpoint without protocol), ``Port`` , ``Index`` , ``Type`` , ``Aws_auth`` , ``Aws_region`` , ``Suppress_Type_Name`` , and ``tls`` . For more information, see `Under the hood: FireLens for Amazon ECS Tasks <https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/>`_ . When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region`` , ``total_file_size`` , ``upload_timeout`` , and ``use_put_object`` as options. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``
10068
10068
  :param secret_options: The secrets to pass to the log configuration. For more information, see `Specifying sensitive data <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
10069
10069
 
10070
10070
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-logconfiguration.html
@@ -10192,6 +10192,12 @@ class CfnService(
10192
10192
  If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ .
10193
10193
 
10194
10194
  You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* .
10195
+ .. epigraph::
10196
+
10197
+ On June 25, 2025, Amazon ECS is changing the default log driver mode from ``blocking`` to ``non-blocking`` to prioritize task availability over logging. To continue using the ``blocking`` mode after this change, do one of the following:
10198
+
10199
+ - Set the ``mode`` option in your container definition's ``logConfiguration`` as ``blocking`` .
10200
+ - Set the ``defaultLogDriverMode`` account setting to ``blocking`` .
10195
10201
 
10196
10202
  - **max-buffer-size** - Required: No
10197
10203
 
@@ -15998,7 +16004,7 @@ class CfnTaskDefinition(
15998
16004
  '''The ``LogConfiguration`` property specifies log configuration options to send to a custom log driver for the container.
15999
16005
 
16000
16006
  :param log_driver: The log driver to use for the container. For tasks on AWS Fargate , the supported log drivers are ``awslogs`` , ``splunk`` , and ``awsfirelens`` . For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs`` , ``fluentd`` , ``gelf`` , ``json-file`` , ``journald`` , ``syslog`` , ``splunk`` , and ``awsfirelens`` . For more information about using the ``awslogs`` log driver, see `Send Amazon ECS logs to CloudWatch <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html>`_ in the *Amazon Elastic Container Service Developer Guide* . For more information about using the ``awsfirelens`` log driver, see `Send Amazon ECS logs to an AWS service or AWS Partner <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html>`_ . .. epigraph:: If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's `available on GitHub <https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent>`_ and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.
16001
- :param options: The configuration options to send to the log driver. The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following: - **awslogs-create-group** - Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to ``false`` . .. epigraph:: Your IAM policy must include the ``logs:CreateLogGroup`` permission before you attempt to use ``awslogs-create-group`` . - **awslogs-region** - Required: Yes Specify the AWS Region that the ``awslogs`` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. - **awslogs-group** - Required: Yes Make sure to specify a log group that the ``awslogs`` log driver sends its log streams to. - **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2. Use the ``awslogs-stream-prefix`` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format ``prefix-name/container-name/ecs-task-id`` . If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. - **awslogs-datetime-format** - Required: No This option defines a multiline start pattern in Python ``strftime`` format. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see `awslogs-datetime-format <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format>`_ . You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. - **awslogs-multiline-pattern** - Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. For more information, see `awslogs-multiline-pattern <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern>`_ . This option is ignored if ``awslogs-datetime-format`` is also configured. You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. The following options apply to all supported log drivers. - **mode** - Required: No Valid values: ``non-blocking`` | ``blocking`` This option defines the delivery mode of log messages from the container to the log driver specified using ``logDriver`` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted. If you use the ``blocking`` mode and the flow of logs is interrupted, calls from container code to write to the ``stdout`` and ``stderr`` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ . You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* . - **max-buffer-size** - Required: No Default value: ``1m`` When ``non-blocking`` mode is used, the ``max-buffer-size`` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url`` . When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker. Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream`` . When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream`` . When you export logs to Amazon OpenSearch Service, you can specify options like ``Name`` , ``Host`` (OpenSearch Service endpoint without protocol), ``Port`` , ``Index`` , ``Type`` , ``Aws_auth`` , ``Aws_region`` , ``Suppress_Type_Name`` , and ``tls`` . For more information, see `Under the hood: FireLens for Amazon ECS Tasks <https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/>`_ . When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region`` , ``total_file_size`` , ``upload_timeout`` , and ``use_put_object`` as options. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``
16007
+ :param options: The configuration options to send to the log driver. The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following: - **awslogs-create-group** - Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to ``false`` . .. epigraph:: Your IAM policy must include the ``logs:CreateLogGroup`` permission before you attempt to use ``awslogs-create-group`` . - **awslogs-region** - Required: Yes Specify the AWS Region that the ``awslogs`` log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. - **awslogs-group** - Required: Yes Make sure to specify a log group that the ``awslogs`` log driver sends its log streams to. - **awslogs-stream-prefix** - Required: Yes, when using Fargate.Optional when using EC2. Use the ``awslogs-stream-prefix`` option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format ``prefix-name/container-name/ecs-task-id`` . If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. - **awslogs-datetime-format** - Required: No This option defines a multiline start pattern in Python ``strftime`` format. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see `awslogs-datetime-format <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-datetime-format>`_ . You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. - **awslogs-multiline-pattern** - Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages. For more information, see `awslogs-multiline-pattern <https://docs.aws.amazon.com/https://docs.docker.com/config/containers/logging/awslogs/#awslogs-multiline-pattern>`_ . This option is ignored if ``awslogs-datetime-format`` is also configured. You cannot configure both the ``awslogs-datetime-format`` and ``awslogs-multiline-pattern`` options. .. epigraph:: Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. The following options apply to all supported log drivers. - **mode** - Required: No Valid values: ``non-blocking`` | ``blocking`` This option defines the delivery mode of log messages from the container to the log driver specified using ``logDriver`` . The delivery mode you choose affects application availability when the flow of logs from container is interrupted. If you use the ``blocking`` mode and the flow of logs is interrupted, calls from container code to write to the ``stdout`` and ``stderr`` streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ . You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: On June 25, 2025, Amazon ECS is changing the default log driver mode from ``blocking`` to ``non-blocking`` to prioritize task availability over logging. To continue using the ``blocking`` mode after this change, do one of the following: - Set the ``mode`` option in your container definition's ``logConfiguration`` as ``blocking`` . - Set the ``defaultLogDriverMode`` account setting to ``blocking`` . - **max-buffer-size** - Required: No Default value: ``1m`` When ``non-blocking`` mode is used, the ``max-buffer-size`` log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url`` . When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker. Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream`` . When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream`` . When you export logs to Amazon OpenSearch Service, you can specify options like ``Name`` , ``Host`` (OpenSearch Service endpoint without protocol), ``Port`` , ``Index`` , ``Type`` , ``Aws_auth`` , ``Aws_region`` , ``Suppress_Type_Name`` , and ``tls`` . For more information, see `Under the hood: FireLens for Amazon ECS Tasks <https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/>`_ . When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region`` , ``total_file_size`` , ``upload_timeout`` , and ``use_put_object`` as options. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``
16002
16008
  :param secret_options: The secrets to pass to the log configuration. For more information, see `Specifying sensitive data <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16003
16009
 
16004
16010
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-logconfiguration.html
@@ -16129,6 +16135,12 @@ class CfnTaskDefinition(
16129
16135
  If you use the ``non-blocking`` mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the ``max-buffer-size`` option. This prevents the application from becoming unresponsive when logs cannot be sent. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see `Preventing log loss with non-blocking mode in the ``awslogs`` container log driver <https://docs.aws.amazon.com/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/>`_ .
16130
16136
 
16131
16137
  You can set a default ``mode`` for all containers in a specific AWS Region by using the ``defaultLogDriverMode`` account setting. If you don't specify the ``mode`` option or configure the account setting, Amazon ECS will default to the ``blocking`` mode. For more information about the account setting, see `Default log driver mode <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#default-log-driver-mode>`_ in the *Amazon Elastic Container Service Developer Guide* .
16138
+ .. epigraph::
16139
+
16140
+ On June 25, 2025, Amazon ECS is changing the default log driver mode from ``blocking`` to ``non-blocking`` to prioritize task availability over logging. To continue using the ``blocking`` mode after this change, do one of the following:
16141
+
16142
+ - Set the ``mode`` option in your container definition's ``logConfiguration`` as ``blocking`` .
16143
+ - Set the ``defaultLogDriverMode`` account setting to ``blocking`` .
16132
16144
 
16133
16145
  - **max-buffer-size** - Required: No
16134
16146
 
@@ -249,7 +249,9 @@ load_balanced_fargate_service = ecs_patterns.NetworkMultipleTargetGroupsFargateS
249
249
  container_port=90,
250
250
  listener="listener2"
251
251
  )
252
- ]
252
+ ],
253
+ min_healthy_percent=100,
254
+ max_healthy_percent=200
253
255
  )
254
256
  ```
255
257
 
@@ -1598,7 +1600,7 @@ class ApplicationLoadBalancedServiceBase(
1598
1600
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
1599
1601
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
1600
1602
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
1601
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
1603
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
1602
1604
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
1603
1605
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
1604
1606
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -1837,7 +1839,7 @@ class ApplicationLoadBalancedServiceBaseProps:
1837
1839
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
1838
1840
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
1839
1841
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
1840
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
1842
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
1841
1843
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
1842
1844
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
1843
1845
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -2327,7 +2329,9 @@ class ApplicationLoadBalancedServiceBaseProps:
2327
2329
 
2328
2330
  @builtins.property
2329
2331
  def redirect_http(self) -> typing.Optional[builtins.bool]:
2330
- '''Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS.
2332
+ '''Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects.
2333
+
2334
+ This is only valid if the protocol of the ALB is HTTPS.
2331
2335
 
2332
2336
  :default: false
2333
2337
  '''
@@ -7613,7 +7617,7 @@ class ApplicationLoadBalancedEc2Service(
7613
7617
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
7614
7618
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
7615
7619
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
7616
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
7620
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
7617
7621
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
7618
7622
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
7619
7623
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -7791,7 +7795,7 @@ class ApplicationLoadBalancedEc2ServiceProps(ApplicationLoadBalancedServiceBaseP
7791
7795
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
7792
7796
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
7793
7797
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
7794
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
7798
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
7795
7799
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
7796
7800
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
7797
7801
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -8222,7 +8226,9 @@ class ApplicationLoadBalancedEc2ServiceProps(ApplicationLoadBalancedServiceBaseP
8222
8226
 
8223
8227
  @builtins.property
8224
8228
  def redirect_http(self) -> typing.Optional[builtins.bool]:
8225
- '''Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS.
8229
+ '''Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects.
8230
+
8231
+ This is only valid if the protocol of the ALB is HTTPS.
8226
8232
 
8227
8233
  :default: false
8228
8234
  '''
@@ -8509,7 +8515,7 @@ class ApplicationLoadBalancedFargateService(
8509
8515
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
8510
8516
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
8511
8517
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
8512
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
8518
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
8513
8519
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
8514
8520
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
8515
8521
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -8728,7 +8734,7 @@ class ApplicationLoadBalancedFargateServiceProps(
8728
8734
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
8729
8735
  :param public_load_balancer: Determines whether the Load Balancer will be internet-facing. Default: true
8730
8736
  :param record_type: Specifies whether the Route53 record should be a CNAME, an A record using the Alias feature or no record at all. This is useful if you need to work with DNS systems that do not support alias records. Default: ApplicationLoadBalancedServiceRecordType.ALIAS
8731
- :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS. Default: false
8737
+ :param redirect_http: Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects. This is only valid if the protocol of the ALB is HTTPS. Default: false
8732
8738
  :param service_name: The name of the service. Default: - CloudFormation-generated name.
8733
8739
  :param ssl_policy: The security policy that defines which ciphers and protocols are supported by the ALB Listener. Default: - The recommended elastic load balancing security policy
8734
8740
  :param target_protocol: The protocol for connections from the load balancer to the ECS tasks. The default target port is determined from the protocol (port 80 for HTTP, port 443 for HTTPS). Default: HTTP.
@@ -9197,7 +9203,9 @@ class ApplicationLoadBalancedFargateServiceProps(
9197
9203
 
9198
9204
  @builtins.property
9199
9205
  def redirect_http(self) -> typing.Optional[builtins.bool]:
9200
- '''Specifies whether the load balancer should redirect traffic on port 80 to port 443 to support HTTP->HTTPS redirects This is only valid if the protocol of the ALB is HTTPS.
9206
+ '''Specifies whether the load balancer should redirect traffic on port 80 to the {@link listenerPort} to support HTTP->HTTPS redirects.
9207
+
9208
+ This is only valid if the protocol of the ALB is HTTPS.
9201
9209
 
9202
9210
  :default: false
9203
9211
  '''
@@ -12682,7 +12690,9 @@ class NetworkMultipleTargetGroupsFargateService(
12682
12690
  container_port=90,
12683
12691
  listener="listener2"
12684
12692
  )
12685
- ]
12693
+ ],
12694
+ min_healthy_percent=100,
12695
+ max_healthy_percent=200
12686
12696
  )
12687
12697
  '''
12688
12698
 
@@ -12692,6 +12702,8 @@ class NetworkMultipleTargetGroupsFargateService(
12692
12702
  id: builtins.str,
12693
12703
  *,
12694
12704
  assign_public_ip: typing.Optional[builtins.bool] = None,
12705
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
12706
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
12695
12707
  cloud_map_options: typing.Optional[typing.Union[_CloudMapOptions_444ee9f2, typing.Dict[builtins.str, typing.Any]]] = None,
12696
12708
  cluster: typing.Optional[_ICluster_16cddd09] = None,
12697
12709
  desired_count: typing.Optional[jsii.Number] = None,
@@ -12716,6 +12728,8 @@ class NetworkMultipleTargetGroupsFargateService(
12716
12728
  :param scope: -
12717
12729
  :param id: -
12718
12730
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
12731
+ :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 200%
12732
+ :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 50%
12719
12733
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
12720
12734
  :param cluster: The name of the cluster that hosts the service. If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc. Default: - create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.
12721
12735
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. The minimum value is 1 Default: - The default is 1 for all new services and uses the existing service's desired count when updating an existing service.
@@ -12741,6 +12755,8 @@ class NetworkMultipleTargetGroupsFargateService(
12741
12755
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
12742
12756
  props = NetworkMultipleTargetGroupsFargateServiceProps(
12743
12757
  assign_public_ip=assign_public_ip,
12758
+ max_healthy_percent=max_healthy_percent,
12759
+ min_healthy_percent=min_healthy_percent,
12744
12760
  cloud_map_options=cloud_map_options,
12745
12761
  cluster=cluster,
12746
12762
  desired_count=desired_count,
@@ -12824,6 +12840,8 @@ class NetworkMultipleTargetGroupsFargateService(
12824
12840
  "runtime_platform": "runtimePlatform",
12825
12841
  "task_definition": "taskDefinition",
12826
12842
  "assign_public_ip": "assignPublicIp",
12843
+ "max_healthy_percent": "maxHealthyPercent",
12844
+ "min_healthy_percent": "minHealthyPercent",
12827
12845
  },
12828
12846
  )
12829
12847
  class NetworkMultipleTargetGroupsFargateServiceProps(
@@ -12852,6 +12870,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12852
12870
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
12853
12871
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
12854
12872
  assign_public_ip: typing.Optional[builtins.bool] = None,
12873
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
12874
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
12855
12875
  ) -> None:
12856
12876
  '''The properties for the NetworkMultipleTargetGroupsFargateService service.
12857
12877
 
@@ -12874,6 +12894,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12874
12894
  :param runtime_platform: The runtime platform of the task definition. Default: - If the property is undefined, ``operatingSystemFamily`` is LINUX and ``cpuArchitecture`` is X86_64
12875
12895
  :param task_definition: The task definition to use for tasks in the service. TaskDefinition or TaskImageOptions must be specified, but not both. [disable-awslint:ref-via-interface] Default: - none
12876
12896
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
12897
+ :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 200%
12898
+ :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 50%
12877
12899
 
12878
12900
  :exampleMetadata: infused
12879
12901
 
@@ -12909,7 +12931,9 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12909
12931
  container_port=90,
12910
12932
  listener="listener2"
12911
12933
  )
12912
- ]
12934
+ ],
12935
+ min_healthy_percent=100,
12936
+ max_healthy_percent=200
12913
12937
  )
12914
12938
  '''
12915
12939
  if isinstance(cloud_map_options, dict):
@@ -12939,6 +12963,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12939
12963
  check_type(argname="argument runtime_platform", value=runtime_platform, expected_type=type_hints["runtime_platform"])
12940
12964
  check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
12941
12965
  check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
12966
+ check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
12967
+ check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
12942
12968
  self._values: typing.Dict[builtins.str, typing.Any] = {}
12943
12969
  if cloud_map_options is not None:
12944
12970
  self._values["cloud_map_options"] = cloud_map_options
@@ -12978,6 +13004,10 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12978
13004
  self._values["task_definition"] = task_definition
12979
13005
  if assign_public_ip is not None:
12980
13006
  self._values["assign_public_ip"] = assign_public_ip
13007
+ if max_healthy_percent is not None:
13008
+ self._values["max_healthy_percent"] = max_healthy_percent
13009
+ if min_healthy_percent is not None:
13010
+ self._values["min_healthy_percent"] = min_healthy_percent
12981
13011
 
12982
13012
  @builtins.property
12983
13013
  def cloud_map_options(self) -> typing.Optional[_CloudMapOptions_444ee9f2]:
@@ -13213,6 +13243,24 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
13213
13243
  result = self._values.get("assign_public_ip")
13214
13244
  return typing.cast(typing.Optional[builtins.bool], result)
13215
13245
 
13246
+ @builtins.property
13247
+ def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
13248
+ '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
13249
+
13250
+ :default: - 200%
13251
+ '''
13252
+ result = self._values.get("max_healthy_percent")
13253
+ return typing.cast(typing.Optional[jsii.Number], result)
13254
+
13255
+ @builtins.property
13256
+ def min_healthy_percent(self) -> typing.Optional[jsii.Number]:
13257
+ '''The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.
13258
+
13259
+ :default: - 50%
13260
+ '''
13261
+ result = self._values.get("min_healthy_percent")
13262
+ return typing.cast(typing.Optional[jsii.Number], result)
13263
+
13216
13264
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
13217
13265
  return isinstance(rhs, self.__class__) and rhs._values == self._values
13218
13266
 
@@ -17589,6 +17637,8 @@ def _typecheckingstub__d0896ef010a141982cad4e6363ddf5474e1d63a5c38dc712f84a1d13e
17589
17637
  id: builtins.str,
17590
17638
  *,
17591
17639
  assign_public_ip: typing.Optional[builtins.bool] = None,
17640
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
17641
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
17592
17642
  cloud_map_options: typing.Optional[typing.Union[_CloudMapOptions_444ee9f2, typing.Dict[builtins.str, typing.Any]]] = None,
17593
17643
  cluster: typing.Optional[_ICluster_16cddd09] = None,
17594
17644
  desired_count: typing.Optional[jsii.Number] = None,
@@ -17632,6 +17682,8 @@ def _typecheckingstub__052b2be34bb887cde358099c21efe7f3e968827a5a4e4c975e35f96da
17632
17682
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
17633
17683
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
17634
17684
  assign_public_ip: typing.Optional[builtins.bool] = None,
17685
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
17686
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
17635
17687
  ) -> None:
17636
17688
  """Type checking stubs"""
17637
17689
  pass
@@ -1976,10 +1976,13 @@ load_balancer_address = cluster.get_service_load_balancer_address("my-service")
1976
1976
 
1977
1977
  eks.Addon(self, "Addon",
1978
1978
  cluster=cluster,
1979
- addon_name="aws-guardduty-agent",
1980
- addon_version="v1.6.1",
1979
+ addon_name="coredns",
1980
+ addon_version="v1.11.4-eksbuild.2",
1981
1981
  # whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
1982
- preserve_on_delete=False
1982
+ preserve_on_delete=False,
1983
+ configuration_values={
1984
+ "replica_count": 2
1985
+ }
1983
1986
  )
1984
1987
  ```
1985
1988
 
@@ -2808,6 +2811,7 @@ class AddonAttributes:
2808
2811
  "addon_name": "addonName",
2809
2812
  "cluster": "cluster",
2810
2813
  "addon_version": "addonVersion",
2814
+ "configuration_values": "configurationValues",
2811
2815
  "preserve_on_delete": "preserveOnDelete",
2812
2816
  },
2813
2817
  )
@@ -2818,6 +2822,7 @@ class AddonProps:
2818
2822
  addon_name: builtins.str,
2819
2823
  cluster: "ICluster",
2820
2824
  addon_version: typing.Optional[builtins.str] = None,
2825
+ configuration_values: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
2821
2826
  preserve_on_delete: typing.Optional[builtins.bool] = None,
2822
2827
  ) -> None:
2823
2828
  '''Properties for creating an Amazon EKS Add-On.
@@ -2825,6 +2830,7 @@ class AddonProps:
2825
2830
  :param addon_name: Name of the Add-On.
2826
2831
  :param cluster: The EKS cluster the Add-On is associated with.
2827
2832
  :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versions. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
2833
+ :param configuration_values: The configuration values for the Add-on. Default: - Use default configuration.
2828
2834
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
2829
2835
 
2830
2836
  :exampleMetadata: infused
@@ -2836,10 +2842,13 @@ class AddonProps:
2836
2842
 
2837
2843
  eks.Addon(self, "Addon",
2838
2844
  cluster=cluster,
2839
- addon_name="aws-guardduty-agent",
2840
- addon_version="v1.6.1",
2845
+ addon_name="coredns",
2846
+ addon_version="v1.11.4-eksbuild.2",
2841
2847
  # whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
2842
- preserve_on_delete=False
2848
+ preserve_on_delete=False,
2849
+ configuration_values={
2850
+ "replica_count": 2
2851
+ }
2843
2852
  )
2844
2853
  '''
2845
2854
  if __debug__:
@@ -2847,6 +2856,7 @@ class AddonProps:
2847
2856
  check_type(argname="argument addon_name", value=addon_name, expected_type=type_hints["addon_name"])
2848
2857
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
2849
2858
  check_type(argname="argument addon_version", value=addon_version, expected_type=type_hints["addon_version"])
2859
+ check_type(argname="argument configuration_values", value=configuration_values, expected_type=type_hints["configuration_values"])
2850
2860
  check_type(argname="argument preserve_on_delete", value=preserve_on_delete, expected_type=type_hints["preserve_on_delete"])
2851
2861
  self._values: typing.Dict[builtins.str, typing.Any] = {
2852
2862
  "addon_name": addon_name,
@@ -2854,6 +2864,8 @@ class AddonProps:
2854
2864
  }
2855
2865
  if addon_version is not None:
2856
2866
  self._values["addon_version"] = addon_version
2867
+ if configuration_values is not None:
2868
+ self._values["configuration_values"] = configuration_values
2857
2869
  if preserve_on_delete is not None:
2858
2870
  self._values["preserve_on_delete"] = preserve_on_delete
2859
2871
 
@@ -2885,6 +2897,17 @@ class AddonProps:
2885
2897
  result = self._values.get("addon_version")
2886
2898
  return typing.cast(typing.Optional[builtins.str], result)
2887
2899
 
2900
+ @builtins.property
2901
+ def configuration_values(
2902
+ self,
2903
+ ) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
2904
+ '''The configuration values for the Add-on.
2905
+
2906
+ :default: - Use default configuration.
2907
+ '''
2908
+ result = self._values.get("configuration_values")
2909
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
2910
+
2888
2911
  @builtins.property
2889
2912
  def preserve_on_delete(self) -> typing.Optional[builtins.bool]:
2890
2913
  '''Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
@@ -18415,10 +18438,13 @@ class Addon(
18415
18438
 
18416
18439
  eks.Addon(self, "Addon",
18417
18440
  cluster=cluster,
18418
- addon_name="aws-guardduty-agent",
18419
- addon_version="v1.6.1",
18441
+ addon_name="coredns",
18442
+ addon_version="v1.11.4-eksbuild.2",
18420
18443
  # whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
18421
- preserve_on_delete=False
18444
+ preserve_on_delete=False,
18445
+ configuration_values={
18446
+ "replica_count": 2
18447
+ }
18422
18448
  )
18423
18449
  '''
18424
18450
 
@@ -18430,6 +18456,7 @@ class Addon(
18430
18456
  addon_name: builtins.str,
18431
18457
  cluster: ICluster,
18432
18458
  addon_version: typing.Optional[builtins.str] = None,
18459
+ configuration_values: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
18433
18460
  preserve_on_delete: typing.Optional[builtins.bool] = None,
18434
18461
  ) -> None:
18435
18462
  '''Creates a new Amazon EKS Add-On.
@@ -18439,6 +18466,7 @@ class Addon(
18439
18466
  :param addon_name: Name of the Add-On.
18440
18467
  :param cluster: The EKS cluster the Add-On is associated with.
18441
18468
  :param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versions. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
18469
+ :param configuration_values: The configuration values for the Add-on. Default: - Use default configuration.
18442
18470
  :param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
18443
18471
  '''
18444
18472
  if __debug__:
@@ -18449,6 +18477,7 @@ class Addon(
18449
18477
  addon_name=addon_name,
18450
18478
  cluster=cluster,
18451
18479
  addon_version=addon_version,
18480
+ configuration_values=configuration_values,
18452
18481
  preserve_on_delete=preserve_on_delete,
18453
18482
  )
18454
18483
 
@@ -21808,6 +21837,7 @@ def _typecheckingstub__febc9f6cb4243d885b1b1838be38d633e7c5fc6534eaaf731f00a2465
21808
21837
  addon_name: builtins.str,
21809
21838
  cluster: ICluster,
21810
21839
  addon_version: typing.Optional[builtins.str] = None,
21840
+ configuration_values: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
21811
21841
  preserve_on_delete: typing.Optional[builtins.bool] = None,
21812
21842
  ) -> None:
21813
21843
  """Type checking stubs"""
@@ -23585,6 +23615,7 @@ def _typecheckingstub__a8342124e215d4789acf852df764143c4809251dbcaa86f6b4a11860e
23585
23615
  addon_name: builtins.str,
23586
23616
  cluster: ICluster,
23587
23617
  addon_version: typing.Optional[builtins.str] = None,
23618
+ configuration_values: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
23588
23619
  preserve_on_delete: typing.Optional[builtins.bool] = None,
23589
23620
  ) -> None:
23590
23621
  """Type checking stubs"""
@@ -3859,7 +3859,7 @@ class CfnListener(
3859
3859
  :param load_balancer_arn: The Amazon Resource Name (ARN) of the load balancer.
3860
3860
  :param alpn_policy: [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
3861
3861
  :param certificates: The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use `AWS::ElasticLoadBalancingV2::ListenerCertificate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html>`_ .
3862
- :param listener_attributes: The listener attributes.
3862
+ :param listener_attributes: The listener attributes. Attributes that you do not modify retain their current values.
3863
3863
  :param mutual_authentication: The mutual authentication configuration information.
3864
3864
  :param port: The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.
3865
3865
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.
@@ -5808,7 +5808,7 @@ class CfnListenerProps:
5808
5808
  :param load_balancer_arn: The Amazon Resource Name (ARN) of the load balancer.
5809
5809
  :param alpn_policy: [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
5810
5810
  :param certificates: The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use `AWS::ElasticLoadBalancingV2::ListenerCertificate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html>`_ .
5811
- :param listener_attributes: The listener attributes.
5811
+ :param listener_attributes: The listener attributes. Attributes that you do not modify retain their current values.
5812
5812
  :param mutual_authentication: The mutual authentication configuration information.
5813
5813
  :param port: The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.
5814
5814
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.
@@ -5996,6 +5996,8 @@ class CfnListenerProps:
5996
5996
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnListener.ListenerAttributeProperty]]]]:
5997
5997
  '''The listener attributes.
5998
5998
 
5999
+ Attributes that you do not modify retain their current values.
6000
+
5999
6001
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-listenerattributes
6000
6002
  '''
6001
6003
  result = self._values.get("listener_attributes")
@@ -7220,7 +7222,7 @@ class CfnListenerRule(
7220
7222
  ) -> None:
7221
7223
  '''Information about a host header condition.
7222
7224
 
7223
- :param values: The host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.
7225
+ :param values: The host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). You must include at least one "." character. You can include only alphabetical characters after the final "." character. If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.
7224
7226
 
7225
7227
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-hostheaderconfig.html
7226
7228
  :exampleMetadata: fixture=_generated
@@ -7246,7 +7248,7 @@ class CfnListenerRule(
7246
7248
  def values(self) -> typing.Optional[typing.List[builtins.str]]:
7247
7249
  '''The host names.
7248
7250
 
7249
- The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
7251
+ The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). You must include at least one "." character. You can include only alphabetical characters after the final "." character.
7250
7252
 
7251
7253
  If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.
7252
7254
 
@@ -8499,7 +8501,7 @@ class CfnLoadBalancer(
8499
8501
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
8500
8502
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
8501
8503
  :param ipv4_ipam_pool_id: The ID of the IPv4 IPAM pool.
8502
- :param load_balancer_attributes: The load balancer attributes.
8504
+ :param load_balancer_attributes: The load balancer attributes. Attributes that you do not modify retain their current values.
8503
8505
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
8504
8506
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
8505
8507
  :param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
@@ -9160,7 +9162,7 @@ class CfnLoadBalancerProps:
9160
9162
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
9161
9163
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
9162
9164
  :param ipv4_ipam_pool_id: The ID of the IPv4 IPAM pool.
9163
- :param load_balancer_attributes: The load balancer attributes.
9165
+ :param load_balancer_attributes: The load balancer attributes. Attributes that you do not modify retain their current values.
9164
9166
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
9165
9167
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
9166
9168
  :param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
@@ -9310,6 +9312,8 @@ class CfnLoadBalancerProps:
9310
9312
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.LoadBalancerAttributeProperty]]]]:
9311
9313
  '''The load balancer attributes.
9312
9314
 
9315
+ Attributes that you do not modify retain their current values.
9316
+
9313
9317
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes
9314
9318
  '''
9315
9319
  result = self._values.get("load_balancer_attributes")
@@ -9539,7 +9543,7 @@ class CfnTargetGroup(
9539
9543
  :param protocol: The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.
9540
9544
  :param protocol_version: [HTTP/HTTPS protocol] The protocol version. The possible values are ``GRPC`` , ``HTTP1`` , and ``HTTP2`` .
9541
9545
  :param tags: The tags.
9542
- :param target_group_attributes: The target group attributes.
9546
+ :param target_group_attributes: The target group attributes. Attributes that you do not modify retain their current values.
9543
9547
  :param targets: The targets.
9544
9548
  :param target_type: The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type. - ``instance`` - Register targets by instance ID. This is the default value. - ``ip`` - Register targets by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. - ``lambda`` - Register a single Lambda function as a target. - ``alb`` - Register a single Application Load Balancer as a target.
9545
9549
  :param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 2. If the target type is ``lambda`` , the default is 5.
@@ -10293,7 +10297,7 @@ class CfnTargetGroupProps:
10293
10297
  :param protocol: The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers, the supported protocol is GENEVE. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.
10294
10298
  :param protocol_version: [HTTP/HTTPS protocol] The protocol version. The possible values are ``GRPC`` , ``HTTP1`` , and ``HTTP2`` .
10295
10299
  :param tags: The tags.
10296
- :param target_group_attributes: The target group attributes.
10300
+ :param target_group_attributes: The target group attributes. Attributes that you do not modify retain their current values.
10297
10301
  :param targets: The targets.
10298
10302
  :param target_type: The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type. - ``instance`` - Register targets by instance ID. This is the default value. - ``ip`` - Register targets by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. - ``lambda`` - Register a single Lambda function as a target. - ``alb`` - Register a single Application Load Balancer as a target.
10299
10303
  :param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. The range is 2-10. If the target group protocol is TCP, TCP_UDP, UDP, TLS, HTTP or HTTPS, the default is 2. For target groups with a protocol of GENEVE, the default is 2. If the target type is ``lambda`` , the default is 5.
@@ -10570,6 +10574,8 @@ class CfnTargetGroupProps:
10570
10574
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTargetGroup.TargetGroupAttributeProperty]]]]:
10571
10575
  '''The target group attributes.
10572
10576
 
10577
+ Attributes that you do not modify retain their current values.
10578
+
10573
10579
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattributes
10574
10580
  '''
10575
10581
  result = self._values.get("target_group_attributes")