code: func (task *Task) initializeCredentialsEndpoint(credentialsManager credentials.Manager) {
  	id := task.GetCredentialsID()
  	if id == "" {
  		// No credentials set for the task. Do not inject the endpoint environment variable.
  		return
  	}
  	taskCredentials, ok := credentialsManager.GetTaskCredentials(id)
  	if !ok {
  		// Task has credentials id set, but credentials manager is unaware of
  		// the id. This should never happen as the payload handler sets
  		// credentialsId for the task after adding credentials to the
  		// credentials manager
  		seelog.Errorf("Unable to get credentials for task: %s", task.Arn)
  		return
  	}
  
  	credentialsEndpointRelativeURI := taskCredentials.IAMRoleCredentials.GenerateCredentialsEndpointRelativeURI()
  	for _, container := range task.Containers {
  		// container.Environment map would not be initialized if there are
  		// no environment variables to be set or overridden in the container
  		// config. Check if that's the case and initilialize if needed
  		if container.Environment == nil {
  			container.Environment = make(map[string]string)
  		}
  		container.Environment[awsSDKCredentialsRelativeURIPathEnvironmentVariableName] = credentialsEndpointRelativeURI
  	}
  
  }
docs: // initializeCredentialsEndpoint sets the credentials endpoint for all containers in a task if needed.