// // Calls for zertoFailover // public static JToken FailoverTest(string vpgName, string vmName) { ZertoZvm.Parameters.Clear(); try { if (vpgName.Length > 0) { ZertoZvm.Parameters.Add("vpgName", vpgName); } if (vmName.Length > 0) { ZertoZvm.Parameters.Add("vmName", vmName); } JArray vms = (JArray)(ZertoZvmApi.GetResult("/v1/vms", ZertoZvm.Parameters)); var vpgId = vms.SelectToken("[0].VpgIdentifier"); var checkpointId = ZertoZvmApi.GetResult("/v1/vpgs/" + vpgId + "/checkpoints/stats", ZertoZvm.Parameters).SelectToken("Latest.CheckpointIdentifier"); JArray VmIdentifiers = new JArray(); foreach (var vm in vms) { VmIdentifiers.Add(vm.SelectToken("VmIdentifier")); } JToken request = new JObject( new JProperty("CheckpointIdentifier", checkpointId), new JProperty("VmIdentifiers", VmIdentifiers)); var result = JToken.Parse(ZertoZvmApi.PostRequest("/v1/vpgs/" + vpgId + "/FailoverTest", request)); return(result); } catch (Exception e) { return(JToken.Parse(e.ToString())); } }
public static string CommitVpgSettingsObject(string VpgSettingsIdentifier, bool cloud = false) { ZertoZvm.Parameters.Clear(); try { return(ZertoZvmApi.PostRequest("/v1/vpgSettings/" + VpgSettingsIdentifier + "/commit", "", cloud)); } catch (Exception e) { return(e.ToString()); } }
public static string GetVpgSettingsIdentifier(JToken body, bool cloud = false) { ZertoZvm.Parameters.Clear(); try { return(ZertoZvmApi.PostRequest("/v1/vpgSettings", body, cloud)); } catch (Exception e) { return(e.ToString()); } }
public static JToken FailoverRollback(string vpgName) { try { var vpgId = GetVpgId(vpgName); var result = JToken.Parse(ZertoZvmApi.PostRequest("/v1/vpgs/" + vpgId + "/FailoverRollback", "")); return(result); } catch (Exception e) { return(JToken.Parse(e.ToString())); } }
public static JToken FailoverCommit(string vpgName) { try { var vpgId = GetVpgId(vpgName); JToken request = new JObject( new JProperty("IsReverseProtection", false)); var result = JToken.Parse(ZertoZvmApi.PostRequest("/v1/vpgs/" + vpgId + "/FailoverCommit", "")); return(result); } catch (Exception e) { return(JToken.Parse(e.ToString())); } }