in cmd/root.go [210:252]
func (o *migrateOptions) Complete(ctx context.Context) error {
authedClient, err := google.DefaultClient(ctx, compute.CloudPlatformScope)
if err != nil {
return err
}
o.clients, err = o.fetchClientFunc(ctx, o.containerBasePath, authedClient)
if err != nil {
return err
}
handler := operations.NewHandler(o.pollingInterval, o.pollingDeadline)
options := &clusters.Options{
ConcurrentNodePools: ConcurrentNodePools,
DesiredControlPlaneVersion: o.desiredControlPlaneVersion,
DesiredNodeVersion: o.desiredNodeVersion,
InPlaceControlPlaneUpgrade: o.inPlaceControlPlaneUpgrade,
}
factory := func(n *compute.Network) migrate.Migrator {
return networks.New(o.projectID, n, handler, o.clients, o.concurrentClusters, options)
}
log.Infof("Fetching network %s for project %q", o.selectedNetwork, o.projectID)
ns, err := o.clients.Compute.ListNetworks(ctx, o.projectID)
if err != nil {
return fmt.Errorf("error listing networks: %w", err)
}
o.migrators = make([]migrate.Migrator, 0)
for _, n := range ns {
if n.Name == o.selectedNetwork {
o.migrators = append(o.migrators, factory(n))
}
}
if len(o.migrators) == 0 {
return fmt.Errorf("unable to find network %s", o.selectedNetwork)
}
return nil
}