agent/containermetadata/parse_metadata.go
func (manager *metadataManager) parseMetadataAtContainerCreate(task *apitask.Task, containerName string) Metadata {
	return Metadata{
		cluster: manager.cluster,
		taskMetadata: TaskMetadata{
			containerName:          containerName,
			taskARN:                task.Arn,
			taskDefinitionFamily:   task.Family,
			taskDefinitionRevision: task.Version,
		},
		containerInstanceARN:  manager.containerInstanceARN,
		metadataStatus:        MetadataInitial,
		availabilityZone:      manager.availabilityZone,
		hostPublicIPv4Address: manager.hostPublicIPv4Address,
	}
}
func (manager *metadataManager) parseMetadataAtContainerCreate(task *apitask.Task, containerName string) Metadata {
	return Metadata{
		cluster: manager.cluster,
		taskMetadata: TaskMetadata{
			containerName:          containerName,
			taskARN:                task.Arn,
			taskDefinitionFamily:   task.Family,
			taskDefinitionRevision: task.Version,
		},
		containerInstanceARN:  manager.containerInstanceARN,
		metadataStatus:        MetadataInitial,
		availabilityZone:      manager.availabilityZone,
		hostPublicIPv4Address: manager.hostPublicIPv4Address,
	}
}
// parseMetadataAtContainerCreate gathers metadata from task and cluster configurations
// then packages it for JSON Marshaling. We use this version to get data
// available prior to container creation
// Since we accept incomplete metadata fields, we should not return
// errors here and handle them at this or the above stage.