Source code for troposphere.ecs

# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.ecs import LAUNCH_TYPE_EC2  # noqa: F401
from .validators.ecs import LAUNCH_TYPE_FARGATE  # noqa: F401
from .validators.ecs import RUNTIME_PLATFORM_CPU_CONFIGURATIONS  # noqa: F401
from .validators.ecs import RUNTIME_PLATFORM_OS_FAMILY  # noqa: F401
from .validators.ecs import SCHEDULING_STRATEGY_DAEMON  # noqa: F401
from .validators.ecs import SCHEDULING_STRATEGY_REPLICA  # noqa: F401
from .validators.ecs import (
    ecs_efs_encryption_status,
    ecs_proxy_type,
    launch_type_validator,
    placement_constraint_validator,
    placement_strategy_validator,
    scope_validator,
    validate_ephemeral_storage_size,
    validate_network_port,
    validate_runtime_platform,
    validate_scaling_step_size,
    validate_target_capacity,
    validate_transit_encryption_port,
)


[docs]class ManagedScaling(AWSProperty): """ `ManagedScaling <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html>`__ """ props: PropsDictType = { "InstanceWarmupPeriod": (integer, False), "MaximumScalingStepSize": (validate_scaling_step_size, False), "MinimumScalingStepSize": (validate_scaling_step_size, False), "Status": (str, False), "TargetCapacity": (validate_target_capacity, False), }
[docs]class AutoScalingGroupProvider(AWSProperty): """ `AutoScalingGroupProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html>`__ """ props: PropsDictType = { "AutoScalingGroupArn": (str, True), "ManagedDraining": (str, False), "ManagedScaling": (ManagedScaling, False), "ManagedTerminationProtection": (str, False), }
[docs]class AutoRepairConfiguration(AWSProperty): """ `AutoRepairConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autorepairconfiguration.html>`__ """ props: PropsDictType = { "ActionsStatus": (str, False), }
[docs]class InfrastructureOptimization(AWSProperty): """ `InfrastructureOptimization <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-infrastructureoptimization.html>`__ """ props: PropsDictType = { "ScaleInAfter": (integer, False), }
[docs]class CapacityReservationRequest(AWSProperty): """ `CapacityReservationRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-capacityreservationrequest.html>`__ """ props: PropsDictType = { "ReservationGroupArn": (str, False), "ReservationPreference": (str, False), }
[docs]class AcceleratorCountRequest(AWSProperty): """ `AcceleratorCountRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, False), }
[docs]class AcceleratorTotalMemoryMiBRequest(AWSProperty): """ `AcceleratorTotalMemoryMiBRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, False), }
[docs]class BaselineEbsBandwidthMbpsRequest(AWSProperty): """ `BaselineEbsBandwidthMbpsRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, False), }
[docs]class MemoryGiBPerVCpuRequest(AWSProperty): """ `MemoryGiBPerVCpuRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html>`__ """ props: PropsDictType = { "Max": (double, False), "Min": (double, False), }
[docs]class MemoryMiBRequest(AWSProperty): """ `MemoryMiBRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, True), }
[docs]class NetworkBandwidthGbpsRequest(AWSProperty): """ `NetworkBandwidthGbpsRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html>`__ """ props: PropsDictType = { "Max": (double, False), "Min": (double, False), }
[docs]class NetworkInterfaceCountRequest(AWSProperty): """ `NetworkInterfaceCountRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, False), }
[docs]class TotalLocalStorageGBRequest(AWSProperty): """ `TotalLocalStorageGBRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html>`__ """ props: PropsDictType = { "Max": (double, False), "Min": (double, False), }
[docs]class VCpuCountRangeRequest(AWSProperty): """ `VCpuCountRangeRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html>`__ """ props: PropsDictType = { "Max": (integer, False), "Min": (integer, True), }
[docs]class InstanceRequirementsRequest(AWSProperty): """ `InstanceRequirementsRequest <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html>`__ """ props: PropsDictType = { "AcceleratorCount": (AcceleratorCountRequest, False), "AcceleratorManufacturers": ([str], False), "AcceleratorNames": ([str], False), "AcceleratorTotalMemoryMiB": (AcceleratorTotalMemoryMiBRequest, False), "AcceleratorTypes": ([str], False), "AllowedInstanceTypes": ([str], False), "BareMetal": (str, False), "BaselineEbsBandwidthMbps": (BaselineEbsBandwidthMbpsRequest, False), "BurstablePerformance": (str, False), "CpuManufacturers": ([str], False), "ExcludedInstanceTypes": ([str], False), "InstanceGenerations": ([str], False), "LocalStorage": (str, False), "LocalStorageTypes": ([str], False), "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": (integer, False), "MemoryGiBPerVCpu": (MemoryGiBPerVCpuRequest, False), "MemoryMiB": (MemoryMiBRequest, True), "NetworkBandwidthGbps": (NetworkBandwidthGbpsRequest, False), "NetworkInterfaceCount": (NetworkInterfaceCountRequest, False), "OnDemandMaxPricePercentageOverLowestPrice": (integer, False), "RequireHibernateSupport": (boolean, False), "SpotMaxPricePercentageOverLowestPrice": (integer, False), "TotalLocalStorageGB": (TotalLocalStorageGBRequest, False), "VCpuCount": (VCpuCountRangeRequest, True), }
[docs]class ManagedInstancesLocalStorageConfiguration(AWSProperty): """ `ManagedInstancesLocalStorageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstanceslocalstorageconfiguration.html>`__ """ props: PropsDictType = { "UseLocalStorage": (boolean, False), }
[docs]class ManagedInstancesNetworkConfiguration(AWSProperty): """ `ManagedInstancesNetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html>`__ """ props: PropsDictType = { "SecurityGroups": ([str], True), "Subnets": ([str], True), }
[docs]class ManagedInstancesStorageConfiguration(AWSProperty): """ `ManagedInstancesStorageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html>`__ """ props: PropsDictType = { "StorageSizeGiB": (integer, True), }
[docs]class InstanceLaunchTemplate(AWSProperty): """ `InstanceLaunchTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html>`__ """ props: PropsDictType = { "CapacityOptionType": (str, False), "CapacityReservations": (CapacityReservationRequest, False), "Ec2InstanceProfileArn": (str, True), "FipsEnabled": (boolean, False), "InstanceMetadataTagsPropagation": (boolean, False), "InstanceRequirements": (InstanceRequirementsRequest, False), "LocalStorageConfiguration": (ManagedInstancesLocalStorageConfiguration, False), "Monitoring": (str, False), "NetworkConfiguration": (ManagedInstancesNetworkConfiguration, True), "StorageConfiguration": (ManagedInstancesStorageConfiguration, False), }
[docs]class ManagedInstancesProvider(AWSProperty): """ `ManagedInstancesProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html>`__ """ props: PropsDictType = { "AutoRepairConfiguration": (AutoRepairConfiguration, False), "InfrastructureOptimization": (InfrastructureOptimization, False), "InfrastructureRoleArn": (str, True), "InstanceLaunchTemplate": (InstanceLaunchTemplate, True), "PropagateTags": (str, False), }
[docs]class CapacityProvider(AWSObject): """ `CapacityProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html>`__ """ resource_type = "AWS::ECS::CapacityProvider" props: PropsDictType = { "AutoScalingGroupProvider": (AutoScalingGroupProvider, False), "ClusterName": (str, False), "ManagedInstancesProvider": (ManagedInstancesProvider, False), "Name": (str, False), "Tags": (Tags, False), }
[docs]class CapacityProviderStrategyItem(AWSProperty): """ `CapacityProviderStrategyItem <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-capacityproviderstrategyitem.html>`__ """ props: PropsDictType = { "Base": (integer, False), "CapacityProvider": (str, False), "Weight": (integer, False), }
[docs]class ExecuteCommandLogConfiguration(AWSProperty): """ `ExecuteCommandLogConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-executecommandlogconfiguration.html>`__ """ props: PropsDictType = { "CloudWatchEncryptionEnabled": (boolean, False), "CloudWatchLogGroupName": (str, False), "S3BucketName": (str, False), "S3EncryptionEnabled": (boolean, False), "S3KeyPrefix": (str, False), }
[docs]class ExecuteCommandConfiguration(AWSProperty): """ `ExecuteCommandConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-executecommandconfiguration.html>`__ """ props: PropsDictType = { "KmsKeyId": (str, False), "LogConfiguration": (ExecuteCommandLogConfiguration, False), "Logging": (str, False), }
[docs]class ManagedStorageConfiguration(AWSProperty): """ `ManagedStorageConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-managedstorageconfiguration.html>`__ """ props: PropsDictType = { "FargateEphemeralStorageKmsKeyId": (str, False), "KmsKeyId": (str, False), }
[docs]class ClusterConfiguration(AWSProperty): """ `ClusterConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clusterconfiguration.html>`__ """ props: PropsDictType = { "ExecuteCommandConfiguration": (ExecuteCommandConfiguration, False), "ManagedStorageConfiguration": (ManagedStorageConfiguration, False), }
[docs]class ClusterSetting(AWSProperty): """ `ClusterSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html>`__ """ props: PropsDictType = { "Name": (str, False), "Value": (str, False), }
[docs]class ServiceConnectDefaults(AWSProperty): """ `ServiceConnectDefaults <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-serviceconnectdefaults.html>`__ """ props: PropsDictType = { "Namespace": (str, False), }
[docs]class Cluster(AWSObject): """ `Cluster <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html>`__ """ resource_type = "AWS::ECS::Cluster" props: PropsDictType = { "CapacityProviders": ([str], False), "ClusterName": (str, False), "ClusterSettings": ([ClusterSetting], False), "Configuration": (ClusterConfiguration, False), "DefaultCapacityProviderStrategy": ([CapacityProviderStrategyItem], False), "ServiceConnectDefaults": (ServiceConnectDefaults, False), "Tags": (Tags, False), }
[docs]class CapacityProviderStrategy(AWSProperty): """ `CapacityProviderStrategy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-clustercapacityproviderassociations-capacityproviderstrategy.html>`__ """ props: PropsDictType = { "Base": (integer, False), "CapacityProvider": (str, True), "Weight": (integer, False), }
[docs]class ClusterCapacityProviderAssociations(AWSObject): """ `ClusterCapacityProviderAssociations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html>`__ """ resource_type = "AWS::ECS::ClusterCapacityProviderAssociations" props: PropsDictType = { "CapacityProviders": ([str], False), "Cluster": (str, True), "DefaultCapacityProviderStrategy": ([CapacityProviderStrategy], True), }
[docs]class DaemonAlarmConfiguration(AWSProperty): """ `DaemonAlarmConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-daemon-daemonalarmconfiguration.html>`__ """ props: PropsDictType = { "AlarmNames": ([str], False), "Enable": (boolean, False), }
[docs]class DaemonDeploymentConfiguration(AWSProperty): """ `DaemonDeploymentConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-daemon-daemondeploymentconfiguration.html>`__ """ props: PropsDictType = { "Alarms": (DaemonAlarmConfiguration, False), "BakeTimeInMinutes": (integer, False), "DrainPercent": (double, False), }
[docs]class Daemon(AWSObject): """ `Daemon <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-daemon.html>`__ """ resource_type = "AWS::ECS::Daemon" props: PropsDictType = { "CapacityProviderArns": ([str], False), "ClusterArn": (str, False), "DaemonName": (str, False), "DaemonTaskDefinitionArn": (str, False), "DeploymentConfiguration": (DaemonDeploymentConfiguration, False), "EnableECSManagedTags": (boolean, False), "EnableExecuteCommand": (boolean, False), "PropagateTags": (str, False), "Tags": (Tags, False), }
[docs]class ContainerDependency(AWSProperty): """ `ContainerDependency <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html>`__ """ props: PropsDictType = { "Condition": (str, False), "ContainerName": (str, False), }
[docs]class EnvironmentFile(AWSProperty): """ `EnvironmentFile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-environmentfile.html>`__ """ props: PropsDictType = { "Type": (str, False), "Value": (str, False), }
[docs]class FirelensConfiguration(AWSProperty): """ `FirelensConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html>`__ """ props: PropsDictType = { "Options": (dict, False), "Type": (str, False), }
[docs]class HealthCheck(AWSProperty): """ `HealthCheck <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html>`__ """ props: PropsDictType = { "Command": ([str], False), "Interval": (integer, False), "Retries": (integer, False), "StartPeriod": (integer, False), "Timeout": (integer, False), }
[docs]class KeyValuePair(AWSProperty): """ `KeyValuePair <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-keyvaluepair.html>`__ """ props: PropsDictType = { "Name": (str, True), "Value": (str, True), }
[docs]class Device(AWSProperty): """ `Device <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html>`__ """ props: PropsDictType = { "ContainerPath": (str, False), "HostPath": (str, False), "Permissions": ([str], False), }
[docs]class KernelCapabilities(AWSProperty): """ `KernelCapabilities <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html>`__ """ props: PropsDictType = { "Add": ([str], False), "Drop": ([str], False), }
[docs]class Tmpfs(AWSProperty): """ `Tmpfs <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html>`__ """ props: PropsDictType = { "ContainerPath": (str, False), "MountOptions": ([str], False), "Size": (integer, True), }
[docs]class LinuxParameters(AWSProperty): """ `LinuxParameters <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html>`__ """ props: PropsDictType = { "Capabilities": (KernelCapabilities, False), "Devices": ([Device], False), "InitProcessEnabled": (boolean, False), "MaxSwap": (integer, False), "SharedMemorySize": (integer, False), "Swappiness": (integer, False), "Tmpfs": ([Tmpfs], False), }
[docs]class Secret(AWSProperty): """ `Secret <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-secret.html>`__ """ props: PropsDictType = { "Name": (str, True), "ValueFrom": (str, True), }
[docs]class LogConfiguration(AWSProperty): """ `LogConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-logconfiguration.html>`__ """ props: PropsDictType = { "LogDriver": (str, True), "Options": (dict, False), "SecretOptions": ([Secret], False), }
[docs]class MountPoint(AWSProperty): """ `MountPoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-mountpoint.html>`__ """ props: PropsDictType = { "ContainerPath": (str, False), "ReadOnly": (boolean, False), "SourceVolume": (str, False), }
[docs]class RepositoryCredentials(AWSProperty): """ `RepositoryCredentials <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html>`__ """ props: PropsDictType = { "CredentialsParameter": (str, False), }
[docs]class RestartPolicy(AWSProperty): """ `RestartPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-restartpolicy.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "IgnoredExitCodes": ([integer], False), "RestartAttemptPeriod": (integer, False), }
[docs]class SystemControl(AWSProperty): """ `SystemControl <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html>`__ """ props: PropsDictType = { "Namespace": (str, False), "Value": (str, False), }
[docs]class Ulimit(AWSProperty): """ `Ulimit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-ulimit.html>`__ """ props: PropsDictType = { "HardLimit": (integer, True), "Name": (str, True), "SoftLimit": (integer, True), }
[docs]class DaemonContainerDefinition(AWSProperty): """ `DaemonContainerDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-daemontaskdefinition-daemoncontainerdefinition.html>`__ """ props: PropsDictType = { "Command": ([str], False), "Cpu": (integer, False), "DependsOn": ([ContainerDependency], False), "EntryPoint": ([str], False), "Environment": ([KeyValuePair], False), "EnvironmentFiles": ([EnvironmentFile], False), "Essential": (boolean, False), "FirelensConfiguration": (FirelensConfiguration, False), "HealthCheck": (HealthCheck, False), "Image": (str, True), "Interactive": (boolean, False), "LinuxParameters": (LinuxParameters, False), "LogConfiguration": (LogConfiguration, False), "Memory": (integer, False), "MemoryReservation": (integer, False), "MountPoints": ([MountPoint], False), "Name": (str, True), "Privileged": (boolean, False), "PseudoTerminal": (boolean, False), "ReadonlyRootFilesystem": (boolean, False), "RepositoryCredentials": (RepositoryCredentials, False), "RestartPolicy": (RestartPolicy, False), "Secrets": ([Secret], False), "StartTimeout": (integer, False), "StopTimeout": (integer, False), "SystemControls": ([SystemControl], False), "Ulimits": ([Ulimit], False), "User": (str, False), "WorkingDirectory": (str, False), }
[docs]class DockerVolumeConfiguration(AWSProperty): """ `DockerVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html>`__ """ props: PropsDictType = { "Autoprovision": (boolean, False), "Driver": (str, False), "DriverOpts": (dict, False), "Labels": (dict, False), "Scope": (scope_validator, False), }
[docs]class AuthorizationConfig(AWSProperty): """ `AuthorizationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html>`__ """ props: PropsDictType = { "AccessPointId": (str, False), "IAM": (str, False), }
[docs]class EFSVolumeConfiguration(AWSProperty): """ `EFSVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html>`__ """ props: PropsDictType = { "AuthorizationConfig": (AuthorizationConfig, False), "FilesystemId": (str, True), "RootDirectory": (str, False), "TransitEncryption": (ecs_efs_encryption_status, False), "TransitEncryptionPort": (validate_transit_encryption_port, False), }
[docs]class FSxAuthorizationConfig(AWSProperty): """ `FSxAuthorizationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html>`__ """ props: PropsDictType = { "CredentialsParameter": (str, True), "Domain": (str, True), }
[docs]class FSxWindowsFileServerVolumeConfiguration(AWSProperty): """ `FSxWindowsFileServerVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html>`__ """ props: PropsDictType = { "AuthorizationConfig": (FSxAuthorizationConfig, False), "FileSystemId": (str, True), "RootDirectory": (str, True), }
[docs]class Host(AWSProperty): """ `Host <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-hostvolumeproperties.html>`__ """ props: PropsDictType = { "SourcePath": (str, False), }
[docs]class S3FilesVolumeConfiguration(AWSProperty): """ `S3FilesVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-s3filesvolumeconfiguration.html>`__ """ props: PropsDictType = { "AccessPointArn": (str, False), "FileSystemArn": (str, True), "RootDirectory": (str, False), "TransitEncryptionPort": (integer, False), }
[docs]class Volume(AWSProperty): """ `Volume <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volume.html>`__ """ props: PropsDictType = { "ConfiguredAtLaunch": (boolean, False), "DockerVolumeConfiguration": (DockerVolumeConfiguration, False), "EFSVolumeConfiguration": (EFSVolumeConfiguration, False), "FSxWindowsFileServerVolumeConfiguration": ( FSxWindowsFileServerVolumeConfiguration, False, ), "Host": (Host, False), "Name": (str, False), "S3FilesVolumeConfiguration": (S3FilesVolumeConfiguration, False), }
[docs]class DaemonTaskDefinition(AWSObject): """ `DaemonTaskDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-daemontaskdefinition.html>`__ """ resource_type = "AWS::ECS::DaemonTaskDefinition" props: PropsDictType = { "ContainerDefinitions": ([DaemonContainerDefinition], False), "Cpu": (str, False), "ExecutionRoleArn": (str, False), "Family": (str, False), "Memory": (str, False), "Tags": (Tags, False), "TaskRoleArn": (str, False), "Volumes": ([Volume], False), }
[docs]class ExpressGatewayRepositoryCredentials(AWSProperty): """ `ExpressGatewayRepositoryCredentials <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewayrepositorycredentials.html>`__ """ props: PropsDictType = { "CredentialsParameter": (str, True), }
[docs]class ExpressGatewayServiceAwsLogsConfiguration(AWSProperty): """ `ExpressGatewayServiceAwsLogsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewayserviceawslogsconfiguration.html>`__ """ props: PropsDictType = { "LogGroup": (str, True), "LogStreamPrefix": (str, True), }
[docs]class ExpressGatewayContainer(AWSProperty): """ `ExpressGatewayContainer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewaycontainer.html>`__ """ props: PropsDictType = { "AwsLogsConfiguration": (ExpressGatewayServiceAwsLogsConfiguration, False), "Command": ([str], False), "ContainerPort": (integer, False), "Environment": ([KeyValuePair], False), "Image": (str, True), "RepositoryCredentials": (ExpressGatewayRepositoryCredentials, False), "Secrets": ([Secret], False), }
[docs]class ExpressGatewayScalingTarget(AWSProperty): """ `ExpressGatewayScalingTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewayscalingtarget.html>`__ """ props: PropsDictType = { "AutoScalingMetric": (str, False), "AutoScalingTargetValue": (integer, False), "MaxTaskCount": (integer, False), "MinTaskCount": (integer, False), }
[docs]class ExpressGatewayServiceNetworkConfiguration(AWSProperty): """ `ExpressGatewayServiceNetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewayservicenetworkconfiguration.html>`__ """ props: PropsDictType = { "SecurityGroups": ([str], False), "Subnets": ([str], False), }
[docs]class ExpressGatewayService(AWSObject): """ `ExpressGatewayService <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-expressgatewayservice.html>`__ """ resource_type = "AWS::ECS::ExpressGatewayService" props: PropsDictType = { "Cluster": (str, False), "Cpu": (str, False), "ExecutionRoleArn": (str, True), "HealthCheckPath": (str, False), "InfrastructureRoleArn": (str, True), "Memory": (str, False), "NetworkConfiguration": (ExpressGatewayServiceNetworkConfiguration, False), "PrimaryContainer": (ExpressGatewayContainer, True), "ScalingTarget": (ExpressGatewayScalingTarget, False), "ServiceName": (str, False), "Tags": (Tags, False), "TaskRoleArn": (str, False), }
[docs]class PrimaryTaskSet(AWSObject): """ `PrimaryTaskSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html>`__ """ resource_type = "AWS::ECS::PrimaryTaskSet" props: PropsDictType = { "Cluster": (str, True), "Service": (str, True), "TaskSetId": (str, True), }
[docs]class CanaryConfiguration(AWSProperty): """ `CanaryConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-canaryconfiguration.html>`__ """ props: PropsDictType = { "CanaryBakeTimeInMinutes": (integer, False), "CanaryPercent": (double, False), }
[docs]class DeploymentAlarms(AWSProperty): """ `DeploymentAlarms <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentalarms.html>`__ """ props: PropsDictType = { "AlarmNames": ([str], True), "Enable": (boolean, True), "Rollback": (boolean, True), }
[docs]class DeploymentCircuitBreaker(AWSProperty): """ `DeploymentCircuitBreaker <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcircuitbreaker.html>`__ """ props: PropsDictType = { "Enable": (boolean, True), "Rollback": (boolean, True), }
[docs]class DeploymentLifecycleHook(AWSProperty): """ `DeploymentLifecycleHook <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentlifecyclehook.html>`__ """ props: PropsDictType = { "HookDetails": (dict, False), "HookTargetArn": (str, False), "LifecycleStages": ([str], True), "RoleArn": (str, False), "TimeoutConfiguration": (dict, False), }
[docs]class LinearConfiguration(AWSProperty): """ `LinearConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-linearconfiguration.html>`__ """ props: PropsDictType = { "StepBakeTimeInMinutes": (integer, False), "StepPercent": (double, False), }
[docs]class DeploymentConfiguration(AWSProperty): """ `DeploymentConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html>`__ """ props: PropsDictType = { "Alarms": (DeploymentAlarms, False), "BakeTimeInMinutes": (integer, False), "CanaryConfiguration": (CanaryConfiguration, False), "DeploymentCircuitBreaker": (DeploymentCircuitBreaker, False), "LifecycleHooks": ([DeploymentLifecycleHook], False), "LinearConfiguration": (LinearConfiguration, False), "MaximumPercent": (integer, False), "MinimumHealthyPercent": (integer, False), "Strategy": (str, False), }
[docs]class DeploymentController(AWSProperty): """ `DeploymentController <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html>`__ """ props: PropsDictType = { "Type": (str, False), }
[docs]class ForceNewDeployment(AWSProperty): """ `ForceNewDeployment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-forcenewdeployment.html>`__ """ props: PropsDictType = { "EnableForceNewDeployment": (boolean, True), "ForceNewDeploymentNonce": (str, False), }
[docs]class AdvancedConfiguration(AWSProperty): """ `AdvancedConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html>`__ """ props: PropsDictType = { "AlternateTargetGroupArn": (str, True), "ProductionListenerRule": (str, False), "RoleArn": (str, False), "TestListenerRule": (str, False), }
[docs]class LoadBalancer(AWSProperty): """ `LoadBalancer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html>`__ """ props: PropsDictType = { "AdvancedConfiguration": (AdvancedConfiguration, False), "ContainerName": (str, False), "ContainerPort": (validate_network_port, False), "LoadBalancerName": (str, False), "TargetGroupArn": (str, False), }
[docs]class AwsvpcConfiguration(AWSProperty): """ `AwsvpcConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html>`__ """ props: PropsDictType = { "AssignPublicIp": (str, False), "SecurityGroups": ([str], False), "Subnets": ([str], False), }
[docs]class NetworkConfiguration(AWSProperty): """ `NetworkConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html>`__ """ props: PropsDictType = { "AwsvpcConfiguration": (AwsvpcConfiguration, False), }
[docs]class PlacementConstraint(AWSProperty): """ `PlacementConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html>`__ """ props: PropsDictType = { "Expression": (str, False), "Type": (placement_constraint_validator, True), }
[docs]class PlacementStrategy(AWSProperty): """ `PlacementStrategy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html>`__ """ props: PropsDictType = { "Field": (str, False), "Type": (placement_strategy_validator, True), }
[docs]class ServiceConnectAccessLogConfiguration(AWSProperty): """ `ServiceConnectAccessLogConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectaccesslogconfiguration.html>`__ """ props: PropsDictType = { "Format": (str, True), "IncludeQueryParameters": (str, False), }
[docs]class ServiceConnectTestTrafficRulesHeaderValue(AWSProperty): """ `ServiceConnectTestTrafficRulesHeaderValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttesttrafficrulesheadervalue.html>`__ """ props: PropsDictType = { "Exact": (str, True), }
[docs]class ServiceConnectTestTrafficRulesHeader(AWSProperty): """ `ServiceConnectTestTrafficRulesHeader <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttesttrafficrulesheader.html>`__ """ props: PropsDictType = { "Name": (str, True), "Value": (ServiceConnectTestTrafficRulesHeaderValue, False), }
[docs]class ServiceConnectTestTrafficRules(AWSProperty): """ `ServiceConnectTestTrafficRules <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttesttrafficrules.html>`__ """ props: PropsDictType = { "Header": (ServiceConnectTestTrafficRulesHeader, True), }
[docs]class ServiceConnectClientAlias(AWSProperty): """ `ServiceConnectClientAlias <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectclientalias.html>`__ """ props: PropsDictType = { "DnsName": (str, False), "Port": (integer, True), "TestTrafficRules": (ServiceConnectTestTrafficRules, False), }
[docs]class ServiceConnectTlsCertificateAuthority(AWSProperty): """ `ServiceConnectTlsCertificateAuthority <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttlscertificateauthority.html>`__ """ props: PropsDictType = { "AwsPcaAuthorityArn": (str, False), }
[docs]class ServiceConnectTlsConfiguration(AWSProperty): """ `ServiceConnectTlsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttlsconfiguration.html>`__ """ props: PropsDictType = { "IssuerCertificateAuthority": (ServiceConnectTlsCertificateAuthority, True), "KmsKey": (str, False), "RoleArn": (str, False), }
[docs]class TimeoutConfiguration(AWSProperty): """ `TimeoutConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-timeoutconfiguration.html>`__ """ props: PropsDictType = { "IdleTimeoutSeconds": (integer, False), "PerRequestTimeoutSeconds": (integer, False), }
[docs]class ServiceConnectService(AWSProperty): """ `ServiceConnectService <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectservice.html>`__ """ props: PropsDictType = { "ClientAliases": ([ServiceConnectClientAlias], False), "DiscoveryName": (str, False), "IngressPortOverride": (integer, False), "PortName": (str, True), "Timeout": (TimeoutConfiguration, False), "Tls": (ServiceConnectTlsConfiguration, False), }
[docs]class ServiceConnectConfiguration(AWSProperty): """ `ServiceConnectConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectconfiguration.html>`__ """ props: PropsDictType = { "AccessLogConfiguration": (ServiceConnectAccessLogConfiguration, False), "Enabled": (boolean, True), "LogConfiguration": (LogConfiguration, False), "Namespace": (str, False), "Services": ([ServiceConnectService], False), }
[docs]class ServiceRegistry(AWSProperty): """ `ServiceRegistry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html>`__ """ props: PropsDictType = { "ContainerName": (str, False), "ContainerPort": (integer, False), "Port": (integer, False), "RegistryArn": (str, False), }
[docs]class EBSTagSpecification(AWSProperty): """ `EBSTagSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-ebstagspecification.html>`__ """ props: PropsDictType = { "PropagateTags": (str, False), "ResourceType": (str, True), "Tags": (Tags, False), }
[docs]class ServiceManagedEBSVolumeConfiguration(AWSProperty): """ `ServiceManagedEBSVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html>`__ """ props: PropsDictType = { "Encrypted": (boolean, False), "FilesystemType": (str, False), "Iops": (integer, False), "KmsKeyId": (str, False), "RoleArn": (str, True), "SizeInGiB": (integer, False), "SnapshotId": (str, False), "TagSpecifications": ([EBSTagSpecification], False), "Throughput": (integer, False), "VolumeInitializationRate": (integer, False), "VolumeType": (str, False), }
[docs]class ServiceVolumeConfiguration(AWSProperty): """ `ServiceVolumeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicevolumeconfiguration.html>`__ """ props: PropsDictType = { "ManagedEBSVolume": (ServiceManagedEBSVolumeConfiguration, False), "Name": (str, True), }
[docs]class VpcLatticeConfiguration(AWSProperty): """ `VpcLatticeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-vpclatticeconfiguration.html>`__ """ props: PropsDictType = { "PortName": (str, True), "RoleArn": (str, True), "TargetGroupArn": (str, True), }
[docs]class Service(AWSObject): """ `Service <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html>`__ """ resource_type = "AWS::ECS::Service" props: PropsDictType = { "AvailabilityZoneRebalancing": (str, False), "CapacityProviderStrategy": ([CapacityProviderStrategyItem], False), "Cluster": (str, False), "DeploymentConfiguration": (DeploymentConfiguration, False), "DeploymentController": (DeploymentController, False), "DesiredCount": (integer, False), "EnableECSManagedTags": (boolean, False), "EnableExecuteCommand": (boolean, False), "ForceNewDeployment": (ForceNewDeployment, False), "HealthCheckGracePeriodSeconds": (integer, False), "LaunchType": (launch_type_validator, False), "LoadBalancers": ([LoadBalancer], False), "NetworkConfiguration": (NetworkConfiguration, False), "PlacementConstraints": ([PlacementConstraint], False), "PlacementStrategies": ([PlacementStrategy], False), "PlatformVersion": (str, False), "PropagateTags": (str, False), "Role": (str, False), "SchedulingStrategy": (str, False), "ServiceConnectConfiguration": (ServiceConnectConfiguration, False), "ServiceName": (str, False), "ServiceRegistries": ([ServiceRegistry], False), "Tags": (Tags, False), "TaskDefinition": (str, False), "VolumeConfigurations": ([ServiceVolumeConfiguration], False), "VpcLatticeConfigurations": ([VpcLatticeConfiguration], False), }
[docs]class Environment(AWSProperty): """ `Environment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-keyvaluepair.html>`__ """ props: PropsDictType = { "Name": (str, False), "Value": (str, False), }
[docs]class HostEntry(AWSProperty): """ `HostEntry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-hostentry.html>`__ """ props: PropsDictType = { "Hostname": (str, False), "IpAddress": (str, False), }
[docs]class PortMapping(AWSProperty): """ `PortMapping <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-portmapping.html>`__ """ props: PropsDictType = { "AppProtocol": (str, False), "ContainerPort": (validate_network_port, False), "ContainerPortRange": (str, False), "HostPort": (validate_network_port, False), "Name": (str, False), "Protocol": (str, False), }
[docs]class ResourceRequirement(AWSProperty): """ `ResourceRequirement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-resourcerequirement.html>`__ """ props: PropsDictType = { "Type": (str, True), "Value": (str, True), }
[docs]class VolumesFrom(AWSProperty): """ `VolumesFrom <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumefrom.html>`__ """ props: PropsDictType = { "ReadOnly": (boolean, False), "SourceContainer": (str, False), }
[docs]class ContainerDefinition(AWSProperty): """ `ContainerDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html>`__ """ props: PropsDictType = { "Command": ([str], False), "Cpu": (integer, False), "CredentialSpecs": ([str], False), "DependsOn": ([ContainerDependency], False), "DisableNetworking": (boolean, False), "DnsSearchDomains": ([str], False), "DnsServers": ([str], False), "DockerLabels": (dict, False), "DockerSecurityOptions": ([str], False), "EntryPoint": ([str], False), "Environment": ([Environment], False), "EnvironmentFiles": ([EnvironmentFile], False), "Essential": (boolean, False), "ExtraHosts": ([HostEntry], False), "FirelensConfiguration": (FirelensConfiguration, False), "HealthCheck": (HealthCheck, False), "Hostname": (str, False), "Image": (str, True), "Interactive": (boolean, False), "Links": ([str], False), "LinuxParameters": (LinuxParameters, False), "LogConfiguration": (LogConfiguration, False), "Memory": (integer, False), "MemoryReservation": (integer, False), "MountPoints": ([MountPoint], False), "Name": (str, True), "PortMappings": ([PortMapping], False), "Privileged": (boolean, False), "PseudoTerminal": (boolean, False), "ReadonlyRootFilesystem": (boolean, False), "RepositoryCredentials": (RepositoryCredentials, False), "ResourceRequirements": ([ResourceRequirement], False), "RestartPolicy": (RestartPolicy, False), "Secrets": ([Secret], False), "StartTimeout": (integer, False), "StopTimeout": (integer, False), "SystemControls": ([SystemControl], False), "Ulimits": ([Ulimit], False), "User": (str, False), "VersionConsistency": (str, False), "VolumesFrom": ([VolumesFrom], False), "WorkingDirectory": (str, False), }
[docs]class EphemeralStorage(AWSProperty): """ `EphemeralStorage <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-ephemeralstorage.html>`__ """ props: PropsDictType = { "SizeInGiB": (validate_ephemeral_storage_size, False), }
[docs]class ProxyConfiguration(AWSProperty): """ `ProxyConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html>`__ """ props: PropsDictType = { "ContainerName": (str, True), "ProxyConfigurationProperties": (list, False), "Type": (ecs_proxy_type, False), }
[docs]class RuntimePlatform(AWSProperty): """ `RuntimePlatform <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-runtimeplatform.html>`__ """ props: PropsDictType = { "CpuArchitecture": (str, False), "OperatingSystemFamily": (str, False), }
[docs] def validate(self): validate_runtime_platform(self)
[docs]class TaskDefinition(AWSObject): """ `TaskDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html>`__ """ resource_type = "AWS::ECS::TaskDefinition" props: PropsDictType = { "ContainerDefinitions": ([ContainerDefinition], False), "Cpu": (str, False), "EnableFaultInjection": (boolean, False), "EphemeralStorage": (EphemeralStorage, False), "ExecutionRoleArn": (str, False), "Family": (str, False), "IpcMode": (str, False), "Memory": (str, False), "NetworkMode": (str, False), "PidMode": (str, False), "PlacementConstraints": ([PlacementConstraint], False), "ProxyConfiguration": (ProxyConfiguration, False), "RequiresCompatibilities": ([str], False), "RuntimePlatform": (RuntimePlatform, False), "Tags": (Tags, False), "TaskRoleArn": (str, False), "Volumes": ([Volume], False), }
[docs]class Scale(AWSProperty): """ `Scale <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html>`__ """ props: PropsDictType = { "Unit": (str, False), "Value": (double, False), }
[docs]class TaskSet(AWSObject): """ `TaskSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html>`__ """ resource_type = "AWS::ECS::TaskSet" props: PropsDictType = { "CapacityProviderStrategy": ([CapacityProviderStrategyItem], False), "Cluster": (str, True), "ExternalId": (str, False), "LaunchType": (str, False), "LoadBalancers": ([LoadBalancer], False), "NetworkConfiguration": (NetworkConfiguration, False), "PlatformVersion": (str, False), "Scale": (Scale, False), "Service": (str, True), "ServiceRegistries": ([ServiceRegistry], False), "Tags": (Tags, False), "TaskDefinition": (str, True), }
[docs]class AutoScalingArns(AWSProperty): """ `AutoScalingArns <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-autoscalingarns.html>`__ """ props: PropsDictType = { "ApplicationAutoScalingPolicies": ([str], False), "ScalableTarget": (str, False), }
[docs]class ExpressGatewayServiceStatus(AWSProperty): """ `ExpressGatewayServiceStatus <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-expressgatewayservicestatus.html>`__ """ props: PropsDictType = { "StatusCode": (str, False), }
[docs]class HostVolumeProperties(AWSProperty): """ `HostVolumeProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-daemontaskdefinition-hostvolumeproperties.html>`__ """ props: PropsDictType = { "SourcePath": (str, False), }
[docs]class IngressPathArns(AWSProperty): """ `IngressPathArns <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-ingresspatharns.html>`__ """ props: PropsDictType = { "CertificateArn": (str, False), "ListenerArn": (str, False), "ListenerRuleArn": (str, False), "LoadBalancerArn": (str, False), "LoadBalancerSecurityGroups": ([str], False), "TargetGroupArns": ([str], False), }
[docs]class IngressPathSummary(AWSProperty): """ `IngressPathSummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-expressgatewayservice-ingresspathsummary.html>`__ """ props: PropsDictType = { "AccessType": (str, False), "Endpoint": (str, False), }