Exemplo n.º 1
0
        public FileContentResult downloadARMTemplate(string id, string env)
        {
            ARMModel arm = getARMTemplate(id, env);

            var armtemplate = JsonSerializer.SerializeToUtf8Bytes(arm, options);

            return(File(armtemplate, "application/json", arm.filename));
        }
Exemplo n.º 2
0
        private ARMModel getARMTemplate(string id, string env)
        {
            var jsonModel = getServiceTagsModel(env);

            ARMModel arm = new ARMModel();

            arm.schema         = "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#";
            arm.contentVersion = "1.0.0.0";
            arm.filename       = "template.json";

            ParameterOptions paraoptions = new ParameterOptions();

            paraoptions.type         = "String";
            paraoptions.defaultValue = "Routetable";

            Parameters para = new Parameters();

            para.name = paraoptions;

            arm.parameters = para;

            Properties prop = new Properties();

            prop.routes = new List <Route>();

            String[] ids = id.Split(';');
            arm.filename = jsonModel.cloud;

            foreach (ValuesModel values in jsonModel.values)
            {
                if (Array.IndexOf(ids, values.id) != -1)
                {
                    var i = 1;
                    foreach (String prefix in values.properties.addressPrefixes)
                    {
                        Route route = new Route();
                        route.name = $"{jsonModel.cloud}.{values.id}-{i:000}";

                        RouteProperties routeprop = new RouteProperties();
                        routeprop.addressPrefix = prefix;
                        routeprop.nextHopType   = "Internet";

                        route.properties = routeprop;

                        prop.routes.Add(route);

                        i++;
                    }

                    arm.filename += "." + values.id;
                }
            }

            arm.filename += ".arm.json";

            Resources res = new Resources();

            res.type       = "Microsoft.Network/routeTables";
            res.name       = "[parameters('name')]";
            res.apiVersion = "2017-10-01";
            res.location   = "[resourceGroup().location]";
            res.properties = prop;

            arm.resources = new List <Resources>();
            arm.resources.Add(res);

            return(arm);
        }
Exemplo n.º 3
0
        public String deployARMTemplate(string id, string env)
        {
            ARMModel arm = getARMTemplate(id, env);

            return(JsonSerializer.Serialize(arm, options));
        }