func (api *MachinerAPI) SetMachineAddresses(args params.SetMachinesAddresses) (params.ErrorResults, error) { results := params.ErrorResults{ Results: make([]params.ErrorResult, len(args.MachineAddresses)), } canModify, err := api.getCanModify() if err != nil { return results, err } for i, arg := range args.MachineAddresses { tag, err := names.ParseMachineTag(arg.Tag) if err != nil { results.Results[i].Error = common.ServerError(common.ErrPerm) continue } err = common.ErrPerm if canModify(tag) { var m *state.Machine m, err = api.getMachine(tag) if err == nil { err = m.SetMachineAddresses(arg.Addresses...) } else if errors.IsNotFound(err) { err = common.ErrPerm } } results.Results[i].Error = common.ServerError(err) } return results, nil }