Skip to content

Commit

Permalink
app.config added
Browse files Browse the repository at this point in the history
  • Loading branch information
maestropanel2 committed Dec 12, 2013
1 parent 4165403 commit 6534db0
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 25 deletions.
55 changes: 33 additions & 22 deletions ZoneImport/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class Program
private static string _apiPort;
private static string _apiSSL;
private static string _defaultPlan;
private static string _createDomain;

private static bool _defaultSSL = false;
private static int _defaultPort = 9715;
Expand All @@ -24,16 +25,16 @@ static void Main(string[] args)
{
bool validation = true;




var optionSet = new OptionSet
{
{"key=","MaestroPanel API Key",v => { _apiKey = v; }},
{"host=","MaestroPanel Host",v => { _apiHost = v; }},
{"port=","MaestroPanel Port Number",v => { _apiPort = v; }},
{"ssl=","Enable SSL",v => { _apiSSL = v; }},
{"plan=","Default Domain Plan",v => { _defaultPlan = v; }},
{"path=","DNS Zone Directory",v => { _zoneDirectory = v; }}
{"path=","DNS Zone Directory",v => { _zoneDirectory = v; }},
{"createDomain=", "Create Domain", v => {_createDomain = v;}}
};

optionSet.Parse(args);
Expand All @@ -45,6 +46,7 @@ static void Main(string[] args)

validation = false;
ShowUsage();
return;
}

if (String.IsNullOrEmpty(_apiHost))
Expand All @@ -53,6 +55,7 @@ static void Main(string[] args)

validation = false;
ShowUsage();
return;
}

if (String.IsNullOrEmpty(_zoneDirectory))
Expand All @@ -61,6 +64,7 @@ static void Main(string[] args)

validation = false;
ShowUsage();
return;
}


Expand All @@ -70,14 +74,16 @@ static void Main(string[] args)

validation = false;
ShowUsage();
return;
}

if (!int.TryParse(_apiPort, out _defaultPort))
{
Console.WriteLine("Invalid Port Numner: "+ _apiPort);

validation = false;
ShowUsage();
ShowUsage();
return;
}

if (!bool.TryParse(_apiSSL, out _defaultSSL))
Expand All @@ -86,6 +92,7 @@ static void Main(string[] args)

validation = false;
ShowUsage();
return;
}
#endregion

Expand All @@ -102,7 +109,8 @@ static void ShowUsage()
Console.WriteLine("\t--host\tMaestroPanel Host.");
Console.WriteLine("\t--port\tMaestroPanel Port");
Console.WriteLine("\t--ssl\tSSL Connection");
Console.WriteLine("\t--plan\tMaestroPanel Default Domain Plan");
Console.WriteLine("\t--plan\tMaestroPanel Default Domain Plan");
Console.WriteLine("\t--createDomain\tIf you want to create domain set true. Default false");
}

static string GetPassword()
Expand All @@ -113,34 +121,37 @@ static string GetPassword()
static void Start()
{
var _parser = new MsDnsZoneParser(_zoneDirectory);
var _api = new ApiClient(_apiKey, _apiHost, _defaultPort, _defaultSSL, suppressDnsZoneIP: true);
var _api = new ApiClient(_apiKey, _apiHost, _defaultPort, _defaultSSL, format:"XML", suppressResponse:true,
suppressDnsZoneIP: false, generatePassword:false);

var ZoneList = _parser.Start();

foreach (var item in ZoneList)
{
Console.WriteLine("Creating {0}", item.Name);
var createResult = _api.DomainCreate(item.Name, _defaultPlan, item.Name, GetPassword(), false);
Console.WriteLine("\tResult: {0}", createResult.Message);
ApiResult<DomainOperationsResult> createResult = null;

if (createResult.ErrorCode == 0)
if (_createDomain == "true")
{
var records = item.Records
.Select(m => new DnsZoneRecordItem() { name = m.Name, value = m.Value, type = m.RType.ToString(), priority = m.Priority })
.ToList();
Console.WriteLine("Creating {0}", item.Name);
createResult = _api.DomainCreate(item.Name, _defaultPlan, item.Name, GetPassword(), false);
Console.WriteLine("\tResult: {0}", createResult.Message);
}

var records = item.Records
.Select(m => new DnsZoneRecordItem() { name = m.Name, value = m.Value, type = m.RType.ToString(), priority = m.Priority })
.ToList();

var serialNumber = Convert.ToInt32(DateTime.Now.ToString("yyyyMMddHH"));
var serialNumber = Convert.ToInt32(DateTime.Now.ToString("yyyyMMddHH"));

Console.WriteLine("Deploy Dns Zone {0}", item.Name);
Console.WriteLine("Deploy Dns Zone {0}", item.Name);

var dnsZoneResult = _api.SetDnsZone(item.Name,
item.Soa.ExpireLimit, item.Soa.MinimumTTL,
item.Soa.RefreshInterval, item.Soa.ResponsibleParty,
item.Soa.RetryDelay, serialNumber,
item.Soa.PrimaryServer, records);
var dnsZoneResult = _api.SetDnsZone(item.Name,
item.Soa.ExpireLimit, item.Soa.MinimumTTL,
item.Soa.RefreshInterval, item.Soa.ResponsibleParty,
item.Soa.RetryDelay, serialNumber,
item.Soa.PrimaryServer, records);

Console.WriteLine("\tResult: {0}", dnsZoneResult.Message);
}
Console.WriteLine("\tResult: {0}", dnsZoneResult.Message);
}

}
Expand Down
12 changes: 9 additions & 3 deletions ZoneImport/ZoneImport.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@
<AssemblyName>ZoneImport</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<Optimize>true</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
Expand All @@ -32,8 +34,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="MpMigrate.MaestroPanel.Api">
<HintPath>..\..\MpImport\MpMigrate.MaestroPanel.Api\bin\Debug\MpMigrate.MaestroPanel.Api.dll</HintPath>
<Reference Include="MpMigrate.MaestroPanel.Api, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\MpImport\MpMigrate.MaestroPanel.Api\bin\Release\MpMigrate.MaestroPanel.Api.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\..\MpImport\MpMigrate.MaestroPanel.Api\bin\Debug\Newtonsoft.Json.dll</HintPath>
Expand All @@ -58,6 +61,9 @@
<Name>MpZoneImport</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
3 changes: 3 additions & 0 deletions ZoneImport/app.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

0 comments on commit 6534db0

Please sign in to comment.