in pkg/virtualservice/resource_manager.go [60:99]
func (m *defaultResourceManager) Reconcile(ctx context.Context, vs *appmesh.VirtualService) error {
ms, err := m.findMeshDependency(ctx, vs)
if err != nil {
return err
}
if err := m.validateMeshDependencies(ctx, ms); err != nil {
return err
}
vnByKey, err := m.findVirtualNodeDependencies(ctx, vs)
if err != nil {
return err
}
if err := m.validateVirtualNodeDependencies(ctx, ms, vnByKey); err != nil {
return err
}
vrByKey, err := m.findVirtualRouterDependencies(ctx, vs)
if err != nil {
return err
}
if err := m.validateVirtualRouterDependencies(ctx, ms, vrByKey); err != nil {
return err
}
sdkVS, err := m.findSDKVirtualService(ctx, ms, vs)
if err != nil {
return err
}
if sdkVS == nil {
sdkVS, err = m.createSDKVirtualService(ctx, ms, vs, vnByKey, vrByKey)
if err != nil {
return err
}
} else {
sdkVS, err = m.updateSDKVirtualService(ctx, sdkVS, vs, vnByKey, vrByKey)
if err != nil {
return err
}
}
return m.updateCRDVirtualService(ctx, vs, sdkVS)
}