1
// Copyright 2016 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
"github.com/juju/errors"
10
// ModelAccess defines the permission that a user has on a model.
16
// ModelReadAccess allows a user to read a model but not to change it.
17
ModelReadAccess ModelAccess = iota
19
// ModelWriteAccess allows a user write access to the model.
20
ModelWriteAccess ModelAccess = iota
22
// ModelAdminAccess allows a user to perform administrative tasks on a model.
23
ModelAdminAccess ModelAccess = iota
26
// ParseModelAccess parses a user-facing string representation of a model
27
// access permission into a logical representation.
28
func ParseModelAccess(access string) (ModelAccess, error) {
29
var fail = ModelAccess(0)
32
return ModelReadAccess, nil
34
return ModelWriteAccess, nil
36
return ModelAdminAccess, nil
38
return fail, errors.Errorf("invalid model access permission %q", access)