/// <summary> /// Constructor class /// </summary> /// <param name="parameters">Input parameters for import functionality.</param> /// <param name="dcMigration">DCMigration class object to report progress.</param> public ResourceImporter(ImportParameters parameters, DCMigrationManager dcMigration) { // Set export parameters. importParameters = parameters; this.dcMigration = dcMigration; helper = new ResourceNameMapperHelper(); }
public RollBack(ImportParameters importParameters, Subscription subscription, DCMigrationManager dcMigrationManager, ResourceImporter resourceImporter) { this.subscription = subscription; this.importParameters = importParameters; this.dcMigrationManager = dcMigrationManager; this.resourceImporter = resourceImporter; }
public ResourceExporter(ExportParameters parameters, DCMigrationManager dcMigration) { // Set export parameters. exportParameters = parameters; this.dcMigration = dcMigration; }
/// <summary> /// Main Class /// </summary> /// <param name="args"> Argument parameters : /// Example1 : -Operation "Export" -SourceSubscriptionID "5d14d4a2-8c5a-4fc5-8d7d-86efb48b3a07" -SourceDCName "East Asia" -ExportMetadataFolderPath "D:\\DataCenterMigration" -SourcePublishSettingsFilePath "D:\\PublishSettings.PublishSettings" -SourceCertificateThumbprint "2180d782768926ee0e5ddbcc6e8d2efa8ddb98c7" -QuietMode "True" -GenerateMapperXml "True" -RetryCount "5" -MinBackoff "3" -MaxBackoff "3" -DeltaBackoff "90" /// Example2 : -Operation "Import" -SourceSubscriptionID "5d14d4a2-8c5a-4fc5-8d7d-86efb48b3a07" -DestinationSubscriptionID "5d14d4a2-8c5a-4fc5-8d7d-86efb48b3a07" -DestinationDCName "West US" -SourcePublishSettingsFilePath "D:\\PublishSettings.PublishSettings" -SourceCertificateThumbprint "2180d782768926ee0e5ddbcc6e8d2efa8ddb98c7" -DestinationPublishSettingsFilePath "D:\\PublishSettings.PublishSettings" -DestinationCertificateThumbprint "2180d782768926ee0e5ddbcc6e8d2efa8ddb98c7" -ImportMetadataFilePath "D:\\DataCenterMigration\mydata.json" -MapperXmlFilePath "D:\\DataCenterMigration\mydata.xml" -DestinationPrefixName "dc" -RetryCount "5" -MinBackoff "3" -MaxBackoff "3" -DeltaBackoff "90" -QuietMode "True" -RollBackOnFailure "True" -ResumeImport "True" /// Example3 : -Operation "Migrate" -SourceSubscriptionID "5d14d4a2-8c5a-4fc5-8d7d-86efb48b3a07" -DestinationSubscriptionID "5d14d4a2-8c5a-4fc5-8d7d-86efb48b3a07" -SourceDCName "East Asia" -DestinationDCName "West US" -SourcePublishSettingsFilePath "D:\\PublishSettings.PublishSettings" -SourceCertificateThumbprint "2180d782768926ee0e5ddbcc6e8d2efa8ddb98c7" -DestinationPublishSettingsFilePath "D:\\PublishSettings.PublishSettings" -DestinationCertificateThumbprint "2180d782768926ee0e5ddbcc6e8d2efa8ddb98c7" -ExportMetadataFolderPath "D:\\DataCenterMigration" -DestinationPrefixName "dc" -RetryCount "5" -MinBackoff "3" -MaxBackoff "3" -DeltaBackoff "90" -QuietMode "True" -RollBackOnFailure "True" /// </param> static void Main(string[] args) { string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; DCMigrationManager dcMigration = new DCMigrationManager(); bool isQuietMode = false; try { Dictionary<string, string> parameters = null; // Read input command line parameters. if (args.Length > 0) { if (!TryParseCommandLineArguments(args, out parameters)) { ExitApplication(isQuietMode); return; } } else { parameters = new Dictionary<string, string>(); // If input parameters are not specified, read config file. foreach (string strkey in ConfigurationManager.AppSettings) { if (ConfigurationManager.AppSettings[strkey] != "") { parameters.Add(strkey, ConfigurationManager.AppSettings[strkey]); } } if (parameters.Count == 0) { Console.WriteLine(StringResources.MissingInputParameters); ExitApplication(isQuietMode); return; } } // Add progress handler to print progress to console. dcMigration.Progress += DCMigrationManager_Progress; if (string.Compare(parameters[Constants.Parameters.Operation], Constants.Operations.Export, StringComparison.InvariantCultureIgnoreCase) == 0) { // Export subscription Metadata. dcMigration.ExportSubscriptionMetadata(parameters); } else { Logger.Info(methodName, StringResources.ImportWarningLog); if (!parameters.Keys.Contains(Constants.Parameters.QuietMode)) { isQuietMode = false; } else { bool.TryParse(parameters[Constants.Parameters.QuietMode], out isQuietMode); } if (isQuietMode || ConfirmContinue()) { if (string.Compare(parameters[Constants.Parameters.Operation], Constants.Operations.Import, StringComparison.InvariantCultureIgnoreCase) == 0) { // Import subscription Metadata. dcMigration.ImportSubscriptionMetadata(parameters); } else if (string.Compare(parameters[Constants.Parameters.Operation], Constants.Operations.Migrate, StringComparison.InvariantCultureIgnoreCase) == 0) { // Migrate subscription Metadata. dcMigration.MigrateSubscription(parameters); } } } ExitApplication(isQuietMode); return; } catch (ValidationException vex) { Logger.Error(methodName, string.Format(StringResources.ValidationError, vex.Message)); Console.WriteLine(StringResources.ValidationError, vex.Message); ShowCommonHelp(isQuietMode); ExitApplication(isQuietMode); return; } catch (Exception ex) { Logger.Error(methodName, ex); Console.WriteLine(StringResources.ExceptionOccurred, ex.GetType().ToString(), ex.Message); ExitApplication(isQuietMode); return; } }