1
// Code shared by the CLI and API for the AddRelation function.
6
"launchpad.net/juju-core/charm"
7
"launchpad.net/juju-core/state"
8
"launchpad.net/juju-core/state/api/params"
11
// AddRelation adds a relation between the specified endpoint names, and
12
// returns a map from service names to relation endpoints.
13
func AddRelation(state *state.State, args params.AddRelation) (params.AddRelationResults, error) {
14
inEps, err := state.InferEndpoints(args.Endpoints)
16
return params.AddRelationResults{}, err
18
rel, err := state.AddRelation(inEps...)
20
return params.AddRelationResults{}, err
22
outEps := make(map[string]charm.Relation)
23
for _, inEp := range inEps {
24
outEp, err := rel.Endpoint(inEp.ServiceName)
26
return params.AddRelationResults{}, err
28
outEps[inEp.ServiceName] = outEp.Relation
30
return params.AddRelationResults{Endpoints: outEps}, nil