/// <summary> /// Lists the Task files matching the specified filter options /// </summary> /// <param name="options">The options to use when querying for Task files</param> /// <returns>The Task files matching the specified filter options</returns> public IEnumerable <PSTaskFile> ListTaskFiles(ListTaskFileOptions options) { if (options == null) { throw new ArgumentNullException("options"); } if ((string.IsNullOrWhiteSpace(options.WorkItemName) || string.IsNullOrWhiteSpace(options.JobName) || string.IsNullOrWhiteSpace(options.TaskName)) && options.Task == null) { throw new ArgumentNullException(Resources.GBTF_NoTaskSpecified); } // Get the single Task file matching the specified name if (!string.IsNullOrEmpty(options.TaskFileName)) { WriteVerbose(string.Format(Resources.GBTF_GetByName, options.TaskFileName, options.TaskName)); using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { ITaskFile taskFile = wiManager.GetTaskFile(options.WorkItemName, options.JobName, options.TaskName, options.TaskFileName, options.AdditionalBehaviors); PSTaskFile psTaskFile = new PSTaskFile(taskFile); return(new PSTaskFile[] { psTaskFile }); } } // List Task files using the specified filter else { string tName = options.Task == null ? options.TaskName : options.Task.Name; ODATADetailLevel odata = null; if (!string.IsNullOrEmpty(options.Filter)) { WriteVerbose(string.Format(Resources.GBTF_GetByOData, tName)); odata = new ODATADetailLevel(filterClause: options.Filter); } else { WriteVerbose(string.Format(Resources.GBTF_NoFilter, tName)); } IEnumerableAsyncExtended <ITaskFile> taskFiles = null; if (options.Task != null) { taskFiles = options.Task.omObject.ListTaskFiles(options.Recursive, odata, options.AdditionalBehaviors); } else { using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { taskFiles = wiManager.ListTaskFiles(options.WorkItemName, options.JobName, options.TaskName, options.Recursive, odata, options.AdditionalBehaviors); } } Func <ITaskFile, PSTaskFile> mappingFunction = f => { return(new PSTaskFile(f)); }; return(PSAsyncEnumerable <PSTaskFile, ITaskFile> .CreateWithMaxCount( taskFiles, mappingFunction, options.MaxCount, () => WriteVerbose(string.Format(Resources.MaxCount, options.MaxCount)))); } }
public DownloadTaskFileOptions(BatchAccountContext context, string workItemName, string jobName, string taskName, string taskFileName, PSTaskFile taskFile, string destinationPath, Stream stream, IEnumerable <BatchClientBehavior> additionalBehaviors = null) : base(context, workItemName, jobName, taskName, taskFileName, taskFile, additionalBehaviors) { if (string.IsNullOrWhiteSpace(destinationPath) && stream == null) { throw new ArgumentNullException(Resources.NoDownloadDestination); } this.DestinationPath = destinationPath; this.Stream = stream; }
public DownloadTaskFileOptions(BatchAccountContext context, string workItemName, string jobName, string taskName, string taskFileName, PSTaskFile taskFile, string destinationPath, Stream stream, IEnumerable<BatchClientBehavior> additionalBehaviors = null) : base(context, workItemName, jobName, taskName, taskFileName, taskFile, additionalBehaviors) { if (string.IsNullOrWhiteSpace(destinationPath) && stream == null) { throw new ArgumentNullException(Resources.NoDownloadDestination); } this.DestinationPath = destinationPath; this.Stream = stream; }
/// <summary> /// Lists the task files matching the specified filter options /// </summary> /// <param name="options">The options to use when querying for task files</param> /// <returns>The task files matching the specified filter options</returns> public IEnumerable<PSTaskFile> ListTaskFiles(ListTaskFileOptions options) { if (options == null) { throw new ArgumentNullException("options"); } // Get the single task file matching the specified name if (!string.IsNullOrEmpty(options.TaskFileName)) { WriteVerbose(string.Format(Resources.GBTF_GetByName, options.TaskFileName, options.TaskName)); using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { ITaskFile taskFile = wiManager.GetTaskFile(options.WorkItemName, options.JobName, options.TaskName, options.TaskFileName, options.AdditionalBehaviors); PSTaskFile psTaskFile = new PSTaskFile(taskFile); return new PSTaskFile[] { psTaskFile }; } } // List task files using the specified filter else { string tName = options.Task == null ? options.TaskName : options.Task.Name; ODATADetailLevel odata = null; string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { verboseLogString = string.Format(Resources.GBTF_GetByOData, tName); odata = new ODATADetailLevel(filterClause: options.Filter); } else { verboseLogString = string.Format(Resources.GBTF_NoFilter, tName); } WriteVerbose(verboseLogString); IEnumerableAsyncExtended<ITaskFile> taskFiles = null; if (options.Task != null) { taskFiles = options.Task.omObject.ListTaskFiles(options.Recursive, odata, options.AdditionalBehaviors); } else { using (IWorkItemManager wiManager = options.Context.BatchOMClient.OpenWorkItemManager()) { taskFiles = wiManager.ListTaskFiles(options.WorkItemName, options.JobName, options.TaskName, options.Recursive, odata, options.AdditionalBehaviors); } } Func<ITaskFile, PSTaskFile> mappingFunction = f => { return new PSTaskFile(f); }; return PSAsyncEnumerable<PSTaskFile, ITaskFile>.CreateWithMaxCount( taskFiles, mappingFunction, options.MaxCount, () => WriteVerbose(string.Format(Resources.MaxCount, options.MaxCount))); } }
public TaskFileOperationParameters(BatchAccountContext context, string workItemName, string jobName, string taskName, string taskFileName, PSTaskFile taskFile, IEnumerable<BatchClientBehavior> additionalBehaviors = null) : base(context, additionalBehaviors) { if ((string.IsNullOrWhiteSpace(workItemName) || string.IsNullOrWhiteSpace(jobName) || string.IsNullOrWhiteSpace(taskName) || string.IsNullOrWhiteSpace(taskFileName)) && taskFile == null) { throw new ArgumentNullException(Resources.NoTaskFile); } this.WorkItemName = workItemName; this.JobName = jobName; this.TaskName = taskName; this.TaskFileName = taskFileName; this.TaskFile = taskFile; }
public TaskFileOperationParameters(BatchAccountContext context, string workItemName, string jobName, string taskName, string taskFileName, PSTaskFile taskFile, IEnumerable <BatchClientBehavior> additionalBehaviors = null) : base(context, additionalBehaviors) { if ((string.IsNullOrWhiteSpace(workItemName) || string.IsNullOrWhiteSpace(jobName) || string.IsNullOrWhiteSpace(taskName) || string.IsNullOrWhiteSpace(taskFileName)) && taskFile == null) { throw new ArgumentNullException(Resources.NoTaskFile); } this.WorkItemName = workItemName; this.JobName = jobName; this.TaskName = taskName; this.TaskFileName = taskFileName; this.TaskFile = taskFile; }