func ExtractVirtualNodeReferences()

in pkg/virtualrouter/references.go [15:48]


func ExtractVirtualNodeReferences(vr *appmesh.VirtualRouter) []appmesh.VirtualNodeReference {
	var vnRefs []appmesh.VirtualNodeReference
	for _, route := range vr.Spec.Routes {
		if route.GRPCRoute != nil {
			for _, target := range route.GRPCRoute.Action.WeightedTargets {
				if target.VirtualNodeRef != nil {
					vnRefs = append(vnRefs, *target.VirtualNodeRef)
				}
			}
		}
		if route.HTTPRoute != nil {
			for _, target := range route.HTTPRoute.Action.WeightedTargets {
				if target.VirtualNodeRef != nil {
					vnRefs = append(vnRefs, *target.VirtualNodeRef)
				}
			}
		}
		if route.HTTP2Route != nil {
			for _, target := range route.HTTP2Route.Action.WeightedTargets {
				if target.VirtualNodeRef != nil {
					vnRefs = append(vnRefs, *target.VirtualNodeRef)
				}
			}
		}
		if route.TCPRoute != nil {
			for _, target := range route.TCPRoute.Action.WeightedTargets {
				if target.VirtualNodeRef != nil {
					vnRefs = append(vnRefs, *target.VirtualNodeRef)
				}
			}
		}
	}
	return vnRefs
}