|
|
@ -37,6 +37,16 @@ type ACLTest struct {
|
|
|
|
Allow []string `json:"allow,omitempty"` // old name for accept
|
|
|
|
Allow []string `json:"allow,omitempty"` // old name for accept
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// NodeAttrGrant defines additional string attributes that apply to specific devices.
|
|
|
|
|
|
|
|
type NodeAttrGrant struct {
|
|
|
|
|
|
|
|
// Target specifies which nodes the attributes apply to. The nodes can be a
|
|
|
|
|
|
|
|
// tag (tag:server), user (alice@example.com), group (group:kids), or *.
|
|
|
|
|
|
|
|
Target []string `json:"target,omitempty"`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Attr are the attributes to set on Target(s).
|
|
|
|
|
|
|
|
Attr []string `json:"attr,omitempty"`
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ACLDetails contains all the details for an ACL.
|
|
|
|
// ACLDetails contains all the details for an ACL.
|
|
|
|
type ACLDetails struct {
|
|
|
|
type ACLDetails struct {
|
|
|
|
Tests []ACLTest `json:"tests,omitempty"`
|
|
|
|
Tests []ACLTest `json:"tests,omitempty"`
|
|
|
@ -44,6 +54,7 @@ type ACLDetails struct {
|
|
|
|
Groups map[string][]string `json:"groups,omitempty"`
|
|
|
|
Groups map[string][]string `json:"groups,omitempty"`
|
|
|
|
TagOwners map[string][]string `json:"tagowners,omitempty"`
|
|
|
|
TagOwners map[string][]string `json:"tagowners,omitempty"`
|
|
|
|
Hosts map[string]string `json:"hosts,omitempty"`
|
|
|
|
Hosts map[string]string `json:"hosts,omitempty"`
|
|
|
|
|
|
|
|
NodeAttrs []NodeAttrGrant `json:"nodeAttrs,omitempty"`
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ACL contains an ACLDetails and metadata.
|
|
|
|
// ACL contains an ACLDetails and metadata.
|
|
|
|