protected async void AddZone() { InputDialog input = new InputDialog("Enter zone name", "Enter the name of the DNS zone to add", ""); if (ActiveResourceGroup != null && input.ShowDialog() == true) { ZoneCreateOrUpdateParameters p = new ZoneCreateOrUpdateParameters(); p.Zone = new Zone("global"); p.Zone.Properties = new ZoneProperties(); try { ZoneCreateOrUpdateResponse responseCreateZone = await _dnsManagementClient.Zones.CreateOrUpdateAsync(ActiveResourceGroup.Name, input.Value, p, null, null); ReloadZones(); } catch (Exception ex) { Debug.WriteLine(ex.Message); MessageBox.Show("Failed to add zone name!"); } } }
protected async void AddZone() { InputDialog input = new InputDialog("Enter zone name", "Enter the name of the DNS zone to add", ""); if (ActiveResourceGroup != null && input.ShowDialog() == true) { ZoneCreateOrUpdateParameters p = new ZoneCreateOrUpdateParameters(); p.Zone = new Zone("global"); p.Zone.Properties = new ZoneProperties(); try { ZoneCreateOrUpdateResponse responseCreateZone = await _dnsManagementClient.Zones.CreateOrUpdateAsync(ActiveResourceGroup.Name, input.Value, p, null, null); ReloadZones(); } catch(Exception ex) { Debug.WriteLine(ex.Message); MessageBox.Show("Failed to add zone name!"); } } }
protected async void AddRecord(object param) { RecordSet rs = new RecordSet("global"); string typeString = param.ToString(); InputDialog dlg; switch (typeString) { case "A": dlg = new InputDialog("Add A record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add A record", "Enter the 'target' for the record", "127.0.0.1"); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, ARecords = new List <ARecord> { new ARecord(dlg.Value) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/A"; break; case "AAAA": dlg = new InputDialog("Add AAAA record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add AAAA record", "Enter the 'target' for the record", "::1"); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, AaaaRecords = new List <AaaaRecord> { new AaaaRecord(dlg.Value) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/AAAA"; break; case "CNAME": dlg = new InputDialog("Add CNAME record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add CNAME record", "Enter the 'target' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, CnameRecord = new CnameRecord(dlg.Value) }; } else { return; } rs.Type = "Microsoft.Network/dnszones/CNAME"; break; case "MX": rs.Name = "@"; dlg = new InputDialog("Add MX record", "Enter the 'preference / priority' of the record", "10"); rs.Properties = new RecordSetProperties() { Ttl = 600, MxRecords = new List <MxRecord> { new MxRecord() } }; if (dlg.ShowDialog() == true) { rs.Properties.MxRecords[0].Preference = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add MX record", "Enter the 'target / exchange' for the record", "mx1." + ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties.MxRecords[0].Exchange = dlg.Value; } else { return; } rs.Type = "Microsoft.Network/dnszones/MX"; break; case "SRV": dlg = new InputDialog("Add SRV record", "Enter the 'name/origin' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } rs.Properties = new RecordSetProperties { Ttl = 600, SrvRecords = new List <SrvRecord> { new SrvRecord() } }; dlg = new InputDialog("Add SRV record", "Enter the 'priority' for the record", "100"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Priority = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'weight' for the record", "1"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Weight = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'port' for the record", "443"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Port = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'target' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Target = dlg.Value; } else { return; } rs.Type = "Microsoft.Network/dnszones/SRV"; break; case "TXT": dlg = new InputDialog("Add TXT record", "Enter the 'name/origin' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add TXT record", "Enter the 'target/value' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, TxtRecords = new List <TxtRecord> { new TxtRecord(new List <string>() { dlg.Value }) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/TXT"; break; default: return; } try { await _dnsManagementClient.RecordSets.CreateOrUpdateAsync(ActiveResourceGroup.Name, ActiveZone.Name, rs.Name, GetRecordType(rs.Type), new RecordSetCreateOrUpdateParameters(rs), null, null); ReloadRecords(); } catch (Exception ex) { MessageBox.Show("Failed to add new record. " + ex.Message); } }
protected async void AddRecord(object param) { RecordSet rs = new RecordSet("global"); string typeString = param.ToString(); InputDialog dlg; switch (typeString) { case "A": dlg = new InputDialog("Add A record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add A record", "Enter the 'target' for the record", "127.0.0.1"); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, ARecords = new List<ARecord> { new ARecord(dlg.Value) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/A"; break; case "AAAA": dlg = new InputDialog("Add AAAA record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add AAAA record", "Enter the 'target' for the record", "::1"); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, AaaaRecords = new List<AaaaRecord> { new AaaaRecord(dlg.Value) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/AAAA"; break; case "CNAME": dlg = new InputDialog("Add CNAME record", "Enter the 'name' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add CNAME record", "Enter the 'target' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, CnameRecord = new CnameRecord(dlg.Value) }; } else { return; } rs.Type = "Microsoft.Network/dnszones/CNAME"; break; case "MX": rs.Name = "@"; dlg = new InputDialog("Add MX record", "Enter the 'preference / priority' of the record", "10"); rs.Properties = new RecordSetProperties() { Ttl = 600, MxRecords = new List<MxRecord> { new MxRecord() } }; if (dlg.ShowDialog() == true) { rs.Properties.MxRecords[0].Preference = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add MX record", "Enter the 'target / exchange' for the record", "mx1." + ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties.MxRecords[0].Exchange = dlg.Value; } else { return; } rs.Type = "Microsoft.Network/dnszones/MX"; break; case "SRV": dlg = new InputDialog("Add SRV record", "Enter the 'name/origin' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } rs.Properties = new RecordSetProperties { Ttl = 600, SrvRecords = new List<SrvRecord> { new SrvRecord() } }; dlg = new InputDialog("Add SRV record", "Enter the 'priority' for the record", "100"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Priority = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'weight' for the record", "1"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Weight = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'port' for the record", "443"); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Port = ushort.Parse(dlg.Value); } else { return; } dlg = new InputDialog("Add SRV record", "Enter the 'target' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties.SrvRecords[0].Target = dlg.Value; } else { return; } rs.Type = "Microsoft.Network/dnszones/SRV"; break; case "TXT": dlg = new InputDialog("Add TXT record", "Enter the 'name/origin' of the record", "@"); if (dlg.ShowDialog() == true) { rs.Name = dlg.Value; } else { return; } dlg = new InputDialog("Add TXT record", "Enter the 'target/value' for the record", ActiveZone.Name); if (dlg.ShowDialog() == true) { rs.Properties = new RecordSetProperties { Ttl = 600, TxtRecords = new List<TxtRecord> { new TxtRecord(new List<string>() { dlg.Value }) } }; } else { return; } rs.Type = "Microsoft.Network/dnszones/TXT"; break; default: return; } try { await _dnsManagementClient.RecordSets.CreateOrUpdateAsync(ActiveResourceGroup.Name, ActiveZone.Name, rs.Name, GetRecordType(rs.Type), new RecordSetCreateOrUpdateParameters(rs), null, null); ReloadRecords(); } catch(Exception ex) { MessageBox.Show("Failed to add new record. " + ex.Message); } }