Documentation ¶
Overview ¶
Package acls manages acls in the OpenStack Key Manager Service.
All functions have a Secret and Container equivalent.
Example to Get a Secret's ACL
acl, err := acls.GetSecretACL(client, secretID).Extract() if err != nil { panic(err) } fmt.Printf("%v\n", acl)
Example to Set a Secret's ACL
users := []string{"uuid", "uuid"} iFalse := false setOpts := acls.SetOpts{ Type: "read", users: &users, ProjectAccess: &iFalse, } aclRef, err := acls.SetSecretACL(client, secretID, setOpts).Extract() if err != nil { panic(err) } fmt.Printf("%v\n", aclRef)
Example to Update a Secret's ACL
users := []string{} setOpts := acls.SetOpts{ Type: "read", users: &users, } aclRef, err := acls.UpdateSecretACL(client, secretID, setOpts).Extract() if err != nil { panic(err) } fmt.Printf("%v\n", aclRef)
Example to Delete a Secret's ACL
err := acls.DeleteSecretACL(client, secretID).ExtractErr() if err != nil { panci(err) }
Index ¶
- type ACL
- type ACLDetails
- type ACLRef
- type ACLRefResult
- func SetContainerACL(client *gophercloud.ServiceClient, containerID string, opts SetOptsBuilder) (r ACLRefResult)
- func SetSecretACL(client *gophercloud.ServiceClient, secretID string, opts SetOptsBuilder) (r ACLRefResult)
- func UpdateContainerACL(client *gophercloud.ServiceClient, containerID string, opts SetOptsBuilder) (r ACLRefResult)
- func UpdateSecretACL(client *gophercloud.ServiceClient, secretID string, opts SetOptsBuilder) (r ACLRefResult)
- type ACLResult
- type DeleteResult
- type SetOpt
- type SetOpts
- type SetOptsBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACLDetails ¶
type ACLDetails struct { // Created is when the ACL was created. Created time.Time `json:"-"` // ProjectAccess denotes project-level access of the resource. ProjectAccess bool `json:"project-access"` // Updated is when the ACL was updated Updated time.Time `json:"-"` // Users are the UserIDs who have access to the resource. Users []string `json:"users"` }
ACLDetails represents the details of an ACL.
func (*ACLDetails) UnmarshalJSON ¶
func (r *ACLDetails) UnmarshalJSON(b []byte) error
type ACLRefResult ¶
type ACLRefResult struct {
gophercloud.Result
}
ACLRefResult is the response from a Set or Update operation. Call its Extract method to interpret it as an ACLRef.
func SetContainerACL ¶
func SetContainerACL(client *gophercloud.ServiceClient, containerID string, opts SetOptsBuilder) (r ACLRefResult)
SetContainerACL will set an ACL on a container.
func SetSecretACL ¶
func SetSecretACL(client *gophercloud.ServiceClient, secretID string, opts SetOptsBuilder) (r ACLRefResult)
SetSecretACL will set an ACL on a secret.
func UpdateContainerACL ¶
func UpdateContainerACL(client *gophercloud.ServiceClient, containerID string, opts SetOptsBuilder) (r ACLRefResult)
UpdateContainerACL will update an ACL on a container.
func UpdateSecretACL ¶
func UpdateSecretACL(client *gophercloud.ServiceClient, secretID string, opts SetOptsBuilder) (r ACLRefResult)
UpdateSecretACL will update an ACL on a secret.
func (ACLRefResult) Extract ¶
func (r ACLRefResult) Extract() (*ACLRef, error)
type ACLResult ¶
type ACLResult struct {
// contains filtered or unexported fields
}
ACLResult is the response from a Get operation. Call its Extract method to interpret it as an ACL.
func GetContainerACL ¶
func GetContainerACL(client *gophercloud.ServiceClient, containerID string) (r ACLResult)
GetContainerACL retrieves the ACL of a container.
func GetSecretACL ¶
func GetSecretACL(client *gophercloud.ServiceClient, secretID string) (r ACLResult)
GetSecretACL retrieves the ACL of a secret.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the response from a Delete operation. Call its ExtractErr to determine if the request succeeded or failed.
func DeleteContainerACL ¶
func DeleteContainerACL(client *gophercloud.ServiceClient, containerID string) (r DeleteResult)
DeleteContainerACL will delete an ACL from a conatiner.
func DeleteSecretACL ¶
func DeleteSecretACL(client *gophercloud.ServiceClient, secretID string) (r DeleteResult)
DeleteSecretACL will delete an ACL from a secret.
type SetOpt ¶
type SetOpt struct { // Type is the type of ACL to set. ie: read. Type string `json:"-" required:"true"` // Users are the list of Keystone user UUIDs. Users *[]string `json:"users,omitempty"` // ProjectAccess toggles if all users in a project can access the resource. ProjectAccess *bool `json:"project-access,omitempty"` }
SetOpt represents options to set a particular ACL type on a resource.
type SetOpts ¶
type SetOpts []SetOpt
SetOpts represents options to set an ACL on a resource.
func (SetOpts) ToACLSetMap ¶
ToACLSetMap formats a SetOpts into a set request.
type SetOptsBuilder ¶
SetOptsBuilder allows extensions to add additional parameters to the Set request.