aws-cdk-lib 2.197.0__py3-none-any.whl → 2.198.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.
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.197.0.jsii.tgz → aws-cdk-lib@2.198.0.jsii.tgz} +0 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +36 -0
- aws_cdk/aws_appsync/__init__.py +31 -21
- aws_cdk/aws_autoscaling/__init__.py +2 -1
- aws_cdk/aws_codepipeline/__init__.py +4 -2
- aws_cdk/aws_datasync/__init__.py +885 -839
- aws_cdk/aws_deadline/__init__.py +23 -4
- aws_cdk/aws_ec2/__init__.py +210 -4
- aws_cdk/aws_ecs/__init__.py +14 -2
- aws_cdk/aws_ecs_patterns/__init__.py +15 -9
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +14 -8
- aws_cdk/aws_gamelift/__init__.py +15 -17
- aws_cdk/aws_lex/__init__.py +1245 -172
- aws_cdk/aws_mediapackagev2/__init__.py +11 -10
- aws_cdk/aws_omics/__init__.py +41 -19
- aws_cdk/aws_pcs/__init__.py +126 -0
- aws_cdk/aws_rds/__init__.py +42 -15
- aws_cdk/aws_rolesanywhere/__init__.py +14 -13
- aws_cdk/aws_sagemaker/__init__.py +38 -12
- aws_cdk/aws_ses/__init__.py +188 -0
- aws_cdk/aws_ssmquicksetup/__init__.py +10 -2
- aws_cdk/aws_synthetics/__init__.py +137 -3
- aws_cdk/aws_wafv2/__init__.py +4 -4
- aws_cdk/aws_workspaces/__init__.py +5 -3
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/RECORD +31 -31
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.197.0.dist-info → aws_cdk_lib-2.198.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_deadline/__init__.py
CHANGED
|
@@ -447,7 +447,8 @@ class CfnFleet(
|
|
|
447
447
|
),
|
|
448
448
|
|
|
449
449
|
# the properties below are optional
|
|
450
|
-
storage_profile_id="storageProfileId"
|
|
450
|
+
storage_profile_id="storageProfileId",
|
|
451
|
+
tag_propagation_mode="tagPropagationMode"
|
|
451
452
|
),
|
|
452
453
|
service_managed_ec2=deadline.CfnFleet.ServiceManagedEc2FleetConfigurationProperty(
|
|
453
454
|
instance_capabilities=deadline.CfnFleet.ServiceManagedEc2InstanceCapabilitiesProperty(
|
|
@@ -1117,6 +1118,7 @@ class CfnFleet(
|
|
|
1117
1118
|
"mode": "mode",
|
|
1118
1119
|
"worker_capabilities": "workerCapabilities",
|
|
1119
1120
|
"storage_profile_id": "storageProfileId",
|
|
1121
|
+
"tag_propagation_mode": "tagPropagationMode",
|
|
1120
1122
|
},
|
|
1121
1123
|
)
|
|
1122
1124
|
class CustomerManagedFleetConfigurationProperty:
|
|
@@ -1126,12 +1128,14 @@ class CfnFleet(
|
|
|
1126
1128
|
mode: builtins.str,
|
|
1127
1129
|
worker_capabilities: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.CustomerManagedWorkerCapabilitiesProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
1128
1130
|
storage_profile_id: typing.Optional[builtins.str] = None,
|
|
1131
|
+
tag_propagation_mode: typing.Optional[builtins.str] = None,
|
|
1129
1132
|
) -> None:
|
|
1130
1133
|
'''The details of a customer managed fleet configuration.
|
|
1131
1134
|
|
|
1132
1135
|
:param mode: The AWS Auto Scaling mode for the customer managed fleet configuration.
|
|
1133
1136
|
:param worker_capabilities: The worker capabilities for a customer managed fleet configuration.
|
|
1134
1137
|
:param storage_profile_id: The storage profile ID.
|
|
1138
|
+
:param tag_propagation_mode:
|
|
1135
1139
|
|
|
1136
1140
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html
|
|
1137
1141
|
:exampleMetadata: fixture=_generated
|
|
@@ -1188,7 +1192,8 @@ class CfnFleet(
|
|
|
1188
1192
|
),
|
|
1189
1193
|
|
|
1190
1194
|
# the properties below are optional
|
|
1191
|
-
storage_profile_id="storageProfileId"
|
|
1195
|
+
storage_profile_id="storageProfileId",
|
|
1196
|
+
tag_propagation_mode="tagPropagationMode"
|
|
1192
1197
|
)
|
|
1193
1198
|
'''
|
|
1194
1199
|
if __debug__:
|
|
@@ -1196,12 +1201,15 @@ class CfnFleet(
|
|
|
1196
1201
|
check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
|
|
1197
1202
|
check_type(argname="argument worker_capabilities", value=worker_capabilities, expected_type=type_hints["worker_capabilities"])
|
|
1198
1203
|
check_type(argname="argument storage_profile_id", value=storage_profile_id, expected_type=type_hints["storage_profile_id"])
|
|
1204
|
+
check_type(argname="argument tag_propagation_mode", value=tag_propagation_mode, expected_type=type_hints["tag_propagation_mode"])
|
|
1199
1205
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1200
1206
|
"mode": mode,
|
|
1201
1207
|
"worker_capabilities": worker_capabilities,
|
|
1202
1208
|
}
|
|
1203
1209
|
if storage_profile_id is not None:
|
|
1204
1210
|
self._values["storage_profile_id"] = storage_profile_id
|
|
1211
|
+
if tag_propagation_mode is not None:
|
|
1212
|
+
self._values["tag_propagation_mode"] = tag_propagation_mode
|
|
1205
1213
|
|
|
1206
1214
|
@builtins.property
|
|
1207
1215
|
def mode(self) -> builtins.str:
|
|
@@ -1234,6 +1242,14 @@ class CfnFleet(
|
|
|
1234
1242
|
result = self._values.get("storage_profile_id")
|
|
1235
1243
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
1236
1244
|
|
|
1245
|
+
@builtins.property
|
|
1246
|
+
def tag_propagation_mode(self) -> typing.Optional[builtins.str]:
|
|
1247
|
+
'''
|
|
1248
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-tagpropagationmode
|
|
1249
|
+
'''
|
|
1250
|
+
result = self._values.get("tag_propagation_mode")
|
|
1251
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1252
|
+
|
|
1237
1253
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1238
1254
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1239
1255
|
|
|
@@ -1887,7 +1903,8 @@ class CfnFleet(
|
|
|
1887
1903
|
),
|
|
1888
1904
|
|
|
1889
1905
|
# the properties below are optional
|
|
1890
|
-
storage_profile_id="storageProfileId"
|
|
1906
|
+
storage_profile_id="storageProfileId",
|
|
1907
|
+
tag_propagation_mode="tagPropagationMode"
|
|
1891
1908
|
),
|
|
1892
1909
|
service_managed_ec2=deadline.CfnFleet.ServiceManagedEc2FleetConfigurationProperty(
|
|
1893
1910
|
instance_capabilities=deadline.CfnFleet.ServiceManagedEc2InstanceCapabilitiesProperty(
|
|
@@ -2748,7 +2765,8 @@ class CfnFleetProps:
|
|
|
2748
2765
|
),
|
|
2749
2766
|
|
|
2750
2767
|
# the properties below are optional
|
|
2751
|
-
storage_profile_id="storageProfileId"
|
|
2768
|
+
storage_profile_id="storageProfileId",
|
|
2769
|
+
tag_propagation_mode="tagPropagationMode"
|
|
2752
2770
|
),
|
|
2753
2771
|
service_managed_ec2=deadline.CfnFleet.ServiceManagedEc2FleetConfigurationProperty(
|
|
2754
2772
|
instance_capabilities=deadline.CfnFleet.ServiceManagedEc2InstanceCapabilitiesProperty(
|
|
@@ -6300,6 +6318,7 @@ def _typecheckingstub__1e0d0744c60a31b3157ef03f930266f6c000eafa44c6050607897ea5b
|
|
|
6300
6318
|
mode: builtins.str,
|
|
6301
6319
|
worker_capabilities: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.CustomerManagedWorkerCapabilitiesProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
6302
6320
|
storage_profile_id: typing.Optional[builtins.str] = None,
|
|
6321
|
+
tag_propagation_mode: typing.Optional[builtins.str] = None,
|
|
6303
6322
|
) -> None:
|
|
6304
6323
|
"""Type checking stubs"""
|
|
6305
6324
|
pass
|
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -16999,7 +16999,7 @@ class CfnHost(
|
|
|
16999
16999
|
:param instance_family: The instance family supported by the Dedicated Host. For example, ``m5`` .
|
|
17000
17000
|
:param instance_type: Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.
|
|
17001
17001
|
:param outpost_arn: The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.
|
|
17002
|
-
:param tags: Any tags assigned to the Host.
|
|
17002
|
+
:param tags: Any tags assigned to the Dedicated Host.
|
|
17003
17003
|
'''
|
|
17004
17004
|
if __debug__:
|
|
17005
17005
|
type_hints = typing.get_type_hints(_typecheckingstub__e3a07acffdb551edbc817b7c424628c812f21356d7f697757a332323f6dcfde8)
|
|
@@ -17176,7 +17176,7 @@ class CfnHost(
|
|
|
17176
17176
|
@builtins.property
|
|
17177
17177
|
@jsii.member(jsii_name="tags")
|
|
17178
17178
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
17179
|
-
'''Any tags assigned to the Host.'''
|
|
17179
|
+
'''Any tags assigned to the Dedicated Host.'''
|
|
17180
17180
|
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
17181
17181
|
|
|
17182
17182
|
@tags.setter
|
|
@@ -17226,7 +17226,7 @@ class CfnHostProps:
|
|
|
17226
17226
|
:param instance_family: The instance family supported by the Dedicated Host. For example, ``m5`` .
|
|
17227
17227
|
:param instance_type: Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.
|
|
17228
17228
|
:param outpost_arn: The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated.
|
|
17229
|
-
:param tags: Any tags assigned to the Host.
|
|
17229
|
+
:param tags: Any tags assigned to the Dedicated Host.
|
|
17230
17230
|
|
|
17231
17231
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html
|
|
17232
17232
|
:exampleMetadata: fixture=_generated
|
|
@@ -17372,7 +17372,7 @@ class CfnHostProps:
|
|
|
17372
17372
|
|
|
17373
17373
|
@builtins.property
|
|
17374
17374
|
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
17375
|
-
'''Any tags assigned to the Host.
|
|
17375
|
+
'''Any tags assigned to the Dedicated Host.
|
|
17376
17376
|
|
|
17377
17377
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-tags
|
|
17378
17378
|
'''
|
|
@@ -20667,6 +20667,13 @@ class CfnInstance(
|
|
|
20667
20667
|
license_specifications=[ec2.CfnInstance.LicenseSpecificationProperty(
|
|
20668
20668
|
license_configuration_arn="licenseConfigurationArn"
|
|
20669
20669
|
)],
|
|
20670
|
+
metadata_options=ec2.CfnInstance.MetadataOptionsProperty(
|
|
20671
|
+
http_endpoint="httpEndpoint",
|
|
20672
|
+
http_protocol_ipv6="httpProtocolIpv6",
|
|
20673
|
+
http_put_response_hop_limit=123,
|
|
20674
|
+
http_tokens="httpTokens",
|
|
20675
|
+
instance_metadata_tags="instanceMetadataTags"
|
|
20676
|
+
),
|
|
20670
20677
|
monitoring=False,
|
|
20671
20678
|
network_interfaces=[ec2.CfnInstance.NetworkInterfaceProperty(
|
|
20672
20679
|
device_index="deviceIndex",
|
|
@@ -20760,6 +20767,7 @@ class CfnInstance(
|
|
|
20760
20767
|
key_name: typing.Optional[builtins.str] = None,
|
|
20761
20768
|
launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.LaunchTemplateSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20762
20769
|
license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.LicenseSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
20770
|
+
metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.MetadataOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20763
20771
|
monitoring: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
20764
20772
|
network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.NetworkInterfaceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
20765
20773
|
placement_group_name: typing.Optional[builtins.str] = None,
|
|
@@ -20804,6 +20812,7 @@ class CfnInstance(
|
|
|
20804
20812
|
:param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
|
|
20805
20813
|
:param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
|
|
20806
20814
|
:param license_specifications: The license configurations.
|
|
20815
|
+
:param metadata_options:
|
|
20807
20816
|
:param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
|
|
20808
20817
|
:param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
|
|
20809
20818
|
:param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
|
|
@@ -20850,6 +20859,7 @@ class CfnInstance(
|
|
|
20850
20859
|
key_name=key_name,
|
|
20851
20860
|
launch_template=launch_template,
|
|
20852
20861
|
license_specifications=license_specifications,
|
|
20862
|
+
metadata_options=metadata_options,
|
|
20853
20863
|
monitoring=monitoring,
|
|
20854
20864
|
network_interfaces=network_interfaces,
|
|
20855
20865
|
placement_group_name=placement_group_name,
|
|
@@ -21371,6 +21381,23 @@ class CfnInstance(
|
|
|
21371
21381
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
21372
21382
|
jsii.set(self, "licenseSpecifications", value) # pyright: ignore[reportArgumentType]
|
|
21373
21383
|
|
|
21384
|
+
@builtins.property
|
|
21385
|
+
@jsii.member(jsii_name="metadataOptions")
|
|
21386
|
+
def metadata_options(
|
|
21387
|
+
self,
|
|
21388
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.MetadataOptionsProperty"]]:
|
|
21389
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.MetadataOptionsProperty"]], jsii.get(self, "metadataOptions"))
|
|
21390
|
+
|
|
21391
|
+
@metadata_options.setter
|
|
21392
|
+
def metadata_options(
|
|
21393
|
+
self,
|
|
21394
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.MetadataOptionsProperty"]],
|
|
21395
|
+
) -> None:
|
|
21396
|
+
if __debug__:
|
|
21397
|
+
type_hints = typing.get_type_hints(_typecheckingstub__829ee1a8f150cbfae9cd18b9c33d41b2e8f61b6ded5a58aa4c446baedaa0b5fc)
|
|
21398
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
21399
|
+
jsii.set(self, "metadataOptions", value) # pyright: ignore[reportArgumentType]
|
|
21400
|
+
|
|
21374
21401
|
@builtins.property
|
|
21375
21402
|
@jsii.member(jsii_name="monitoring")
|
|
21376
21403
|
def monitoring(
|
|
@@ -22831,6 +22858,134 @@ class CfnInstance(
|
|
|
22831
22858
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
22832
22859
|
)
|
|
22833
22860
|
|
|
22861
|
+
@jsii.data_type(
|
|
22862
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.MetadataOptionsProperty",
|
|
22863
|
+
jsii_struct_bases=[],
|
|
22864
|
+
name_mapping={
|
|
22865
|
+
"http_endpoint": "httpEndpoint",
|
|
22866
|
+
"http_protocol_ipv6": "httpProtocolIpv6",
|
|
22867
|
+
"http_put_response_hop_limit": "httpPutResponseHopLimit",
|
|
22868
|
+
"http_tokens": "httpTokens",
|
|
22869
|
+
"instance_metadata_tags": "instanceMetadataTags",
|
|
22870
|
+
},
|
|
22871
|
+
)
|
|
22872
|
+
class MetadataOptionsProperty:
|
|
22873
|
+
def __init__(
|
|
22874
|
+
self,
|
|
22875
|
+
*,
|
|
22876
|
+
http_endpoint: typing.Optional[builtins.str] = None,
|
|
22877
|
+
http_protocol_ipv6: typing.Optional[builtins.str] = None,
|
|
22878
|
+
http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
|
|
22879
|
+
http_tokens: typing.Optional[builtins.str] = None,
|
|
22880
|
+
instance_metadata_tags: typing.Optional[builtins.str] = None,
|
|
22881
|
+
) -> None:
|
|
22882
|
+
'''
|
|
22883
|
+
:param http_endpoint: Enables or disables the HTTP metadata endpoint on your instances. If you specify a value of disabled, you cannot access your instance metadata.
|
|
22884
|
+
:param http_protocol_ipv6: Enables or disables the IPv6 endpoint for the instance metadata service. To use this option, the instance must be a Nitro-based instance launched in a subnet that supports IPv6.
|
|
22885
|
+
:param http_put_response_hop_limit: The number of network hops that the metadata token can travel. Maximum is 64. Default: - 1
|
|
22886
|
+
:param http_tokens: Indicates whether IMDSv2 is required.
|
|
22887
|
+
:param instance_metadata_tags: Indicates whether tags from the instance are propagated to the EBS volumes.
|
|
22888
|
+
|
|
22889
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html
|
|
22890
|
+
:exampleMetadata: fixture=_generated
|
|
22891
|
+
|
|
22892
|
+
Example::
|
|
22893
|
+
|
|
22894
|
+
# The code below shows an example of how to instantiate this type.
|
|
22895
|
+
# The values are placeholders you should change.
|
|
22896
|
+
from aws_cdk import aws_ec2 as ec2
|
|
22897
|
+
|
|
22898
|
+
metadata_options_property = ec2.CfnInstance.MetadataOptionsProperty(
|
|
22899
|
+
http_endpoint="httpEndpoint",
|
|
22900
|
+
http_protocol_ipv6="httpProtocolIpv6",
|
|
22901
|
+
http_put_response_hop_limit=123,
|
|
22902
|
+
http_tokens="httpTokens",
|
|
22903
|
+
instance_metadata_tags="instanceMetadataTags"
|
|
22904
|
+
)
|
|
22905
|
+
'''
|
|
22906
|
+
if __debug__:
|
|
22907
|
+
type_hints = typing.get_type_hints(_typecheckingstub__dd62c780267fd82323185183a14d7164b77b99b5493e4e4f98f5cd11a52c16a3)
|
|
22908
|
+
check_type(argname="argument http_endpoint", value=http_endpoint, expected_type=type_hints["http_endpoint"])
|
|
22909
|
+
check_type(argname="argument http_protocol_ipv6", value=http_protocol_ipv6, expected_type=type_hints["http_protocol_ipv6"])
|
|
22910
|
+
check_type(argname="argument http_put_response_hop_limit", value=http_put_response_hop_limit, expected_type=type_hints["http_put_response_hop_limit"])
|
|
22911
|
+
check_type(argname="argument http_tokens", value=http_tokens, expected_type=type_hints["http_tokens"])
|
|
22912
|
+
check_type(argname="argument instance_metadata_tags", value=instance_metadata_tags, expected_type=type_hints["instance_metadata_tags"])
|
|
22913
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
22914
|
+
if http_endpoint is not None:
|
|
22915
|
+
self._values["http_endpoint"] = http_endpoint
|
|
22916
|
+
if http_protocol_ipv6 is not None:
|
|
22917
|
+
self._values["http_protocol_ipv6"] = http_protocol_ipv6
|
|
22918
|
+
if http_put_response_hop_limit is not None:
|
|
22919
|
+
self._values["http_put_response_hop_limit"] = http_put_response_hop_limit
|
|
22920
|
+
if http_tokens is not None:
|
|
22921
|
+
self._values["http_tokens"] = http_tokens
|
|
22922
|
+
if instance_metadata_tags is not None:
|
|
22923
|
+
self._values["instance_metadata_tags"] = instance_metadata_tags
|
|
22924
|
+
|
|
22925
|
+
@builtins.property
|
|
22926
|
+
def http_endpoint(self) -> typing.Optional[builtins.str]:
|
|
22927
|
+
'''Enables or disables the HTTP metadata endpoint on your instances.
|
|
22928
|
+
|
|
22929
|
+
If you specify a value of disabled, you cannot access your instance metadata.
|
|
22930
|
+
|
|
22931
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpendpoint
|
|
22932
|
+
'''
|
|
22933
|
+
result = self._values.get("http_endpoint")
|
|
22934
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
22935
|
+
|
|
22936
|
+
@builtins.property
|
|
22937
|
+
def http_protocol_ipv6(self) -> typing.Optional[builtins.str]:
|
|
22938
|
+
'''Enables or disables the IPv6 endpoint for the instance metadata service.
|
|
22939
|
+
|
|
22940
|
+
To use this option, the instance must be a Nitro-based instance launched in a subnet that supports IPv6.
|
|
22941
|
+
|
|
22942
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpprotocolipv6
|
|
22943
|
+
'''
|
|
22944
|
+
result = self._values.get("http_protocol_ipv6")
|
|
22945
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
22946
|
+
|
|
22947
|
+
@builtins.property
|
|
22948
|
+
def http_put_response_hop_limit(self) -> typing.Optional[jsii.Number]:
|
|
22949
|
+
'''The number of network hops that the metadata token can travel.
|
|
22950
|
+
|
|
22951
|
+
Maximum is 64.
|
|
22952
|
+
|
|
22953
|
+
:default: - 1
|
|
22954
|
+
|
|
22955
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpputresponsehoplimit
|
|
22956
|
+
'''
|
|
22957
|
+
result = self._values.get("http_put_response_hop_limit")
|
|
22958
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
22959
|
+
|
|
22960
|
+
@builtins.property
|
|
22961
|
+
def http_tokens(self) -> typing.Optional[builtins.str]:
|
|
22962
|
+
'''Indicates whether IMDSv2 is required.
|
|
22963
|
+
|
|
22964
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httptokens
|
|
22965
|
+
'''
|
|
22966
|
+
result = self._values.get("http_tokens")
|
|
22967
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
22968
|
+
|
|
22969
|
+
@builtins.property
|
|
22970
|
+
def instance_metadata_tags(self) -> typing.Optional[builtins.str]:
|
|
22971
|
+
'''Indicates whether tags from the instance are propagated to the EBS volumes.
|
|
22972
|
+
|
|
22973
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-instancemetadatatags
|
|
22974
|
+
'''
|
|
22975
|
+
result = self._values.get("instance_metadata_tags")
|
|
22976
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
22977
|
+
|
|
22978
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
22979
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
22980
|
+
|
|
22981
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
22982
|
+
return not (rhs == self)
|
|
22983
|
+
|
|
22984
|
+
def __repr__(self) -> str:
|
|
22985
|
+
return "MetadataOptionsProperty(%s)" % ", ".join(
|
|
22986
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
22987
|
+
)
|
|
22988
|
+
|
|
22834
22989
|
@jsii.data_type(
|
|
22835
22990
|
jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.NetworkInterfaceProperty",
|
|
22836
22991
|
jsii_struct_bases=[],
|
|
@@ -23958,6 +24113,7 @@ class CfnInstanceConnectEndpointProps:
|
|
|
23958
24113
|
"key_name": "keyName",
|
|
23959
24114
|
"launch_template": "launchTemplate",
|
|
23960
24115
|
"license_specifications": "licenseSpecifications",
|
|
24116
|
+
"metadata_options": "metadataOptions",
|
|
23961
24117
|
"monitoring": "monitoring",
|
|
23962
24118
|
"network_interfaces": "networkInterfaces",
|
|
23963
24119
|
"placement_group_name": "placementGroupName",
|
|
@@ -24004,6 +24160,7 @@ class CfnInstanceProps:
|
|
|
24004
24160
|
key_name: typing.Optional[builtins.str] = None,
|
|
24005
24161
|
launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
24006
24162
|
license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LicenseSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
24163
|
+
metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.MetadataOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
24007
24164
|
monitoring: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
24008
24165
|
network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.NetworkInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
24009
24166
|
placement_group_name: typing.Optional[builtins.str] = None,
|
|
@@ -24047,6 +24204,7 @@ class CfnInstanceProps:
|
|
|
24047
24204
|
:param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
|
|
24048
24205
|
:param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
|
|
24049
24206
|
:param license_specifications: The license configurations.
|
|
24207
|
+
:param metadata_options:
|
|
24050
24208
|
:param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
|
|
24051
24209
|
:param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
|
|
24052
24210
|
:param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
|
|
@@ -24139,6 +24297,13 @@ class CfnInstanceProps:
|
|
|
24139
24297
|
license_specifications=[ec2.CfnInstance.LicenseSpecificationProperty(
|
|
24140
24298
|
license_configuration_arn="licenseConfigurationArn"
|
|
24141
24299
|
)],
|
|
24300
|
+
metadata_options=ec2.CfnInstance.MetadataOptionsProperty(
|
|
24301
|
+
http_endpoint="httpEndpoint",
|
|
24302
|
+
http_protocol_ipv6="httpProtocolIpv6",
|
|
24303
|
+
http_put_response_hop_limit=123,
|
|
24304
|
+
http_tokens="httpTokens",
|
|
24305
|
+
instance_metadata_tags="instanceMetadataTags"
|
|
24306
|
+
),
|
|
24142
24307
|
monitoring=False,
|
|
24143
24308
|
network_interfaces=[ec2.CfnInstance.NetworkInterfaceProperty(
|
|
24144
24309
|
device_index="deviceIndex",
|
|
@@ -24228,6 +24393,7 @@ class CfnInstanceProps:
|
|
|
24228
24393
|
check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
|
|
24229
24394
|
check_type(argname="argument launch_template", value=launch_template, expected_type=type_hints["launch_template"])
|
|
24230
24395
|
check_type(argname="argument license_specifications", value=license_specifications, expected_type=type_hints["license_specifications"])
|
|
24396
|
+
check_type(argname="argument metadata_options", value=metadata_options, expected_type=type_hints["metadata_options"])
|
|
24231
24397
|
check_type(argname="argument monitoring", value=monitoring, expected_type=type_hints["monitoring"])
|
|
24232
24398
|
check_type(argname="argument network_interfaces", value=network_interfaces, expected_type=type_hints["network_interfaces"])
|
|
24233
24399
|
check_type(argname="argument placement_group_name", value=placement_group_name, expected_type=type_hints["placement_group_name"])
|
|
@@ -24293,6 +24459,8 @@ class CfnInstanceProps:
|
|
|
24293
24459
|
self._values["launch_template"] = launch_template
|
|
24294
24460
|
if license_specifications is not None:
|
|
24295
24461
|
self._values["license_specifications"] = license_specifications
|
|
24462
|
+
if metadata_options is not None:
|
|
24463
|
+
self._values["metadata_options"] = metadata_options
|
|
24296
24464
|
if monitoring is not None:
|
|
24297
24465
|
self._values["monitoring"] = monitoring
|
|
24298
24466
|
if network_interfaces is not None:
|
|
@@ -24635,6 +24803,16 @@ class CfnInstanceProps:
|
|
|
24635
24803
|
result = self._values.get("license_specifications")
|
|
24636
24804
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnInstance.LicenseSpecificationProperty]]]], result)
|
|
24637
24805
|
|
|
24806
|
+
@builtins.property
|
|
24807
|
+
def metadata_options(
|
|
24808
|
+
self,
|
|
24809
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstance.MetadataOptionsProperty]]:
|
|
24810
|
+
'''
|
|
24811
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-metadataoptions
|
|
24812
|
+
'''
|
|
24813
|
+
result = self._values.get("metadata_options")
|
|
24814
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstance.MetadataOptionsProperty]], result)
|
|
24815
|
+
|
|
24638
24816
|
@builtins.property
|
|
24639
24817
|
def monitoring(
|
|
24640
24818
|
self,
|
|
@@ -80001,6 +80179,10 @@ class InstanceClass(enum.Enum):
|
|
|
80001
80179
|
'''Storage optimized instances powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
|
|
80002
80180
|
I7IE = "I7IE"
|
|
80003
80181
|
'''Storage optimized instances powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
|
|
80182
|
+
IO7_INTEL = "IO7_INTEL"
|
|
80183
|
+
'''I/O-optimized instances with local NVME drive powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
|
|
80184
|
+
I7I = "I7I"
|
|
80185
|
+
'''I/O-optimized instances with local NVME drive powered by 5th generation Intel Xeon Scalable processors, 7th generation.'''
|
|
80004
80186
|
STORAGE8_GRAVITON = "STORAGE8_GRAVITON"
|
|
80005
80187
|
'''Storage optimized instances powered by Graviton4 processor, 8th generation.'''
|
|
80006
80188
|
I8G = "I8G"
|
|
@@ -81996,6 +82178,11 @@ class InterfaceVpcEndpointAwsService(
|
|
|
81996
82178
|
def DYNAMODB_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
|
|
81997
82179
|
return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DYNAMODB_FIPS"))
|
|
81998
82180
|
|
|
82181
|
+
@jsii.python.classproperty
|
|
82182
|
+
@jsii.member(jsii_name="DYNAMODB_STREAMS")
|
|
82183
|
+
def DYNAMODB_STREAMS(cls) -> "InterfaceVpcEndpointAwsService":
|
|
82184
|
+
return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "DYNAMODB_STREAMS"))
|
|
82185
|
+
|
|
81999
82186
|
@jsii.python.classproperty
|
|
82000
82187
|
@jsii.member(jsii_name="EBS_DIRECT")
|
|
82001
82188
|
def EBS_DIRECT(cls) -> "InterfaceVpcEndpointAwsService":
|
|
@@ -105905,6 +106092,7 @@ def _typecheckingstub__c4a16bcac45df35102107cab13dbaea279aac225408d8ffe54a341484
|
|
|
105905
106092
|
key_name: typing.Optional[builtins.str] = None,
|
|
105906
106093
|
launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
105907
106094
|
license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LicenseSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
106095
|
+
metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.MetadataOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
105908
106096
|
monitoring: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
105909
106097
|
network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.NetworkInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
105910
106098
|
placement_group_name: typing.Optional[builtins.str] = None,
|
|
@@ -106081,6 +106269,12 @@ def _typecheckingstub__cc2686e45ed4c6d1878a8ae7e28861e3db1d532776cefb8db34c5911f
|
|
|
106081
106269
|
"""Type checking stubs"""
|
|
106082
106270
|
pass
|
|
106083
106271
|
|
|
106272
|
+
def _typecheckingstub__829ee1a8f150cbfae9cd18b9c33d41b2e8f61b6ded5a58aa4c446baedaa0b5fc(
|
|
106273
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstance.MetadataOptionsProperty]],
|
|
106274
|
+
) -> None:
|
|
106275
|
+
"""Type checking stubs"""
|
|
106276
|
+
pass
|
|
106277
|
+
|
|
106084
106278
|
def _typecheckingstub__7a0da44bb62f454316060622acd522d46ed58c088bae4a9f6249bcf6deca5588(
|
|
106085
106279
|
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
106086
106280
|
) -> None:
|
|
@@ -106290,6 +106484,17 @@ def _typecheckingstub__d052358cb33e29932cee94076b50021e871c21fc3250e7670a7f77437
|
|
|
106290
106484
|
"""Type checking stubs"""
|
|
106291
106485
|
pass
|
|
106292
106486
|
|
|
106487
|
+
def _typecheckingstub__dd62c780267fd82323185183a14d7164b77b99b5493e4e4f98f5cd11a52c16a3(
|
|
106488
|
+
*,
|
|
106489
|
+
http_endpoint: typing.Optional[builtins.str] = None,
|
|
106490
|
+
http_protocol_ipv6: typing.Optional[builtins.str] = None,
|
|
106491
|
+
http_put_response_hop_limit: typing.Optional[jsii.Number] = None,
|
|
106492
|
+
http_tokens: typing.Optional[builtins.str] = None,
|
|
106493
|
+
instance_metadata_tags: typing.Optional[builtins.str] = None,
|
|
106494
|
+
) -> None:
|
|
106495
|
+
"""Type checking stubs"""
|
|
106496
|
+
pass
|
|
106497
|
+
|
|
106293
106498
|
def _typecheckingstub__34d8c3e0456d2764eb1c3d4b68e63d75d3e51811fe46a5cc1a3cd7a841079228(
|
|
106294
106499
|
*,
|
|
106295
106500
|
device_index: builtins.str,
|
|
@@ -106443,6 +106648,7 @@ def _typecheckingstub__605ba8f22e222289aa0ed61b03690aaf9a4e8eabb86a9ba2b63d10f2b
|
|
|
106443
106648
|
key_name: typing.Optional[builtins.str] = None,
|
|
106444
106649
|
launch_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LaunchTemplateSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
106445
106650
|
license_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.LicenseSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
106651
|
+
metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.MetadataOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
106446
106652
|
monitoring: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
106447
106653
|
network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.NetworkInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
106448
106654
|
placement_group_name: typing.Optional[builtins.str] = None,
|
aws_cdk/aws_ecs/__init__.py
CHANGED
|
@@ -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
|
|