Пример #1
0
 /// <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();
 }
Пример #2
0
 public RollBack(ImportParameters importParameters, Subscription subscription, DCMigrationManager dcMigrationManager,
     ResourceImporter resourceImporter)
 {
     this.subscription = subscription;
     this.importParameters = importParameters;
     this.dcMigrationManager = dcMigrationManager;
     this.resourceImporter = resourceImporter;
 }
Пример #3
0
 public RollBack(ImportParameters importParameters, Subscription subscription, DCMigrationManager dcMigrationManager,
                 ResourceImporter resourceImporter)
 {
     this.subscription       = subscription;
     this.importParameters   = importParameters;
     this.dcMigrationManager = dcMigrationManager;
     this.resourceImporter   = resourceImporter;
 }
Пример #4
0
 public ResourceExporter(ExportParameters parameters, DCMigrationManager dcMigration)
 {
     // Set export parameters.
     exportParameters = parameters;
     this.dcMigration = dcMigration;
 }
Пример #5
0
        /// <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;
            }
        }
Пример #6
0
 public ResourceExporter(ExportParameters parameters, DCMigrationManager dcMigration)
 {
     // Set export parameters.
     exportParameters = parameters;
     this.dcMigration = dcMigration;
 }