agent/app/agent.go
func (agent *ecsAgent) newStateManager(
	taskEngine engine.TaskEngine,
	cluster *string,
	containerInstanceArn *string,
	savedInstanceID *string,
	availabilityZone *string) (statemanager.StateManager, error) {

	if !agent.cfg.Checkpoint {
		return statemanager.NewNoopStateManager(), nil
	}

	return agent.stateManagerFactory.NewStateManager(agent.cfg,
		statemanager.AddSaveable("TaskEngine", taskEngine),
		// This is for making testing easier as we can mock this
		agent.saveableOptionFactory.AddSaveable("ContainerInstanceArn",
			containerInstanceArn),
		agent.saveableOptionFactory.AddSaveable("Cluster", cluster),
		// This is for making testing easier as we can mock this
		agent.saveableOptionFactory.AddSaveable("EC2InstanceID", savedInstanceID),
		agent.saveableOptionFactory.AddSaveable("availabilityZone", availabilityZone),
	)
}
func (agent *ecsAgent) newStateManager(
	taskEngine engine.TaskEngine,
	cluster *string,
	containerInstanceArn *string,
	savedInstanceID *string,
	availabilityZone *string) (statemanager.StateManager, error) {

	if !agent.cfg.Checkpoint {
		return statemanager.NewNoopStateManager(), nil
	}

	return agent.stateManagerFactory.NewStateManager(agent.cfg,
		statemanager.AddSaveable("TaskEngine", taskEngine),
		// This is for making testing easier as we can mock this
		agent.saveableOptionFactory.AddSaveable("ContainerInstanceArn",
			containerInstanceArn),
		agent.saveableOptionFactory.AddSaveable("Cluster", cluster),
		// This is for making testing easier as we can mock this
		agent.saveableOptionFactory.AddSaveable("EC2InstanceID", savedInstanceID),
		agent.saveableOptionFactory.AddSaveable("availabilityZone", availabilityZone),
	)
}
func ( agent * ecsAgent ) newStateManager ( taskEngine engine . TaskEngine , cluster * string , containerInstanceArn * string , savedInstanceID * string , availabilityZone * string ) ( statemanager . StateManager , error ) { if ! agent . cfg . Checkpoint { return statemanager . NewNoopStateManager ( ) , nil } return agent . stateManagerFactory . NewStateManager ( agent . cfg , statemanager . AddSaveable ( " " , taskEngine ) , // This is for making testing easier as we can mock this agent . saveableOptionFactory . AddSaveable ( " " , containerInstanceArn ) , agent . saveableOptionFactory . AddSaveable ( " " , cluster ) , // This is for making testing easier as we can mock this agent . saveableOptionFactory . AddSaveable ( " " , savedInstanceID ) , agent . saveableOptionFactory . AddSaveable ( " " , availabilityZone ) , ) }
// newStateManager creates a new state manager object for the task engine.
// Rest of the parameters are pointers and it's expected that all of these
// will be backfilled when state manager's Load() method is invoked
newStateManager creates a new state manager object for the task engine . Rest of the parameters are pointers and it s expected that all of these will be backfilled when state manager s Load () method is invoked