func()

in pkg/cloud/network.go [36:58]


func (c *client) ResolveNetwork(csCluster *infrav1.CloudStackCluster) (retErr error) {
	networkID, count, err := c.cs.Network.GetNetworkID(csCluster.Spec.Network)
	if err != nil {
		retErr = multierror.Append(retErr, errors.Wrapf(
			err, "Could not get Network ID from %s.", csCluster.Spec.Network))
		networkID = csCluster.Spec.Network
	} else if count != 1 {
		retErr = multierror.Append(retErr, errors.Errorf(
			"Expected 1 Network with name %s, but got %d.", csCluster.Spec.Network, count))
	}

	if networkDetails, count, err := c.cs.Network.GetNetworkByID(networkID); err != nil {
		return multierror.Append(retErr, errors.Wrapf(
			err, "Could not get Network by ID %s.", networkID))
	} else if count != 1 {
		return multierror.Append(retErr, errors.Errorf(
			"Expected 1 Network with UUID %s, but got %d.", networkID, count))
	} else {
		csCluster.Status.NetworkID = networkID
		csCluster.Status.NetworkType = networkDetails.Type
	}
	return nil
}