github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/fleetmanager/topology/get.go (about)

     1  package topology
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  func (t *Topology) getLocationOfMachine(name string) (string, error) {
     8  	if directory, ok := t.machineParents[name]; !ok {
     9  		return "", fmt.Errorf("unknown machine: %s", name)
    10  	} else {
    11  		return directory.path, nil
    12  	}
    13  }
    14  
    15  func (t *Topology) getSubnetsForMachine(name string) ([]*Subnet, error) {
    16  	if directory, ok := t.machineParents[name]; !ok {
    17  		return nil, fmt.Errorf("unknown machine: %s", name)
    18  	} else {
    19  		var subnets []*Subnet
    20  		for ; directory != nil; directory = directory.parent {
    21  			subnets = append(subnets, directory.Subnets...)
    22  		}
    23  		return subnets, nil
    24  	}
    25  }