Exemple #1
0
        public Task <Response <bool> > Update(Metric metric)
        {
            var culture = CultureInfo.InvariantCulture;

            metric.StatusPageId = client.GetStatusPageId(metric.StatusPageId);
            return(client.PostAsync <Response <bool> >("metric/update", new
            {
                metric_id = metric.MetricId,
                statuspage_id = metric.StatusPageId,

                day_avg = metric.DayAverage.ToString(culture),
                day_start = metric.DayStart.ToUnixTimestamp().ToString(culture),
                day_dates = metric.DayDates.Select(d => d.ToFormatString()).ToArray(),
                day_values = metric.DayValues.Select(d => d.ToString(culture)).ToArray(),

                week_avg = metric.WeekAverage.ToString(culture),
                week_start = metric.WeekStart.ToUnixTimestamp().ToString(culture),
                week_dates = metric.WeekDates.Select(d => d.ToFormatString()).ToArray(),
                week_values = metric.WeekValues.Select(d => d.ToString(culture)).ToArray(),

                month_avg = metric.MonthAverage.ToString(culture),
                month_start = metric.MonthStart.ToUnixTimestamp().ToString(culture),
                month_dates = metric.MonthDates.Select(d => d.ToFormatString()).ToArray(),
                month_values = metric.MonthValues.Select(d => d.ToString(culture)).ToArray()
            }));
        }
Exemple #2
0
 public Task <Response <string> > Schedule(MaintenanceSchedule schedule)
 {
     return(client.PostAsync <Response <string> >("maintenance/schedule", new
     {
         statuspage_id = client.GetStatusPageId(schedule.StatusPageId),
         components = schedule.ComponentIds.Select(client.CleanAndValidateId),
         containers = schedule.ContainerIds.Select(client.CleanAndValidateId),
         all_infrastructure_affected = schedule.AllInfrastructureAffected ? "1" : "0",
         maintenance_name = schedule.Name,
         maintenance_details = schedule.Details,
         date_planned_start = schedule.PlannedStart.ToString("dd-MM-yyyy"),
         time_planned_start = schedule.PlannedStart.ToString("HH:mm"),
         date_planned_end = schedule.PlannedEnd.ToString("dd-MM-yyyy"),
         time_planned_end = schedule.PlannedEnd.ToString("HH:mm"),
         maintenance_notify_now = schedule.NotifyNow ? "1" : "0",
         maintenance_notify_24_hr = schedule.Notify24h ? "1" : "0",
         maintenance_notify_1_hr = schedule.Notify1h ? "1" : "0"
     }));
 }
Exemple #3
0
 public Task <Response <bool> > AddAsync(string method, string address, string statusPageId = null, bool silent = false, Grain[] granular = null)
 {
     return(client.PostAsync <Response <bool> >("subscriber/add", new
     {
         statuspage_id = client.GetStatusPageId(statusPageId),
         meth = method,
         address,
         silent = silent ? "1" : "0",
         granular = granular != null ? string.Join(",", granular.Select(g => g.ToApiString())) : null
     }));
 }
Exemple #4
0
 public Task <Response <bool> > UpdateAsync(string details, IncidentStatus status, string[] componentIds, string[] containerIds, string statusPageId = null)
 {
     return(client.PostAsync <Response <bool> >("component/status/update", new
     {
         statuspage_id = client.GetStatusPageId(statusPageId),
         details,
         components = componentIds,
         containers = containerIds,
         current_status = status,
     }));
 }
Exemple #5
0
 public Task <Response <string> > CreateAsync(CreateIncident incident)
 {
     incident.StatusPageId = client.GetStatusPageId(incident.StatusPageId);
     return(client.PostAsync <Response <string> >("incident/create", incident));
 }