public bool DropRetentionPolicy(InfluxRetentionPolicy p) { if (String.IsNullOrWhiteSpace(p.Database)) { throw new Exception("Missing database"); } ExecutePostQuery(p.ToDropStatement(), null); return(true); }
public IDictionary <String, InfluxRetentionPolicy> ShowRetentionPolicies(string db) { HttpWebRequest req = GetWebRequest("query?q=SHOW RETENTION POLICIES on " + db); req.Method = "GET"; Dictionary <string, InfluxRetentionPolicy> policies = new Dictionary <string, InfluxRetentionPolicy>(); using (HttpWebResponse res = req.GetResponse() as HttpWebResponse) { JsonTextReader reader = new JsonTextReader( new StreamReader(res.GetResponseStream())); JObject results = (JObject)((JArray)JObject.Load(reader).GetValue("results")).First; JArray series = (JArray)results.GetValue("series"); if (series != null) { foreach (JToken t in series) { JObject dbqs = (JObject)t; JArray values = dbqs.GetValue("values") as JArray; if (values != null && values.Count > 0) { foreach (JToken v in values) { JArray aa = v as JArray; InfluxRetentionPolicy q = new InfluxRetentionPolicy(); q.Database = db; q.Name = v[0].Value <string>(); q.Duration = v[1].Value <string>(); q.IsDefault = v[4].Value <bool>(); policies[q.Name] = q; } } } } } return(policies); }