Documentation ¶
Index ¶
- Constants
- Variables
- func ACLUpdate(ctx context.Context, client api.Client, path string, acl *ACL) error
- func ContainerChildDelete(ctx context.Context, client api.Client, childPath string, recursive bool) error
- func ContainerChildrenGetQuery(ctx context.Context, client api.Client, containerPath string, ...) (<-chan *ContainerChild, <-chan error)
- func ContainerChildrenMapAll(ctx context.Context, client api.Client, containerPath string) (map[string]*ContainerChild, error)
- func ContainerCreateDir(ctx context.Context, client api.Client, containerPath, dirName string, ...) error
- func ContainerCreateFile(ctx context.Context, client api.Client, containerPath, fileName string, ...) error
- func ExportCreate(ctx context.Context, client api.Client, export *Export) (int, error)
- func ExportDelete(ctx context.Context, client api.Client, id int) error
- func ExportUpdate(ctx context.Context, client api.Client, export *Export) error
- func SetExportClients(ctx context.Context, client api.Client, id int, addrs ...string) error
- func SetExportRootClients(ctx context.Context, client api.Client, id int, addrs ...string) error
- func Unexport(ctx context.Context, client api.Client, id int) error
- type ACL
- type ActionType
- type AuthoritativeType
- type ContainerChild
- type ContainerChildList
- type ContainerQuery
- type ContainerQueryScope
- type ContainerQueryScopeCondition
- type Export
- type ExportList
- type FileMode
- type Persona
- type PersonaID
- type PersonaIDType
- type PersonaType
- type UserMapping
Constants ¶
const ( ActionTypeUnknownStr = "unknown" ActionTypeReplaceStr = "replace" ActionTypeUpdateStr = "update" )
Variables ¶
var ( // PAuthoritativeTypeACL is used to grab a pointer to a const. PAuthoritativeTypeACL = AuthoritativeTypeACL // PAuthoritativeTypeMode is used to grab a pointer to a const. PAuthoritativeTypeMode = AuthoritativeTypeMode )
var ( // PActionTypeReplace is used to grab a pointer to a const. PActionTypeReplace = ActionTypeReplace // PActionTypeUpdate is used to grab a pointer to a const. PActionTypeUpdate = ActionTypeUpdate )
var ( // PPersonaIDTypeUnknown is used to get adddress of the constant. PPersonaTypeUnknown = PersonaTypeUnknown // PPersonaTypeUser is used to get adddress of the constant. PPersonaTypeUser = PersonaTypeUser // PPersonaTypeGroup is used to get adddress of the constant. PPersonaTypeGroup = PersonaTypeGroup // PPersonaTypeWellKnown is used to get adddress of the constant. PPersonaTypeWellKnown = PersonaTypeWellKnown )
var ActionTypesToStrs = [ActionTypeCount]string{ ActionTypeUnknownStr, ActionTypeReplaceStr, ActionTypeUpdateStr, }
Functions ¶
func ContainerChildDelete ¶
func ContainerChildDelete( ctx context.Context, client api.Client, childPath string, recursive bool) error
ContainerChildDelete deletes a child of a container.
func ContainerChildrenGetQuery ¶
func ContainerChildrenGetQuery( ctx context.Context, client api.Client, containerPath string, limit, maxDepth int, objectType, sortDir string, sort, detail []string) (<-chan *ContainerChild, <-chan error)
ContainerChildrenGetQuery queries a container for children regardless of ACLs preventing traversal.
func ContainerChildrenMapAll ¶
func ContainerChildrenMapAll( ctx context.Context, client api.Client, containerPath string) (map[string]*ContainerChild, error)
ContainerChildrenMapAll GETs all descendent children of a container and returns a map with the children's paths as the key.
func ContainerCreateDir ¶
func ContainerCreateDir( ctx context.Context, client api.Client, containerPath, dirName string, fileMode FileMode, overwrite, recursive bool) error
ContainerCreateDir creates a directory as a child object of a container.
func ContainerCreateFile ¶
func ContainerCreateFile( ctx context.Context, client api.Client, containerPath, fileName string, fileSize int, fileMode FileMode, fileHndl io.ReadCloser, overwrite bool) error
ContainerCreateFile creates a file as a child object of a container.
func ExportCreate ¶
ExportCreate POSTs an Export object to the Isilon server.
func ExportDelete ¶
ExportDelete DELETEs an Export object on the Isilon server.
func ExportUpdate ¶
ExportUpdate PUTs an Export object to the Isilon server.
func SetExportClients ¶
SetExportClients sets an Export's clients property.
func SetExportRootClients ¶
SetExportRootClients sets an Export's root_clients property.
Types ¶
type ACL ¶
type ACL struct { Authoritative *AuthoritativeType `json:"authoritative,omitempty"` Action *ActionType `json:"action,omitempty"` Owner *Persona `json:"owner,omitempty"` Group *Persona `json:"group,omitempty"` Mode *FileMode `json:"mode,omitempty"` }
ACL is an Isilon Access Control List used for managing an object's security.
type ActionType ¶
type ActionType uint8
ActionType is a possible value used with an ACL's Action field.
const ( // ActionTypeUnknown is an unknown ActionType. ActionTypeUnknown ActionType = iota // ActionTypeReplace sets an ACL's Action field to "replace". ActionTypeReplace // ActionTypeUpdate sets an ACL's Action field to "update". ActionTypeUpdate ActionTypeCount )
func ParseActionType ¶
func ParseActionType(text string) ActionType
ParseActionType parses an ActionType from a string.
func (ActionType) MarshalJSON ¶
func (p ActionType) MarshalJSON() ([]byte, error)
MarshalJSON marshals an ActionType value to JSON.
func (ActionType) String ¶
func (p ActionType) String() string
String returns the string representation of an ActionType value.
func (*ActionType) UnmarshalJSON ¶
func (p *ActionType) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals an ActionType value from JSON.
type AuthoritativeType ¶
type AuthoritativeType uint8
AuthoritativeType is a possible value used with an ACL's Authoritative field.
const ( // AuthoritativeTypeUnknown is an unknown AuthoritativeType. AuthoritativeTypeUnknown AuthoritativeType = iota // AuthoritativeTypeACL sets an ACL's Authoritative field to "acl". AuthoritativeTypeACL // AuthoritativeTypeMode sets an ACL's Authoritative field to "mode". AuthoritativeTypeMode )
func ParseAuthoritativeType ¶
func ParseAuthoritativeType(text string) AuthoritativeType
ParseAuthoritativeType parses an AuthoritativeType from a string.
func (AuthoritativeType) MarshalJSON ¶
func (p AuthoritativeType) MarshalJSON() ([]byte, error)
MarshalJSON marshals an AuthoritativeType value to JSON.
func (AuthoritativeType) String ¶
func (p AuthoritativeType) String() string
String returns the string representation of an AuthoritativeType value.
func (*AuthoritativeType) UnmarshalJSON ¶
func (p *AuthoritativeType) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals an AuthoritativeType value from JSON.
type ContainerChild ¶
type ContainerChild struct { Name *string `json:"name,omitempty"` Path *string `json:"container_path,omitempty"` Type *string `json:"type,omitempty"` Owner *string `json:"owner,omitempty"` Group *string `json:"group,omitempty"` Mode *FileMode `json:"mode,omitempty"` Size *int `json:"size,omitempty"` }
ContainerChild is a child object of a container.
func ContainerChildrenGetAll ¶
func ContainerChildrenGetAll( ctx context.Context, client api.Client, containerPath string) ([]*ContainerChild, error)
ContainerChildrenGetAll GETs all descendent children of a container.
func ContainerChildrenPostQuery ¶
func ContainerChildrenPostQuery( ctx context.Context, client api.Client, containerPath string, limit, maxDepth int, query *ContainerQuery) ([]*ContainerChild, error)
ContainerChildrenPostQuery queries a container for children with additional traversal options and matching capabilities, but is subject to ACLs that may prevent traversal.
type ContainerChildList ¶
type ContainerChildList []*ContainerChild
ContainerChildList is a list of a container's children.
func (ContainerChildList) MarshalJSON ¶
func (l ContainerChildList) MarshalJSON() ([]byte, error)
MarshalJSON marshals a ContainerChildList to JSON.
func (*ContainerChildList) UnmarshalJSON ¶
func (l *ContainerChildList) UnmarshalJSON(text []byte) error
UnmarshalJSON unmarshals a ContainerChildList from JSON.
type ContainerQuery ¶
type ContainerQuery struct { Result []string `json:"result,omitempty"` Scope *ContainerQueryScope `json:"scope,omitempty"` }
ContainerQuery is used to query a container.
type ContainerQueryScope ¶
type ContainerQueryScope struct { Logic string `json:"logic,omitempty"` Conditions []interface{} `json:"conditions,omitempty"` }
ContainerQueryScope is the query's scope.
type ContainerQueryScopeCondition ¶
type ContainerQueryScopeCondition struct { Operator string `json:"operator,omitempty"` Attr string `json:"attr,omitempty"` Value string `json:"value,omitempty"` }
ContainerQueryScopeCondition is the query's condition.
type Export ¶
type Export struct { ID int `json:"id,omitmarshal"` Paths *[]string `json:"paths,omitempty"` Clients *[]string `json:"clients,omitempty"` RootClients *[]string `json:"root_clients,omitempty"` MapAll *UserMapping `json:"map_all,omitempty"` MapRoot *UserMapping `json:"map_root,omitempty"` MapNonRoot *UserMapping `json:"map_non_root,omitempty"` MapFailure *UserMapping `json:"map_failure,omitempty"` }
Export is an Isilon Export.
func ExportInspect ¶
ExportInspect GETs an export.
type ExportList ¶
type ExportList []*Export
ExportList is a list of Isilon Exports.
func (ExportList) MarshalJSON ¶
func (l ExportList) MarshalJSON() ([]byte, error)
MarshalJSON marshals an ExportList to JSON.
func (*ExportList) UnmarshalJSON ¶
func (l *ExportList) UnmarshalJSON(text []byte) error
UnmarshalJSON unmarshals an ExportList from JSON.
type FileMode ¶
FileMode is an alias for the Go os.FileMode.
func ParseFileMode ¶
ParseFileMode parses a string and returns a FileMode.
func (FileMode) MarshalText ¶
MarshalText marshals a FileMode value to text.
func (*FileMode) UnmarshalText ¶
UnmarshalText unmarshals a FileMode value from text.
type Persona ¶
type Persona struct { ID *PersonaID `json:"id,omitempty"` Type *PersonaType `json:"type,omitempty"` Name *string `json:"name,omitempty"` }
Persona maps to the ISI <persona> type.
func (*Persona) MarshalJSON ¶
MarshalJSON marshals a Persona to JSON.
func (*Persona) UnmarshalJSON ¶
UnmarshalJSON unmarshals a Persona from JSON.
type PersonaID ¶
type PersonaID struct { ID string Type PersonaIDType }
PersonaID maps to the ISI <persona-id> type.
func (*PersonaID) MarshalJSON ¶
MarshalJSON marshals a PersonaID to JSON.
func (*PersonaID) UnmarshalJSON ¶
UnmarshalJSON unmarshals a PersonaID from JSON.
type PersonaIDType ¶
type PersonaIDType uint8
PersonaIDType is a valid Persona ID type.
const ( // PersonaIDTypeUnknown is an unknown PersonaID type. PersonaIDTypeUnknown PersonaIDType = iota // PersonaIDTypeUser is a PersonaID user type. PersonaIDTypeUser // PersonaIDTypeGroup is a PersonaID group type. PersonaIDTypeGroup // PersonaIDTypeSID is a PersonaID SID type. PersonaIDTypeSID // PersonaIDTypeUID is a PersonaID UID type. PersonaIDTypeUID // PersonaIDTypeGID is a PersonaID GID type. PersonaIDTypeGID )
func ParsePersonaIDType ¶
func ParsePersonaIDType(text string) PersonaIDType
ParsePersonaIDType parses a PersonaIDType from a string.
func (PersonaIDType) MarshalJSON ¶
func (p PersonaIDType) MarshalJSON() ([]byte, error)
MarshalJSON marshals a PersonaIDType value to JSON.
func (PersonaIDType) String ¶
func (p PersonaIDType) String() string
String returns the string representation of a PersonaIDType value.
func (*PersonaIDType) UnmarshalJSON ¶
func (p *PersonaIDType) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a PersonaIDType value from JSON.
type PersonaType ¶
type PersonaType uint8
PersonaType is a valid Persona type.
const ( // PersonaTypeUnknown is an unknown Persona type. PersonaTypeUnknown PersonaType = iota // PersonaIDTypeUser is a Persona user type. PersonaTypeUser // PersonaTypeGroup is a Persona group type. PersonaTypeGroup // PersonaTypeWellKnown is a Persona wellknown type. PersonaTypeWellKnown )
func ParsePersonaType ¶
func ParsePersonaType(text string) PersonaType
ParsePersonaType parses a PersonaType from a string.
func (PersonaType) MarshalJSON ¶
func (p PersonaType) MarshalJSON() ([]byte, error)
MarshalJSON marshals a PersonaType value to JSON.
func (PersonaType) String ¶
func (p PersonaType) String() string
String returns the string representation of a PersonaType value.
func (*PersonaType) UnmarshalJSON ¶
func (p *PersonaType) UnmarshalJSON(data []byte) error
UnmarshalJSON marshals a PersonaType value from JSON.
type UserMapping ¶
type UserMapping struct { Enabled *bool `json:"enabled,omitempty"` User *Persona `json:"user,omitempty"` PrimaryGroup *Persona `json:"primary_group,omitempty"` SecondaryGroup []*Persona `json:"secondary_group,omitempty"` }
UserMapping maps to the ISI <user-mapping> type.
func (*UserMapping) UnmarshalJSON ¶
func (um *UserMapping) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a UserMapping from JSON.