Skip to content

refactor Name() and ExtendedName(c) methods #865

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Sep 29, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/awsvpc/awsDrawioGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ import (
func (igw *InternetGateway) ShowOnSubnetMode() bool { return true }

func (igw *InternetGateway) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewInternetGatewayTreeNode(gen.TreeNode(igw.VPC()).(*drawio.VpcTreeNode), igw.Name())
return drawio.NewInternetGatewayTreeNode(gen.TreeNode(igw.VPC()).(*drawio.VpcTreeNode), igw.NameForAnalyzerOut())
}
10 changes: 5 additions & 5 deletions pkg/awsvpc/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -429,11 +429,11 @@ func printVPCConfigs(c *vpcmodel.MultipleVPCConfigs) {
}
logging.Debug("VPCs to analyze:")
for vpcUID, config := range c.Configs() {
logging.Debugf("VPC UID: %s, Name: %s\n", vpcUID, config.VPC.Name())
logging.Debugf("VPC UID: %s, Name: %s\n", vpcUID, config.VPC.NameForAnalyzerOut())
}
commonvpc.PrintLineSection()
for vpcUID, config := range c.Configs() {
logging.Debugf("config for vpc %s (vpc name: %s)\n", vpcUID, config.VPC.Name())
logging.Debugf("config for vpc %s (vpc name: %s)\n", vpcUID, config.VPC.NameForAnalyzerOut())
printConfig(config)
}
commonvpc.PrintLineSection()
Expand All @@ -446,15 +446,15 @@ func printConfig(c *vpcmodel.VPCConfig) {
if n.IsExternal() {
continue
}
logging.Debug(strings.Join([]string{n.Kind(), n.CidrOrAddress(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.CidrOrAddress(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("Subnets:")
for _, n := range c.Subnets {
logging.Debug(strings.Join([]string{n.Kind(), n.CIDR(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.CIDR(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("NodeSets:")
for _, n := range c.NodeSets {
logging.Debug(strings.Join([]string{n.Kind(), n.AddressRange().ToIPRanges(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.AddressRange().ToIPRanges(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("FilterResources:")
for _, f := range c.FilterResources {
Expand Down
12 changes: 6 additions & 6 deletions pkg/commonvpc/drawioGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (ni *NetworkInterface) ShowOnSubnetMode() bool { return false }
func (nl *NaclLayer) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
for _, acl := range nl.NaclList {
for _, sn := range acl.Subnets {
gen.TreeNode(sn).(*drawio.SubnetTreeNode).SetACL(acl.Name())
gen.TreeNode(sn).(*drawio.SubnetTreeNode).SetACL(acl.NameForAnalyzerOut())
}
}
return nil
Expand All @@ -41,7 +41,7 @@ func (r *Region) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.Tr
}

func (v *VPC) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewVpcTreeNode(gen.TreeNode(v.Region()).(*drawio.RegionTreeNode), v.Name())
return drawio.NewVpcTreeNode(gen.TreeNode(v.Region()).(*drawio.RegionTreeNode), v.NameForAnalyzerOut())
}

func (z *Zone) IsExternal() bool { return false }
Expand All @@ -53,7 +53,7 @@ func (s *Subnet) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.Tr
// todo - how to handle this error:
zone, _ := s.Zone()
zoneTn := gen.TreeNode(zone).(*drawio.ZoneTreeNode)
subnetTn := drawio.NewSubnetTreeNode(zoneTn, s.Name(), s.Cidr, "")
subnetTn := drawio.NewSubnetTreeNode(zoneTn, s.NameForAnalyzerOut(), s.Cidr, "")
subnetTn.SetIsPrivate(s.IsPrivate())
return subnetTn
}
Expand All @@ -68,7 +68,7 @@ func (sgl *SecurityGroupLayer) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenera

func (sg *SecurityGroup) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
// creating the SG treeNodes:
tn := drawio.NewSGTreeNode(gen.TreeNode(sg.VPC()).(*drawio.VpcTreeNode), sg.Name())
tn := drawio.NewSGTreeNode(gen.TreeNode(sg.VPC()).(*drawio.VpcTreeNode), sg.NameForAnalyzerOut())
for _, member := range sg.Members {
// every SG member is added as an icon treeNode to the SG treeNode:
if mTn := gen.TreeNode(member); mTn != nil {
Expand All @@ -89,10 +89,10 @@ func (v *Vsi) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeN
// todo - how to handle this error:
zone, _ := v.Zone()
zoneTn := gen.TreeNode(zone).(*drawio.ZoneTreeNode)
return drawio.GroupNIsWithVSI(zoneTn, v.Name(), vsiNIs)
return drawio.GroupNIsWithVSI(zoneTn, v.NameForAnalyzerOut(), vsiNIs)
}

func (ni *NetworkInterface) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewNITreeNode(
gen.TreeNode(ni.Subnet()).(drawio.SquareTreeNodeInterface), ni.Name(), ni.virtual)
gen.TreeNode(ni.Subnet()).(drawio.SquareTreeNodeInterface), ni.NameForAnalyzerOut(), ni.virtual)
}
18 changes: 9 additions & 9 deletions pkg/commonvpc/vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ type NetworkInterface struct {
// used for synthesis output, if number of nifs is > 1 we use just vsi name
func (ni *NetworkInterface) SynthesisResourceName() string {
if ni.numberOfNifsInVsi == 1 {
return ni.VPC().Name() + vpcmodel.Deliminator + ni.VsiName()
return ni.VPC().NameForAnalyzerOut() + vpcmodel.Deliminator + ni.VsiName()
}
return ni.VPC().Name() + vpcmodel.Deliminator + ni.VsiName() + vpcmodel.Deliminator + ni.ResourceName
return ni.VPC().NameForAnalyzerOut() + vpcmodel.Deliminator + ni.VsiName() + vpcmodel.Deliminator + ni.ResourceName
}

func (ni *NetworkInterface) SynthesisKind() spec.ResourceType {
Expand All @@ -90,12 +90,12 @@ func (ni *NetworkInterface) VsiName() string {
return ni.Vsi
}

func (ni *NetworkInterface) Name() string {
func (ni *NetworkInterface) NameForAnalyzerOut() string {
return nameWithBracketsInfo(ni.Vsi, ni.Address())
}

func (ni *NetworkInterface) ExtendedName(c *vpcmodel.VPCConfig) string {
return ni.ExtendedPrefix(c) + ni.Name()
return ni.ExtendedPrefix(c) + ni.NameForAnalyzerOut()
}

func nameWithBracketsInfo(name, inBrackets string) string {
Expand Down Expand Up @@ -128,7 +128,7 @@ func (v *VPC) GetZoneByIPBlock(ipb *ipblock.IPBlock) (string, error) {
return z.Name, nil
}
}
return "", fmt.Errorf("on vpc %s, could not fine zone for ipblock %s", v.Name(), ipb.ToCidrListString())
return "", fmt.Errorf("on vpc %s, could not fine zone for ipblock %s", v.NameForAnalyzerOut(), ipb.ToCidrListString())
}

func (v *VPC) GetZoneByName(name string) (*Zone, error) {
Expand Down Expand Up @@ -234,9 +234,9 @@ func (psr *privateSubnetRule) IsIngress() bool {
func (psr *privateSubnetRule) String(detail bool) string {
if !detail {
if psr.subnet.IsPrivate() {
return fmt.Sprintf("private subnet %s denies connection", psr.subnet.Name())
return fmt.Sprintf("private subnet %s denies connection", psr.subnet.NameForAnalyzerOut())
}
return fmt.Sprintf("public subnet %s enables connection", psr.subnet.Name())
return fmt.Sprintf("public subnet %s enables connection", psr.subnet.NameForAnalyzerOut())
}
// detail
prefix := "Egress"
Expand All @@ -246,9 +246,9 @@ func (psr *privateSubnetRule) String(detail bool) string {
prefix += " to public internet is"

if psr.subnet.IsPrivate() {
return fmt.Sprintf("%s blocked since subnet %s is private\n", prefix, psr.subnet.Name())
return fmt.Sprintf("%s blocked since subnet %s is private\n", prefix, psr.subnet.NameForAnalyzerOut())
}
return fmt.Sprintf("%s allowed since subnet %s is public\n", prefix, psr.subnet.Name())
return fmt.Sprintf("%s allowed since subnet %s is public\n", prefix, psr.subnet.NameForAnalyzerOut())
}

func (s *Subnet) GetPrivateSubnetRule(src, dst vpcmodel.Node) vpcmodel.PrivateSubnetRule {
Expand Down
2 changes: 1 addition & 1 deletion pkg/ibmvpc/connectivityAnalysis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ func addInterfaceNode(config *vpcmodel.VPCConfig, name, address, vsiName, subnet
}
// add references between subnet to interface (both directions)
for _, subnet := range config.Subnets {
if subnet.Name() == subnetName {
if subnet.NameForAnalyzerOut() == subnetName {
subnetActual := subnet.(*commonvpc.Subnet)
intfNode.SubnetResource = subnetActual
subnetActual.VPCnodes = append(subnetActual.VPCnodes, intfNode)
Expand Down
17 changes: 8 additions & 9 deletions pkg/ibmvpc/ibmDrawioGenerator.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ func (pip *PrivateIP) ShowOnSubnetMode() bool { return false }

func (n *IKSNode) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewNITreeNode(
gen.TreeNode(n.Subnet()).(drawio.SquareTreeNodeInterface), n.Name(), false)
gen.TreeNode(n.Subnet()).(drawio.SquareTreeNodeInterface), n.NameForAnalyzerOut(), false)
}

func (r *ReservedIP) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewResIPTreeNode(
gen.TreeNode(r.Subnet()).(drawio.SquareTreeNodeInterface), r.Name())
gen.TreeNode(r.Subnet()).(drawio.SquareTreeNodeInterface), r.NameForAnalyzerOut())
}

func (v *Vpe) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
Expand All @@ -39,27 +39,27 @@ func (v *Vpe) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeN
resIPs[i] = gen.TreeNode(resIP)
}
vpcTn := gen.TreeNode(v.VPC()).(drawio.SquareTreeNodeInterface)
return drawio.GroupResIPsWithVpe(vpcTn, v.Name(), resIPs)
return drawio.GroupResIPsWithVpe(vpcTn, v.NameForAnalyzerOut(), resIPs)
}

func (pgw *PublicGateway) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
// todo - how to handle this error:
zone, _ := pgw.Zone()
zoneTn := gen.TreeNode(zone).(*drawio.ZoneTreeNode)
return drawio.NewGatewayTreeNode(zoneTn, pgw.Name())
return drawio.NewGatewayTreeNode(zoneTn, pgw.NameForAnalyzerOut())
}

func (fip *FloatingIP) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
// todo - what if r.Src() is not at size of one?
itn := gen.TreeNode(fip.Sources()[0])
if itn != nil {
itn.(drawio.IconTreeNodeInterface).SetFIP(fip.Name())
itn.(drawio.IconTreeNodeInterface).SetFIP(fip.NameForAnalyzerOut())
}
return itn
}

func (tgw *TransitGateway) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
return drawio.NewTransitGatewayTreeNode(gen.TreeNode(tgw.Region()).(*drawio.RegionTreeNode), tgw.Name())
return drawio.NewTransitGatewayTreeNode(gen.TreeNode(tgw.Region()).(*drawio.RegionTreeNode), tgw.NameForAnalyzerOut())
}
func (lb *LoadBalancer) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
if len(lb.Nodes()) == 0 {
Expand All @@ -72,13 +72,12 @@ func (lb *LoadBalancer) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) dr
}
}
vpcTn := gen.TreeNode(lb.VPC()).(drawio.SquareTreeNodeInterface)
// here we do not call lb.Name() because lb.Name() add the kind to the name
return drawio.GroupPrivateIPsWithLoadBalancer(vpcTn, lb.ResourceName, privateIPs)
return drawio.GroupPrivateIPsWithLoadBalancer(vpcTn, lb.Name(), privateIPs)
}
func (pip *PrivateIP) GenerateDrawioTreeNode(gen *vpcmodel.DrawioGenerator) drawio.TreeNodeInterface {
if gen.LBAbstraction() {
return nil
}
return drawio.NewPrivateIPTreeNode(
gen.TreeNode(pip.Subnet()).(drawio.SquareTreeNodeInterface), pip.Name(), pip.original)
gen.TreeNode(pip.Subnet()).(drawio.SquareTreeNodeInterface), pip.NameForAnalyzerOut(), pip.original)
}
3 changes: 2 additions & 1 deletion pkg/ibmvpc/implicit_routing.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ func (rt *systemImplicitRT) getIngressPath(dest *ipblock.IPBlock) (vpcmodel.Path
// traffic from some source is by default simply routed to dest node
path := rt.destAsPath(dest)
if len(path) == 0 {
return nil, fmt.Errorf("getIngressPath: failed to find path to dest resource address %s in VPC %s", dest.String(), rt.vpc.Name())
return nil, fmt.Errorf("getIngressPath: failed to find path to dest resource address %s in VPC %s",
dest.String(), rt.vpc.NameForAnalyzerOut())
}
return path, nil
}
Expand Down
26 changes: 13 additions & 13 deletions pkg/ibmvpc/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ func (rc *IBMresourcesContainer) getRoutingTables(
// skipping this rt
continue
}
logging.Debugf("add rt %s for vpc %s\n", rtObj.Name(), vpcUID)
logging.Debugf("add rt %s for vpc %s\n", rtObj.NameForAnalyzerOut(), vpcUID)

vpcConfig.AddRoutingTable(rtObj)
res.SetConfig(vpcUID, vpcConfig)
Expand Down Expand Up @@ -1060,7 +1060,7 @@ func getSubnetFromObject(subnetObj vpc1.SubnetReference, vpcConfig *vpcmodel.VPC
if subnetRes, ok = vpcConfig.UIDToResource[*subnetObj.CRN]; !ok {
return nil, fmt.Errorf("subnet %s is missing from config of vpc %s",
*subnetObj.Name,
vpcConfig.VPC.Name(),
vpcConfig.VPC.NameForAnalyzerOut(),
)
}
if subnet, ok = subnetRes.(*commonvpc.Subnet); !ok {
Expand Down Expand Up @@ -1414,7 +1414,7 @@ func getLoadBalancerIPs(vpcConfig *vpcmodel.VPCConfig,
continue
default:
// subnet does not have a private IP, we create unique ip info
name = "pip-name-of-" + subnet.Name() + "-" + *loadBalancerObj.Name
name = "pip-name-of-" + subnet.NameForAnalyzerOut() + "-" + *loadBalancerObj.Name
id = "pip-uid-of-" + subnet.UID() + *loadBalancerObj.ID
var err error
address, err = subnetsBlocks.allocSubnetFreeAddress(*subnetObj.CRN, blockIndex)
Expand Down Expand Up @@ -1478,7 +1478,7 @@ func createPrivateIP(name, id, address, publicAddress string,
if publicAddress != "" {
routerFip := &FloatingIP{
VPCResource: vpcmodel.VPCResource{
ResourceName: "fip-name-of-" + privateIP.Name(),
ResourceName: "fip-name-of-" + privateIP.NameForAnalyzerOut(),
ResourceUID: "fip-uid-of-" + privateIP.UID(),
Zone: privateIP.ZoneName(),
ResourceType: commonvpc.ResourceTypeFloatingIP,
Expand All @@ -1499,11 +1499,11 @@ func printVPCConfigs(c *vpcmodel.MultipleVPCConfigs) {
}
fmt.Println("VPCs to analyze:")
for vpcUID, config := range c.Configs() {
logging.Debugf("VPC UID: %s, Name: %s\n", vpcUID, config.VPC.Name())
logging.Debugf("VPC UID: %s, Name: %s\n", vpcUID, config.VPC.NameForAnalyzerOut())
}
commonvpc.PrintLineSection()
for vpcUID, config := range c.Configs() {
logging.Debugf("config for vpc %s (vpc name: %s)\n", vpcUID, config.VPC.Name())
logging.Debugf("config for vpc %s (vpc name: %s)\n", vpcUID, config.VPC.NameForAnalyzerOut())
printConfig(config)
}
commonvpc.PrintLineSection()
Expand All @@ -1517,19 +1517,19 @@ func printConfig(c *vpcmodel.VPCConfig) {
if n.IsExternal() {
continue
}
logging.Debug(strings.Join([]string{n.Kind(), n.CidrOrAddress(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.CidrOrAddress(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("Subnets:")
for _, n := range c.Subnets {
logging.Debug(strings.Join([]string{n.Kind(), n.CIDR(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.CIDR(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("LoadBalancers:")
for _, lb := range c.LoadBalancers {
logging.Debug(strings.Join([]string{lb.Kind(), lb.Name(), lb.AddressRange().ToIPRanges(), lb.UID()}, separator))
logging.Debug(strings.Join([]string{lb.Kind(), lb.NameForAnalyzerOut(), lb.AddressRange().ToIPRanges(), lb.UID()}, separator))
}
logging.Debug("NodeSets:")
for _, n := range c.NodeSets {
logging.Debug(strings.Join([]string{n.Kind(), n.AddressRange().ToIPRanges(), n.Name(), n.UID()}, separator))
logging.Debug(strings.Join([]string{n.Kind(), n.AddressRange().ToIPRanges(), n.NameForAnalyzerOut(), n.UID()}, separator))
}
logging.Debug("FilterResources:")
for _, f := range c.FilterResources {
Expand All @@ -1554,14 +1554,14 @@ func printConfig(c *vpcmodel.VPCConfig) {
}
logging.Debug("RoutingResources:")
for _, r := range c.RoutingResources {
logging.Debug(strings.Join([]string{r.Kind(), r.Name(), r.UID()}, separator))
logging.Debug(strings.Join([]string{r.Kind(), r.NameForAnalyzerOut(), r.UID()}, separator))
if tgw, ok := r.(*TransitGateway); ok {
printTGWAvailableRoutes(tgw)
}
}
logging.Debug("RoutingTables:")
for _, r := range c.RoutingTables {
logging.Debug(strings.Join([]string{r.Kind(), r.Name(), r.UID(), "vpc:", r.VPC().UID()}, separator))
logging.Debug(strings.Join([]string{r.Kind(), r.NameForAnalyzerOut(), r.UID(), "vpc:", r.VPC().UID()}, separator))
if rt, ok := r.(*ingressRoutingTable); ok {
logging.Debug("ingress routing table")
logging.Debug(rt.string())
Expand All @@ -1572,7 +1572,7 @@ func printConfig(c *vpcmodel.VPCConfig) {
logging.Debug("subnets:")
subnetsList := make([]string, len(rt.subnets))
for i := range rt.subnets {
subnetsList[i] = rt.subnets[i].Name()
subnetsList[i] = rt.subnets[i].NameForAnalyzerOut()
}
logging.Debug(strings.Join(subnetsList, ","))
}
Expand Down
9 changes: 5 additions & 4 deletions pkg/ibmvpc/routing_tables_analysis.go
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ func (irt *ingressRoutingTable) advertiseRoutes(vpcConfig *vpcmodel.VPCConfig) {
if !routeObj.advertise {
continue
}
logging.Debugf("rt %s - try to advertise route with dest %s", irt.Name(), routeObj.destination)
logging.Debugf("rt %s - try to advertise route with dest %s", irt.NameForAnalyzerOut(), routeObj.destination)

routeCidr := routeObj.destIPBlock
tgws := getTGWs(vpcConfig)
Expand All @@ -618,12 +618,13 @@ func (irt *ingressRoutingTable) advertiseRoutes(vpcConfig *vpcmodel.VPCConfig) {
var tgwAB *TransitGateway
for _, tgw := range tgws {
for _, vpc := range tgw.vpcs {
logging.Debugf("check tgw %s with vpc %s, AP %s", tgw.Name(), vpc.Name(), vpc.AddressPrefixesIPBlock.ToCidrListString())
logging.Debugf("check tgw %s with vpc %s, AP %s", tgw.NameForAnalyzerOut(),
vpc.NameForAnalyzerOut(), vpc.AddressPrefixesIPBlock.ToCidrListString())
// TODO: shouldn't be containment rather than intersection?? (works with intersection on hub-n-spoke config object)
if vpc.UID() != irt.vpc.UID() && routeCidr.Overlap(vpc.AddressPrefixesIPBlock) {
vpcB = vpc
tgwAB = tgw
logging.Debugf("found tgwAB: %s, vpcB: %s ", tgwAB.Name(), vpcB.Name())
logging.Debugf("found tgwAB: %s, vpcB: %s ", tgwAB.NameForAnalyzerOut(), vpcB.NameForAnalyzerOut())
break
}
}
Expand All @@ -649,7 +650,7 @@ func (irt *ingressRoutingTable) advertiseRoutes(vpcConfig *vpcmodel.VPCConfig) {
}
tgwAC = tgw // the tgw A-C to which should propagate Y (routeCidr) as available "from" vpcA
updateTGWWithAdvertisedRoute(tgwAC, irt.vpc, routeCidr)
logging.Debugf("call updateTGWWithAdvertisedRoute for tgw %s, new cidr %s, from vpc %s", tgwAC.Name(),
logging.Debugf("call updateTGWWithAdvertisedRoute for tgw %s, new cidr %s, from vpc %s", tgwAC.NameForAnalyzerOut(),
routeCidr.ToCidrListString(), irt.vpc.ResourceName)
}
}
Expand Down
Loading