/// <summary> /// Creates a new task. /// </summary> /// <param name="parameters">The parameters to use when creating the task.</param> public void CreateTask(NewTaskParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } CloudTask task = new CloudTask(parameters.TaskId, parameters.CommandLine); task.DisplayName = parameters.DisplayName; task.RunElevated = parameters.RunElevated; if (parameters.EnvironmentSettings != null) { task.EnvironmentSettings = new List <EnvironmentSetting>(); foreach (DictionaryEntry d in parameters.EnvironmentSettings) { EnvironmentSetting setting = new EnvironmentSetting(d.Key.ToString(), d.Value.ToString()); task.EnvironmentSettings.Add(setting); } } if (parameters.ResourceFiles != null) { task.ResourceFiles = new List <ResourceFile>(); foreach (DictionaryEntry d in parameters.ResourceFiles) { ResourceFile file = new ResourceFile(d.Value.ToString(), d.Key.ToString()); task.ResourceFiles.Add(file); } } if (parameters.AffinityInformation != null) { task.AffinityInformation = parameters.AffinityInformation.omObject; } if (parameters.Constraints != null) { task.Constraints = parameters.Constraints.omObject; } if (parameters.MultiInstanceSettings != null) { Utils.Utils.MultiInstanceSettingsSyncCollections(parameters.MultiInstanceSettings); task.MultiInstanceSettings = parameters.MultiInstanceSettings.omObject; } WriteVerbose(string.Format(Resources.CreatingTask, parameters.TaskId)); if (parameters.Job != null) { parameters.Job.omObject.AddTask(task, parameters.AdditionalBehaviors); } else { JobOperations jobOperations = parameters.Context.BatchOMClient.JobOperations; jobOperations.AddTask(parameters.JobId, task, parameters.AdditionalBehaviors); } }
/// <summary> /// Adds a collection of tasks /// </summary> /// <param name="parameters">The parameters to use when creating the tasks.</param> public void AddTaskCollection(NewBulkTaskParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } Func <PSCloudTask, CloudTask> mappingFunc = task => { Utils.Utils.CloudTaskSyncCollections(task); return(task.omObject); }; IEnumerable <CloudTask> taskCollection = parameters.Tasks.Select(mappingFunc); JobOperations jobOperations = parameters.Context.BatchOMClient.JobOperations; string jobId = parameters.Job == null ? parameters.JobId : parameters.Job.Id; jobOperations.AddTask(jobId, taskCollection, additionalBehaviors: parameters.AdditionalBehaviors); }
/// <summary> /// Creates a new task. /// </summary> /// <param name="parameters">The parameters to use when creating the task.</param> public void CreateTask(NewTaskParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } CloudTask task = new CloudTask(parameters.TaskId, parameters.CommandLine); task.DisplayName = parameters.DisplayName; if (parameters.AuthenticationTokenSettings != null) { task.AuthenticationTokenSettings = parameters.AuthenticationTokenSettings.omObject; } if (parameters.UserIdentity != null) { task.UserIdentity = parameters.UserIdentity.omObject; } if (parameters.EnvironmentSettings != null) { task.EnvironmentSettings = new List <EnvironmentSetting>(); foreach (DictionaryEntry d in parameters.EnvironmentSettings) { EnvironmentSetting setting = new EnvironmentSetting(d.Key.ToString(), d.Value.ToString()); task.EnvironmentSettings.Add(setting); } } if (parameters.ResourceFiles != null) { task.ResourceFiles = parameters.ResourceFiles.Select(file => file.omObject).ToList(); } if (parameters.AffinityInformation != null) { task.AffinityInformation = parameters.AffinityInformation.omObject; } if (parameters.Constraints != null) { task.Constraints = parameters.Constraints.omObject; } if (parameters.DependsOn != null) { task.DependsOn = parameters.DependsOn; } if (parameters.MultiInstanceSettings != null) { Utils.Utils.MultiInstanceSettingsSyncCollections(parameters.MultiInstanceSettings); task.MultiInstanceSettings = parameters.MultiInstanceSettings.omObject; } if (parameters.ApplicationPackageReferences != null) { task.ApplicationPackageReferences = parameters.ApplicationPackageReferences.ToList().ConvertAll(apr => apr.omObject); } if (parameters.ExitConditions != null) { Utils.Utils.ExitConditionsSyncCollections(parameters.ExitConditions); task.ExitConditions = parameters.ExitConditions.omObject; } if (parameters.OutputFiles != null) { task.OutputFiles = parameters.OutputFiles.ToList().ConvertAll(outputFile => outputFile.omObject); } task.ContainerSettings = parameters.ContainerSettings?.omObject; WriteVerbose(string.Format(Resources.CreatingTask, parameters.TaskId)); if (parameters.Job != null) { parameters.Job.omObject.AddTask(task, parameters.AdditionalBehaviors); } else { JobOperations jobOperations = parameters.Context.BatchOMClient.JobOperations; jobOperations.AddTask(parameters.JobId, task, parameters.AdditionalBehaviors); } }