in src/Factory/AzureVMWareSolutionAssessmentSettingsFactory.cs [36:145]
private List<AssessmentInformation> GetAzureVMWareSolutionProdAssessmentSettings(UserInput userInputObj, string groupName)
{
List<AssessmentInformation> result = new List<AssessmentInformation>();
List<string> nodeTypes = AvsAssessmentConstants.RegionToAvsNodeTypeMap[userInputObj.TargetRegion.Key];
List<string> externalStorageTypes = new List<string>();
if (AvsAssessmentConstants.anfStandardStorageRegionList.Contains(userInputObj.TargetRegion.Key))
{
externalStorageTypes.Add("AnfStandard");
}
if (AvsAssessmentConstants.anfPremiumStorageRegionList.Contains (userInputObj.TargetRegion.Key))
{
externalStorageTypes.Add("AnfPremium");
}
if (AvsAssessmentConstants.anfUltraStorageRegionLis.Contains(userInputObj.TargetRegion.Key))
{
externalStorageTypes.Add("AnfUltra");
}
// Performance based - Pay as you go
AzureVMWareSolutionAssessmentSettingsJSON obj1 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj1.Properties.ReservedInstance = "None";
obj1.Properties.Currency = userInputObj.Currency.Key;
obj1.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj1.Properties.NodeTypes = nodeTypes;
obj1.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName, "AVS-Prod-AzMigExport-1",
AssessmentType.AVSAssessment,
AssessmentTag.PerformanceBased,
JsonConvert.SerializeObject(obj1)
));
// Performance based - Pay as you go + RI 1 year
AzureVMWareSolutionAssessmentSettingsJSON obj2 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj2.Properties.ReservedInstance = "RI1Year";
obj2.Properties.Currency = userInputObj.Currency.Key;
obj2.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj2.Properties.NodeTypes = nodeTypes;
obj2.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName,
"AVS-Prod-AzMigExport-2",
AssessmentType.AVSAssessment,
AssessmentTag.PerformanceBased_RI1year,
JsonConvert.SerializeObject(obj2)
));
// Performance based - Pay as you go + RI 3 year
AzureVMWareSolutionAssessmentSettingsJSON obj3 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj3.Properties.ReservedInstance = "RI3Year";
obj3.Properties.Currency = userInputObj.Currency.Key;
obj3.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj3.Properties.NodeTypes = nodeTypes;
obj3.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName, "AVS-Prod-AzMigExport-3",
AssessmentType.AVSAssessment,
AssessmentTag.PerformanceBased_RI3year,
JsonConvert.SerializeObject(obj3)
));
// As- Onpremises - Pay as you go
AzureVMWareSolutionAssessmentSettingsJSON obj4 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj4.Properties.SizingCriterion = "AsOnPremises";
obj4.Properties.ReservedInstance = "None";
obj4.Properties.Currency = userInputObj.Currency.Key;
obj4.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj4.Properties.NodeTypes = nodeTypes;
obj4.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName, "AVS-Prod-AzMigExport-4",
AssessmentType.AVSAssessment,
AssessmentTag.AsOnPremises,
JsonConvert.SerializeObject(obj4)
));
// As- Onpremises - Pay as you go + RI 1 Year
AzureVMWareSolutionAssessmentSettingsJSON obj5 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj5.Properties.SizingCriterion = "AsOnPremises";
obj5.Properties.ReservedInstance = "RI1Year";
obj5.Properties.Currency = userInputObj.Currency.Key;
obj5.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj5.Properties.NodeTypes = nodeTypes;
obj5.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName, "AVS-Prod-AzMigExport-5",
AssessmentType.AVSAssessment,
AssessmentTag.AsOnPremises_RI1Year,
JsonConvert.SerializeObject(obj5)
));
// As- Onpremises - Pay as you go + RI 3 Year
AzureVMWareSolutionAssessmentSettingsJSON obj6 = new AzureVMWareSolutionAssessmentSettingsJSON();
obj6.Properties.SizingCriterion = "AsOnPremises";
obj6.Properties.ReservedInstance = "RI3Year";
obj6.Properties.Currency = userInputObj.Currency.Key;
obj6.Properties.AzureLocation = userInputObj.TargetRegion.Key;
obj6.Properties.NodeTypes = nodeTypes;
obj6.Properties.ExternalStorageTypes = externalStorageTypes;
result.Add(new AssessmentInformation(
groupName, "AVS-Prod-AzMigExport-6",
AssessmentType.AVSAssessment,
AssessmentTag.AsOnPremises_RI3Year,
JsonConvert.SerializeObject(obj6)
));
return result;
}