コード例 #1
0
        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)));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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()));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
 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));
 }
コード例 #8
0
 public Schedule GetSchedule(string automationAccountName, string scheduleName)
 {
     AutomationManagement.Models.Schedule scheduleModel = this.GetScheduleModel(automationAccountName, scheduleName);
     return(this.CreateScheduleFromScheduleModel(scheduleModel));
 }