public Schedule CreateSchedule(string automationAccountName, DailySchedule schedule) { this.ValidateScheduleName(automationAccountName, schedule.Name); var scheduleModel = new AutomationManagement.Models.Schedule { Name = schedule.Name, StartTime = schedule.StartTime.ToUniversalTime(), ExpiryTime = schedule.ExpiryTime.ToUniversalTime(), Description = schedule.Description, DayInterval = schedule.DayInterval, ScheduleType = AutomationManagement.Models.ScheduleType .DailySchedule }; var scheduleCreateParameters = new AutomationManagement.Models.ScheduleCreateParameters { Schedule = scheduleModel }; var scheduleCreateResponse = this.automationManagementClient.Schedules.Create( automationAccountName, scheduleCreateParameters); return(this.GetSchedule(automationAccountName, new Guid(scheduleCreateResponse.Schedule.Id))); }
private Schedule UpdateScheduleHelper(string automationAccountName, AutomationManagement.Models.Schedule schedule, bool?isEnabled, string description) { // StartTime and ExpiryTime need to specified as Utc schedule.StartTime = DateTime.SpecifyKind(schedule.StartTime, DateTimeKind.Utc); schedule.ExpiryTime = DateTime.SpecifyKind(schedule.ExpiryTime, DateTimeKind.Utc); if (isEnabled.HasValue) { schedule.IsEnabled = isEnabled.Value; } if (description != null) { schedule.Description = description; } var scheduleUpdateParameters = new AutomationManagement.Models.ScheduleUpdateParameters { Schedule = schedule }; this.automationManagementClient.Schedules.Update( automationAccountName, scheduleUpdateParameters); var scheduleId = new Guid(schedule.Id); return(this.GetSchedule(automationAccountName, scheduleId)); }
private Schedule CreateScheduleFromScheduleModel(AutomationManagement.Models.Schedule schedule) { Requires.Argument("schedule", schedule).NotNull(); if (schedule.ScheduleType == AutomationManagement.Models.ScheduleType.DailySchedule) { return(new DailySchedule(schedule)); } else { return(new OneTimeSchedule(schedule)); } }
private AutomationManagement.Models.Schedule GetScheduleModel(string automationAccountName, Guid scheduleId) { AutomationManagement.Models.Schedule scheduleModel = this.automationManagementClient.Schedules.Get( automationAccountName, scheduleId.ToString()) .Schedule; if (scheduleModel == null) { throw new ResourceNotFoundException(typeof(Schedule), string.Format(CultureInfo.CurrentCulture, Resources.ScheduleNotFoundById, scheduleId)); } return(scheduleModel); }
public IEnumerable <Runbook> ListRunbookByScheduleName(string automationAccountName, string scheduleName) { AutomationManagement.Models.Schedule scheduleModel = this.GetScheduleModel(automationAccountName, scheduleName); IList <AutomationManagement.Models.Runbook> runbookModels = AutomationManagementClient.ContinuationTokenHandler( skipToken => { var listRunbookResponse = this.automationManagementClient.Runbooks.ListByScheduleNameWithSchedules( automationAccountName, new AutomationManagement.Models.RunbookListByScheduleNameParameters { ScheduleName = scheduleModel.Name, SkipToken = skipToken }); return(new ResponseWithSkipToken <AutomationManagement.Models.Runbook>( listRunbookResponse, listRunbookResponse.Runbooks)); }); IEnumerable <Runbook> runbooks = runbookModels.Select(runbookModel => new Runbook(runbookModel)); return(runbooks.Where(runbook => runbook.ScheduleNames.Any())); }
public Schedule CreateSchedule(string automationAccountName, DailySchedule schedule) { this.ValidateScheduleName(automationAccountName, schedule.Name); var scheduleModel = new AutomationManagement.Models.Schedule { Name = schedule.Name, StartTime = schedule.StartTime.ToUniversalTime(), ExpiryTime = schedule.ExpiryTime.ToUniversalTime(), Description = schedule.Description, DayInterval = schedule.DayInterval, ScheduleType = AutomationManagement.Models.ScheduleType .DailySchedule }; var scheduleCreateParameters = new AutomationManagement.Models.ScheduleCreateParameters { Schedule = scheduleModel }; var scheduleCreateResponse = this.automationManagementClient.Schedules.Create( automationAccountName, scheduleCreateParameters); return this.GetSchedule(automationAccountName, new Guid(scheduleCreateResponse.Schedule.Id)); }
public Schedule UpdateSchedule(string automationAccountName, string scheduleName, bool?isEnabled, string description) { AutomationManagement.Models.Schedule scheduleModel = this.GetScheduleModel(automationAccountName, scheduleName); return(this.UpdateScheduleHelper(automationAccountName, scheduleModel, isEnabled, description)); }
public Schedule GetSchedule(string automationAccountName, string scheduleName) { AutomationManagement.Models.Schedule scheduleModel = this.GetScheduleModel(automationAccountName, scheduleName); return(this.CreateScheduleFromScheduleModel(scheduleModel)); }