Exemplo n.º 1
0
        public static RootModel RootModelSample(ISubnetCalculator calculator)
        {
            var model = new RootModel
            {
                ZoneGroup = "Zone Group Id",
                Regions   = new List <Region>()
            };

            var region = new Region {
                Id = "australiaeast", Environments = new List <Model.Environment>()
            };
            var environment = new Model.Environment()
            {
                Id    = "platform-cnry",
                Cidr  = "10.2.0.0/16",
                Rules = new List <Rule> {
                    NetworkRuleSample("rule-id"), new NetworkRule {
                        Id    = "rule-id-24691",
                        From  = "frontend",
                        To    = "backend",
                        Ports = new List <int> {
                            22, 80
                        },
                        IsBidirectional = true,
                        Description     = "Frontend should access backend"
                    }
                },
                Zones = new List <Zone> {
                    ZoneSample("backend", 1), ZoneSample("frontend", 2)
                }
            };
            var hub = new Environment()
            {
                Id     = "hub",
                Cidr   = "10.2.0.0/16",
                Ignore = true
            };

            environment.Zones.ForEach(z =>
                                      z.Cidr = calculator.GetSubnetOffset(environment.Cidr, (byte)environment.ZoneSubnetMaskSize, z.Index));

            region.Environments.Add(environment);
            region.Environments.Add(hub);
            model.Regions.Add(region);

            return(model);
        }
Exemplo n.º 2
0
 public ZoneModelParser(ISubnetCalculator subnetCalculator)
 {
     _subnetCalculator = subnetCalculator;
 }