public MainViewModel(ITransformationFileService fileService, ITransformationService transformationService)
 {
     this.details                   = new TransformationDetails(@"C:\ArmTemplate\Output", true);
     this.ValidationErrors          = new ObservableCollection <ValidationError>();
     this.transformationFileService = fileService;
     this.transformationService     = transformationService;
 }
Example #2
0
        private static IArmPropertyValueResolver CreatePropertyValueResolver(TransformationDetails transformationDetails)
        {
            if (transformationDetails.DashboardIsCompleteTemplate)
            {
                return(new ArmParameterPropertyValueResolver());
            }

            return(new ArmTemplatePropertyValueResolver());
        }
        public static string CreateParameters(List <string> additionalParameters, TransformationDetails transformationDetails)
        {
            var rootObject = new JObject();

            if (transformationDetails.DashboardIsCompleteTemplate)
            {
                rootObject.Add(new JProperty(ArmTemplatePropertyNameConstants.Schema, ArmPropertyValueConstants.ParametersSchema));
                rootObject.Add(new JProperty(ArmTemplatePropertyNameConstants.ContentVersion, ArmPropertyValueConstants.ContentVersion));
                rootObject.Add(new JProperty(ArmTemplatePropertyNameConstants.Parameters, CreateParametersObject(additionalParameters)));
            }

            return(JsonWriter.CreateOutputJsonWithFormatting(rootObject));
        }
Example #4
0
 public InputDashboardArmTemplate GetInputDashboardArmTemplate(TransformationDetails transformationDetails)
 {
     return(new InputDashboardArmTemplate(File.ReadAllText(transformationDetails.SourceFilePath)));
 }
Example #5
0
        public void SaveOutputDashboardArmTemplate(OutputDashboardArmTemplate outputDashboardArmTemplate, TransformationDetails transformationDetails)
        {
            Directory.CreateDirectory(transformationDetails.OutputFilePath);

            File.WriteAllText($@"{transformationDetails.OutputFilePath}\dashboard.json", outputDashboardArmTemplate.TemplateJson);
            File.WriteAllText($@"{transformationDetails.OutputFilePath}\parameters.json", outputDashboardArmTemplate.ParametersJson);
        }
        public OutputDashboardArmTemplate Transform(InputDashboardArmTemplate inputTemplate, TransformationDetails transformationDetails)
        {
            var armTemplate    = DashboardJsonTemplateTransformationService.TransformTemplate(inputTemplate, transformationDetails);
            var parametersJson = DashboardJsonParametersService.CreateParameters(armTemplate.AdditionalResourceNames, transformationDetails);
            var outputJson     = JsonWriter.CreateOutputJsonWithFormatting(armTemplate.Json);

            return(new OutputDashboardArmTemplate(outputJson, parametersJson));
        }
Example #7
0
 private static ArmTemplateTransformer CreateTransformer(TransformationDetails transformationDetails)
 {
     return((transformationDetails.DashboardIsCompleteTemplate) ? CreateCompleteTemplateTransformer() : CreatePartialTemplateTransformer());
 }
Example #8
0
        internal static ArmTemplate TransformTemplate(InputDashboardArmTemplate inputTemplate, TransformationDetails transformationDetails)
        {
            try
            {
                var inputJson   = JObject.Parse(inputTemplate.TemplateJson);
                var armTemplate = new ArmTemplate(inputJson);
                ArmTemplateTransformer    rootTransformer          = CreateTransformer(transformationDetails);
                IArmPropertyValueResolver armPropertyValueResolver = CreatePropertyValueResolver(transformationDetails);
                rootTransformer.Transform(armTemplate, armPropertyValueResolver);

                return(armTemplate);
            }
            catch (Exception e)
            {
                throw new InvalidInputTemplateException(e);
            }
        }
 public void Setup()
 {
     this.transformationDetails = new TransformationDetails();
 }