Skip to main content

@swamp/aws/ecs

v2026.04.11.1

AWS ECS infrastructure models

Labels

awsecscloudinfrastructure

Contents

Install

$ swamp extension pull @swamp/aws/ecs

Release Notes

  • Updated: service

@swamp/aws/ecs/capacity-providerv2026.04.03.3capacity_provider.ts

Global Arguments

ArgumentTypeDescription
AutoScalingGroupProvider?object
ClusterName?string
Tags?array
Name?string
ManagedInstancesProvider?object
createCreate a ECS CapacityProvider
getGet a ECS CapacityProvider
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS CapacityProvider
updateUpdate a ECS CapacityProvider
deleteDelete a ECS CapacityProvider
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS CapacityProvider
syncSync ECS CapacityProvider state from AWS

Resources

state(infinite)— ECS CapacityProvider resource state
@swamp/aws/ecs/clusterv2026.04.03.2cluster.ts

Global Arguments

ArgumentTypeDescription
ClusterSettings?arrayThe settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster. Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observabil
DefaultCapacityProviderStrategy?arrayThe default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.
Configuration?objectThe execute command and managed storage configuration for the cluster.
ServiceConnectDefaults?objectUse this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the enabled parameter to true in the ServiceConnectConfiguration. You can set the namespace of each service individually in the ServiceConnectConfiguration to override this default parameter. Tasks that run i
CapacityProviders?arrayThe short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions. If specifying a capaci
ClusterName?stringA user-generated string that you use to identify your cluster. If you don't specify a name, CFNlong generates a unique physical ID for the name.
Tags?arrayThe metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and r
createCreate a ECS Cluster
getGet a ECS Cluster
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Cluster
updateUpdate a ECS Cluster
deleteDelete a ECS Cluster
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Cluster
syncSync ECS Cluster state from AWS

Resources

state(infinite)— ECS Cluster resource state
@swamp/aws/ecs/cluster-capacity-provider-associationsv2026.04.03.2cluster_capacity_provider_associations.ts

Global Arguments

ArgumentTypeDescription
DefaultCapacityProviderStrategyarrayList of capacity providers to associate with the cluster
CapacityProviders?arrayList of capacity providers to associate with the cluster
ClusterstringThe name of the cluster
createCreate a ECS ClusterCapacityProviderAssociations
getGet a ECS ClusterCapacityProviderAssociations
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS ClusterCapacityProviderAssociations
updateUpdate a ECS ClusterCapacityProviderAssociations
deleteDelete a ECS ClusterCapacityProviderAssociations
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS ClusterCapacityProviderAssociations
syncSync ECS ClusterCapacityProviderAssociations state from AWS

Resources

state(infinite)— ECS ClusterCapacityProviderAssociations resource state
@swamp/aws/ecs/daemonv2026.04.03.3daemon.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
ClusterArn?string
DaemonTaskDefinitionArn?string
DaemonName?string
EnableECSManagedTags?boolean
EnableExecuteCommand?boolean
PropagateTags?enum
CapacityProviderArns?array
DeploymentConfiguration?object
Tags?array
createCreate a ECS Daemon
getGet a ECS Daemon
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Daemon
updateUpdate a ECS Daemon
deleteDelete a ECS Daemon
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Daemon
syncSync ECS Daemon state from AWS

Resources

state(infinite)— ECS Daemon resource state
@swamp/aws/ecs/daemon-task-definitionv2026.04.03.3daemon_task_definition.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
ExecutionRoleArn?string
TaskRoleArn?string
Volumes?array
Memory?string
ContainerDefinitions?array
Family?string
Cpu?string
Tags?array
createCreate a ECS DaemonTaskDefinition
getGet a ECS DaemonTaskDefinition
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS DaemonTaskDefinition
updateUpdate a ECS DaemonTaskDefinition
deleteDelete a ECS DaemonTaskDefinition
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS DaemonTaskDefinition
syncSync ECS DaemonTaskDefinition state from AWS

Resources

state(infinite)— ECS DaemonTaskDefinition resource state
@swamp/aws/ecs/express-gateway-servicev2026.04.03.2express_gateway_service.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
Status?object
TaskRoleArn?string
PrimaryContainerobject
Memory?string
HealthCheckPath?string
Cluster?string
Cpu?string
ExecutionRoleArnstring
InfrastructureRoleArnstring
ScalingTarget?object
ServiceName?string
NetworkConfiguration?object
Tags?array
createCreate a ECS ExpressGatewayService
getGet a ECS ExpressGatewayService
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS ExpressGatewayService
updateUpdate a ECS ExpressGatewayService
deleteDelete a ECS ExpressGatewayService
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS ExpressGatewayService
syncSync ECS ExpressGatewayService state from AWS

Resources

state(infinite)— ECS ExpressGatewayService resource state
@swamp/aws/ecs/primary-task-setv2026.04.03.2primary_task_set.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
TaskSetIdstringThe ID or full Amazon Resource Name (ARN) of the task set.
ClusterstringThe short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.
ServicestringThe short name or full Amazon Resource Name (ARN) of the service to create the task set in.
createCreate a ECS PrimaryTaskSet
getGet a ECS PrimaryTaskSet
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS PrimaryTaskSet
updateUpdate a ECS PrimaryTaskSet
deleteDelete a ECS PrimaryTaskSet
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS PrimaryTaskSet
syncSync ECS PrimaryTaskSet state from AWS

Resources

state(infinite)— ECS PrimaryTaskSet resource state
@swamp/aws/ecs/servicev2026.04.11.1service.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
PlatformVersion?stringThe platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*.
PropagateTags?enumSpecifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. You must set this to a value other than NONE when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon
PlacementStrategies?arrayThe placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service. To remove this property from your service resource, specify an empty PlacementStrategy array.
ServiceRegistries?arrayThe details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). Each service may be associated with one service registry. Multiple service registries for each service isn't supported. To remove this property from your service resource, specify an empty ServiceRegistry array.
VolumeConfigurations?arrayThe configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. To remove this property from your service resource, specify an empty ServiceVolumeConfiguration array.
CapacityProviderStrategy?arrayThe capacity provider strategy to use for the service. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an empty CapacityProviderStrategyItem array.
LaunchType?enumThe launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*. If you want to use Managed Instances, you must use the capacityProviderStrategy request parameter
AvailabilityZoneRebalancing?enumIndicates whether to use Availability Zone rebalancing for the service. For more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the *Amazon Elastic Container Service Developer Guide*. The default behavior of AvailabilityZoneRebalancing differs between create and update requests: For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS d
SchedulingStrategy?enumThe scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). There are two service scheduler strategies available: REPLICA -The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. Th
NetworkConfiguration?objectThe network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.
Tags?arrayThe metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in U
ForceNewDeployment?objectDetermines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( my_image:latest) or to roll Fargate tasks onto a newer platform version.
HealthCheckGracePeriodSeconds?numberThe period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSeconds is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
EnableECSManagedTags?booleanSpecifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide*. When you use Amazon ECS managed tags, you must set the propagateTags request parameter.
EnableExecuteCommand?booleanDetermines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
PlacementConstraints?arrayAn array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime. To remove this property from your service resource, specify an empty PlacementConstraint array.
Cluster?stringThe short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
LoadBalancers?arrayA list of load balancer objects to associate with the service. If you specify the Role property, LoadBalancers must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide*. To remove this property from your service resource, specify an empty LoadBalancer array.
ServiceConnectConfiguration?objectThe configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connec
DesiredCount?numberThe number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of 1 is used. When using the DAEMON scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
VpcLatticeConfigurations?arrayThe VPC Lattice configuration for the service being created.
DeploymentController?objectThe deployment controller to use for the service.
Role?stringThe name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter. If your account has already created the Amazon ECS service-linked role, that role is used for your servic
TaskDefinition?stringThe family and revision ( family:revision) or full ARN of the task definition to run in your service. If a revision isn't specified, the latest ACTIVE revision is used. A task definition must be specified if the service uses either the ECS or CODE_DEPLOY deployment controllers. For more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html).
ServiceName?stringThe name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions. The stack update fails if you change any properties that require replacement and the ServiceName is configured. This is because AWS CloudFormation creates the replacement service first, but each ServiceName must be unique in the
DeploymentConfiguration?objectOptional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
createCreate a ECS Service
getGet a ECS Service
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Service
updateUpdate a ECS Service
deleteDelete a ECS Service
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS Service
syncSync ECS Service state from AWS

Resources

state(infinite)— ECS Service resource state
@swamp/aws/ecs/task-definitionv2026.04.08.1task_definition.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
TaskRoleArn?stringThe short name or full Amazon Resource Name (ARN) of the IAMlong role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see [Amazon ECS Task Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*. IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also r
IpcMode?stringThe IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other c
InferenceAccelerators?array
Memory?stringThe amount (in MiB) of memory used by the task. If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory value or a container-level memory value. This field is optional and any value can be used. If a task-level memory value is specified, the container-level memory value is optional. For more information regarding container-level memory and memory reservation, see [ContainerDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinitio
PlacementConstraints?arrayAn array of placement constraint objects to use for tasks. This parameter isn't supported for tasks run on FARGATElong.
Cpu?stringThe number of cpu units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the memory parameter. If you're using the EC2 launch type or the external launch type, this field is optional. Supported values are between 128 CPU units ( 0.125 vCPUs) and 196608 CPU units ( 192 vCPUs). This
RequiresCompatibilities?arrayThe task launch types the task definition was validated against. The valid values are MANAGED_INSTANCES, EC2, FARGATE, and EXTERNAL. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.
NetworkMode?stringThe Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge. For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definiti
PidMode?stringThe process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task. If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all contai
EnableFaultInjection?booleanEnables fault injection and allows for fault injection requests to be accepted from the task's containers. The default value is false.
ExecutionRoleArn?stringThe Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see [IAM roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html) in the *Amazon Elastic Container Service Developer Guide*.
RuntimePlatform?objectThe operating system that your tasks definitions run on.
ProxyConfiguration?objectThe configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version 20190301 or later, they contain the required versions of the container agent and ecs-init. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/late
Volumes?arrayThe list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*. The host and sourcePath parameters aren't supported for tasks run on FARGATElong.
ContainerDefinitions?arrayA list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.
Family?stringThe name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add. To use revision numbers when you update a task definition, specify this property. If you don't specify a
EphemeralStorage?objectThe ephemeral storage settings to use for tasks run with the task definition.
Tags?arrayThe metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multipl
createCreate a ECS TaskDefinition
getGet a ECS TaskDefinition
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS TaskDefinition
updateUpdate a ECS TaskDefinition
deleteDelete a ECS TaskDefinition
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS TaskDefinition
syncSync ECS TaskDefinition state from AWS

Resources

state(infinite)— ECS TaskDefinition resource state
@swamp/aws/ecs/task-setv2026.04.03.2task_set.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
PlatformVersion?stringThe platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.
ExternalId?stringAn optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.
ClusterstringThe short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.
LoadBalancers?array
ServicestringThe short name or full Amazon Resource Name (ARN) of the service to create the task set in.
Scale?objectA floating-point percentage of the desired number of tasks to place and keep running in the task set.
ServiceRegistries?arrayThe details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.
CapacityProviderStrategy?array
LaunchType?enumThe launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide.
TaskDefinitionstringThe short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.
NetworkConfiguration?objectAn object representing the network configuration for a task or service.
Tags?array
createCreate a ECS TaskSet
getGet a ECS TaskSet
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS TaskSet
updateUpdate a ECS TaskSet
deleteDelete a ECS TaskSet
ArgumentTypeDescription
identifierstringThe primary identifier of the ECS TaskSet
syncSync ECS TaskSet state from AWS

Resources

state(infinite)— ECS TaskSet resource state