v2

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2018 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ActionTypeUnknownStr = "unknown"
	ActionTypeReplaceStr = "replace"
	ActionTypeUpdateStr  = "update"
)

Variables

View Source
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
)
View Source
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
)
View Source
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
)

Functions

func ACLUpdate added in v1.3.0

func ACLUpdate(
	ctx context.Context,
	client api.Client,
	path string,
	acl *ACL) error

ACLUpdate PUTs an ACL.

func ContainerChildDelete added in v1.4.0

func ContainerChildDelete(
	ctx context.Context,
	client api.Client,
	childPath string,
	recursive bool) error

ContainerChildDelete deletes a child of a container.

func ContainerChildrenGetQuery added in v1.4.0

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 added in v1.4.0

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 added in v1.4.0

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 added in v1.4.0

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

func ExportCreate(
	ctx context.Context,
	client api.Client,
	export *Export) (int, error)

ExportCreate POSTs an Export object to the Isilon server.

func ExportDelete

func ExportDelete(
	ctx context.Context,
	client api.Client,
	id int) error

ExportDelete DELETEs an Export object on the Isilon server.

func ExportUpdate

func ExportUpdate(
	ctx context.Context,
	client api.Client,
	export *Export) error

ExportUpdate PUTs an Export object to the Isilon server.

func SetExportClients

func SetExportClients(
	ctx context.Context,
	client api.Client,
	id int,
	addrs ...string) error

SetExportClients sets an Export's clients property.

func SetExportRootClients

func SetExportRootClients(
	ctx context.Context,
	client api.Client,
	id int,
	addrs ...string) error

SetExportRootClients sets an Export's root_clients property.

func Unexport

func Unexport(
	ctx context.Context,
	client api.Client,
	id int) error

Unexport is an alias for ExportDelete.

Types

type ACL added in v1.3.0

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.

func ACLInspect added in v1.3.0

func ACLInspect(
	ctx context.Context,
	client api.Client,
	path string) (*ACL, error)

ACLInspect GETs an ACL.

type ActionType added in v1.3.0

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 added in v1.3.0

func ParseActionType(text string) ActionType

ParseActionType parses an ActionType from a string.

func (ActionType) MarshalJSON added in v1.3.0

func (p ActionType) MarshalJSON() ([]byte, error)

MarshalJSON marshals an ActionType value to JSON.

func (ActionType) String added in v1.3.0

func (p ActionType) String() string

String returns the string representation of an ActionType value.

func (*ActionType) UnmarshalJSON added in v1.3.0

func (p *ActionType) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals an ActionType value from JSON.

type AuthoritativeType added in v1.3.0

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 added in v1.3.0

func ParseAuthoritativeType(text string) AuthoritativeType

ParseAuthoritativeType parses an AuthoritativeType from a string.

func (AuthoritativeType) MarshalJSON added in v1.3.0

func (p AuthoritativeType) MarshalJSON() ([]byte, error)

MarshalJSON marshals an AuthoritativeType value to JSON.

func (AuthoritativeType) String added in v1.3.0

func (p AuthoritativeType) String() string

String returns the string representation of an AuthoritativeType value.

func (*AuthoritativeType) UnmarshalJSON added in v1.3.0

func (p *AuthoritativeType) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals an AuthoritativeType value from JSON.

type ContainerChild added in v1.4.0

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 added in v1.4.0

func ContainerChildrenGetAll(
	ctx context.Context,
	client api.Client,
	containerPath string) ([]*ContainerChild, error)

ContainerChildrenGetAll GETs all descendent children of a container.

func ContainerChildrenPostQuery added in v1.4.0

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 added in v1.4.0

type ContainerChildList []*ContainerChild

ContainerChildList is a list of a container's children.

func (ContainerChildList) MarshalJSON added in v1.4.0

func (l ContainerChildList) MarshalJSON() ([]byte, error)

MarshalJSON marshals a ContainerChildList to JSON.

func (*ContainerChildList) UnmarshalJSON added in v1.4.0

func (l *ContainerChildList) UnmarshalJSON(text []byte) error

UnmarshalJSON unmarshals a ContainerChildList from JSON.

type ContainerQuery added in v1.4.0

type ContainerQuery struct {
	Result []string             `json:"result,omitempty"`
	Scope  *ContainerQueryScope `json:"scope,omitempty"`
}

ContainerQuery is used to query a container.

type ContainerQueryScope added in v1.4.0

type ContainerQueryScope struct {
	Logic      string        `json:"logic,omitempty"`
	Conditions []interface{} `json:"conditions,omitempty"`
}

ContainerQueryScope is the query's scope.

type ContainerQueryScopeCondition added in v1.4.0

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

func ExportInspect(
	ctx context.Context,
	client api.Client,
	id int) (*Export, error)

ExportInspect GETs an export.

func ExportsList

func ExportsList(
	ctx context.Context,
	client api.Client) ([]*Export, error)

ExportList GETs all exports.

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 added in v1.3.0

type FileMode os.FileMode

FileMode is an alias for the Go os.FileMode.

func ParseFileMode added in v1.4.0

func ParseFileMode(s string) (FileMode, error)

ParseFileMode parses a string and returns a FileMode.

func (FileMode) MarshalText added in v1.3.0

func (p FileMode) MarshalText() ([]byte, error)

MarshalText marshals a FileMode value to text.

func (FileMode) String added in v1.3.0

func (p FileMode) String() string

String returns the string representation of an ActionType value.

func (*FileMode) UnmarshalText added in v1.3.0

func (p *FileMode) UnmarshalText(data []byte) error

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

func (p *Persona) MarshalJSON() ([]byte, error)

MarshalJSON marshals a Persona to JSON.

func (*Persona) UnmarshalJSON

func (p *Persona) UnmarshalJSON(data []byte) error

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

func (p *PersonaID) MarshalJSON() ([]byte, error)

MarshalJSON marshals a PersonaID to JSON.

func (*PersonaID) UnmarshalJSON

func (p *PersonaID) UnmarshalJSON(data []byte) error

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL