goisilon

package module
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2024 License: Apache-2.0 Imports: 23 Imported by: 4

README

GoIsilon

Overview

GoIsilon is a Go package that provides a client for the EMC Isilon OneFS HTTP API. The package provides both direct implementations of the API bindings as well as abstract, helper functionality. In addition, services such as Docker, Mesos, and REX-Ray use the GoIsilon package to integrate with the NAS storage platform.

OneFS API Support Matrix

The GoIsilon package is tested with and supports OneFS 8.1+.

Examples

The tests provide working examples for how to use the package, but here are a few code snippets to further illustrate the basic ideas:

Initialize a new client

This example shows how to initialize a new client.

client, err := NewClient(context.Background())
if err != nil {
	panic(err)
}

Please note that there is no attempt to provide a host, credentials, or any other options. The NewClient() function relies on the following environment variables to configure the GoIsilon client:

Environment Variables
Name Description
GOISILON_ENDPOINT the API endpoint, ex. https://172.17.177.230:8080
GOISILON_USERNAME the username
GOISILON_GROUP the user's group
GOISILON_PASSWORD the password
GOISILON_INSECURE whether to skip SSL validation
GOISILON_VOLUMEPATH which base path to use when looking for volume directories
GOISILON_VOLUMEPATH_PERMISSIONS permissions for new volume directory
GOISILON_AUTHTYPE what should be the auth type, session-based or basic
Initialize a new client with options

The following example demonstrates how to explicitly specify options when creating a client:

client, err := NewClientWithArgs(
	context.Background(),
	"https://172.17.177.230:8080",
	true,
	1,
	"userName",
	"groupName",
	"password",
	"/ifs/volumes",
	"0777",
	0)
if err != nil {
	panic(err)
}
Create a Volume

This snippet creates a new volume named "testing" at "/ifs/volumes/testing". The volume path is generated by concatenating the client's volume path and the name of the volume.

volume, err := c.CreateVolume(context.Background(), "testing")
Export a Volume

Enabling a volume for NFS access is fairly straight-forward.

if err := c.ExportVolume(context.Background(), "testing"); err != nil {
	panic(err)
}
Delete a Volume

When a volume is no longer needed, this is how it may be removed.

if err := c.DeleteVolume(context.Background(), "testing"); err != nil {
	panic(err)
}
More Examples

Several, very detailed examples of the GoIsilon package in use can be found in the package's *_test.go files as well as in the libStorage Isilon storage driver.

Contributions

Please contribute!

Licensing

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Support

For any issues, questions or feedback, please follow our support process

Documentation

Overview

Copyright (c) 2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2019-2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2019-2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2023 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2019 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2019-2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2022 Dell Inc, or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	RESYNC_PREP            apiv11.JOB_ACTION              = "resync_prep"
	ALLOW_WRITE            apiv11.JOB_ACTION              = "allow_write"
	ALLOW_WRITE_REVERT     apiv11.JOB_ACTION              = "allow_write_revert"
	TEST                   apiv11.JOB_ACTION              = "test"
	SCHEDULED              apiv11.JOB_STATE               = "scheduled"
	RUNNING                apiv11.JOB_STATE               = "running"
	PAUSED                 apiv11.JOB_STATE               = "paused"
	FINISHED               apiv11.JOB_STATE               = "finished"
	FAILED                 apiv11.JOB_STATE               = "failed"
	CANCELED               apiv11.JOB_STATE               = "canceled"
	NEEDS_ATTENTION        apiv11.JOB_STATE               = "needs_attention"
	SKIPPED                apiv11.JOB_STATE               = "skipped"
	PENDING                apiv11.JOB_STATE               = "pending"
	UNKNOWN                apiv11.JOB_STATE               = "unknown"
	WRITES_DISABLED        apiv11.FAILOVER_FAILBACK_STATE = "writes_disabled"
	ENABLING_WRITES        apiv11.FAILOVER_FAILBACK_STATE = "enabling_writes"
	WRITES_ENABLED         apiv11.FAILOVER_FAILBACK_STATE = "writes_enabled"
	DISABLING_WRITES       apiv11.FAILOVER_FAILBACK_STATE = "disabling_writes"
	CREATING_RESYNC_POLICY apiv11.FAILOVER_FAILBACK_STATE = "creating_resync_policy"
	RESYNC_POLICY_CREATED  apiv11.FAILOVER_FAILBACK_STATE = "resync_policy_created"
)

Variables

View Source
var ConcurrentHTTPConnections = 2

ConcurrentHTTPConnections is the number of allowed concurrent HTTP connections for API functions that attempt to send multiple API calls at once.

Functions

func FilterReports added in v1.7.0

func FilterReports(values []apiv11.Report, filterFunc func(apiv11.Report) bool) []apiv11.Report

Types

type ACL

type ACL *api.ACL

ACL is an Isilon Access Control List used for managing an object's security.

type Client

type Client struct {
	// API is the underlying OneFS API client.
	API api.Client
}

Client is an Isilon client.

func NewClient

func NewClient(ctx context.Context) (*Client, error)

NewClient returns a new Isilon client struct initialized from the environment.

func NewClientWithArgs

func NewClientWithArgs(
	ctx context.Context,
	endpoint string,
	insecure bool, verboseLogging uint,
	user, group, pass, volumesPath string, volumesPathPermissions string, ignoreUnresolvableHosts bool, authType uint8,
) (*Client, error)

NewClientWithArgs returns a new Isilon client struct initialized from the supplied arguments.

func (*Client) AddExportClients

func (c *Client) AddExportClients(
	ctx context.Context, name string, clients ...string,
) error

AddExportClients adds to the Export's clients property.

func (*Client) AddExportClientsByExportID

func (c *Client) AddExportClientsByExportID(
	ctx context.Context, id int, clients ...string,
) error

AddExportClientsByExportID adds to the Export's clients property.

func (*Client) AddExportClientsByExportIDWithZone

func (c *Client) AddExportClientsByExportIDWithZone(
	ctx context.Context, id int, zone string, ignoreUnresolvableHosts bool, clients ...string,
) error

AddExportClientsByExportIDWithZone adds to the Export's clients with access zone property.

func (*Client) AddExportClientsByID

func (c *Client) AddExportClientsByID(
	ctx context.Context, id int, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportClientsByID adds to the Export's clients property.

func (*Client) AddExportClientsByIDWithZone

func (c *Client) AddExportClientsByIDWithZone(
	ctx context.Context, id int, zone string, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportClientsByIDWithZone adds to the Export's clients property.

func (*Client) AddExportReadOnlyClientsByID

func (c *Client) AddExportReadOnlyClientsByID(
	ctx context.Context, id int, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportReadOnlyClientsByID adds to the Export's read-only clients property.

func (*Client) AddExportReadOnlyClientsByIDWithZone

func (c *Client) AddExportReadOnlyClientsByIDWithZone(
	ctx context.Context, id int, zone string, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportReadOnlyClientsByIDWithZone adds to the Export's read-only clients property.

func (*Client) AddExportReadWriteClientsByID

func (c *Client) AddExportReadWriteClientsByID(
	ctx context.Context, id int, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportReadWriteClientsByID adds to the Export's read-write clients property.

func (*Client) AddExportReadWriteClientsByIDWithZone

func (c *Client) AddExportReadWriteClientsByIDWithZone(
	ctx context.Context, id int, zone string, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportReadWriteClientsByIDWithZone adds to the Export's read-write clients property.

func (*Client) AddExportRootClients

func (c *Client) AddExportRootClients(
	ctx context.Context, name string, clients ...string,
) error

AddExportRootClients adds to the Export's root_clients property.

func (*Client) AddExportRootClientsByID

func (c *Client) AddExportRootClientsByID(
	ctx context.Context, id int, clients ...string,
) error

AddExportRootClientsByID adds to the Export's root_clients property.

func (*Client) AddExportRootClientsByIDWithZone added in v1.1.0

func (c *Client) AddExportRootClientsByIDWithZone(
	ctx context.Context, id int, zone string, clients []string, ignoreUnresolvableHosts bool,
) error

AddExportRootClientsByIDWithZone adds to the Export's clients property.

func (*Client) AddGroupMember added in v1.14.0

func (c *Client) AddGroupMember(ctx context.Context, name *string, gid *int32, member api.IsiAuthMemberItem) error

AddGroupMember adds a member to a specific group, Required: groupName/gid, member, member can be a user or group.

func (*Client) AddRoleMember added in v1.14.0

func (c *Client) AddRoleMember(ctx context.Context, roleID string, member api.IsiAuthMemberItem) error

AddRoleMember adds a member to a specific role, Required: roleId, memberType, and memberName/memberId memberType can be user/group.

func (*Client) AllowWrites added in v1.7.0

func (c *Client) AllowWrites(ctx context.Context, policyName string) error

func (*Client) BreakAssociation added in v1.7.0

func (c *Client) BreakAssociation(ctx context.Context, targetPolicyName string) error

func (*Client) ClearExportClients

func (c *Client) ClearExportClients(
	ctx context.Context, name string,
) error

ClearExportClients sets the Export's clients property to nil.

func (*Client) ClearExportClientsByID

func (c *Client) ClearExportClientsByID(
	ctx context.Context, id int,
) error

ClearExportClientsByID sets the Export's clients property to nil.

func (*Client) ClearExportRootClients

func (c *Client) ClearExportRootClients(
	ctx context.Context, name string,
) error

ClearExportRootClients sets the Export's root_clients property to nil.

func (*Client) ClearExportRootClientsByID

func (c *Client) ClearExportRootClientsByID(
	ctx context.Context, id int,
) error

ClearExportRootClientsByID sets the Export's clients property to nil.

func (*Client) ClearQuota

func (c *Client) ClearQuota(ctx context.Context, name string) error

ClearQuota removes the quota from a volume

func (*Client) ClearQuotaByID

func (c *Client) ClearQuotaByID(ctx context.Context, id string) error

ClearQuotaByID removes the quota from a volume by quota id

func (*Client) ClearQuotaByIDWithZone

func (c *Client) ClearQuotaByIDWithZone(ctx context.Context, id, zone string) error

ClearQuotaByIDWithZone removes the quota from a volume by quota id with access zone

func (*Client) ClearQuotaWithPath

func (c *Client) ClearQuotaWithPath(ctx context.Context, path string) error

ClearQuotaWithPath removes the quota from a volume with IsiPath as a parameter

func (*Client) CopySnapshot

func (c *Client) CopySnapshot(
	ctx context.Context,
	sourceID int64, sourceName, accessZone, destinationName string,
) (Volume, error)

CopySnapshot copies all files/directories in a snapshot to a new directory.

func (*Client) CopySnapshotWithIsiPath

func (c *Client) CopySnapshotWithIsiPath(
	ctx context.Context,
	isiPath, snapshotSourceVolumeIsiPath string,
	sourceID int64,
	sourceName, destinationName string, accessZone string,
) (Volume, error)

CopySnapshotWithIsiPath copies all files/directories in a snapshot with isiPath to a new directory.

func (*Client) CopyVolume

func (c *Client) CopyVolume(
	ctx context.Context, src, dest string,
) (Volume, error)

CopyVolume creates a volume based on an existing volume

func (*Client) CopyVolumeWithIsiPath

func (c *Client) CopyVolumeWithIsiPath(
	ctx context.Context, isiPath, src, dest string,
) (Volume, error)

CopyVolumeWithIsiPath creates a volume based on an existing volume

func (*Client) CreatGroupByName added in v1.14.0

func (c *Client) CreatGroupByName(ctx context.Context, name string) (string, error)

CreatGroupByName creates a new group with name.

func (*Client) CreateExportWithStructParams added in v1.14.0

func (c *Client) CreateExportWithStructParams(ctx context.Context, params apiv4.CreateV4NfsExportRequest) (*openapi.Createv3EventEventResponse, error)

CreateExportWithStructParams create export with parameters

func (*Client) CreateGroupWithOptions added in v1.14.0

func (c *Client) CreateGroupWithOptions(
	ctx context.Context, name string, gid *int32, members []api.IsiAuthMemberItem,
	queryForce *bool, queryZone, queryProvider *string,
) (string, error)

CreateGroupWithOptions creates a new group with name(required), gid(optional), and members(optional), Optional filter: force, zone and provider.

func (*Client) CreatePolicy added in v1.7.0

func (c *Client) CreatePolicy(ctx context.Context, name string, rpo int, sourcePath string, targetPath string, targetHost string, targetCert string, enabled bool) error

func (*Client) CreateQuota

func (c *Client) CreateQuota(
	ctx context.Context, name string, container bool, size, softLimit, advisoryLimit, softGracePrd int64,
) (string, error)

CreateQuota creates a new hard directory quota with the specified size and container option

func (*Client) CreateQuotaWithPath

func (c *Client) CreateQuotaWithPath(
	ctx context.Context, path string, container bool, size, softLimit, advisoryLimit, softGracePrd int64,
) (string, error)

CreateQuotaWithPath creates a new hard directory quota with the specified size and container option

func (*Client) CreateSmbShareWithStructParams added in v1.14.0

func (c *Client) CreateSmbShareWithStructParams(ctx context.Context, params apiv12.CreateV12SmbShareRequest) (*openapi.Createv12SmbShareResponse, error)

CreateSmbShareWithStructParams creates a smb share with params

func (*Client) CreateSnapshot

func (c *Client) CreateSnapshot(
	ctx context.Context, volName, snapshotName string,
) (Snapshot, error)

CreateSnapshot creates a snapshot called name of the given path.

func (*Client) CreateSnapshotWithPath

func (c *Client) CreateSnapshotWithPath(
	ctx context.Context, path, snapshotName string,
) (Snapshot, error)

CreateSnapshotWithPath creates a snapshot by snapshot name and the path of volume.

func (*Client) CreateUserByName added in v1.14.0

func (c *Client) CreateUserByName(ctx context.Context, name string) (string, error)

CreateUserByName creates a new user with name.

func (*Client) CreateUserWithOptions added in v1.14.0

func (c *Client) CreateUserWithOptions(
	ctx context.Context, name string, uid *int32, queryForce *bool, queryZone, queryProvider *string,
	email, homeDirectory, password, fullName, shell, primaryGroupName *string,
	primaryGroupId, expiry *int32, enabled, passwordExpires, promptPasswordChange, unlock *bool,
) (string, error)

CreateUserWithOptions creates a new user with name(required) and Uid (Optional), Optional filter: force, zone and provider, Optional configuration: email, homeDirectory, password, primaryGroupName, fullName, shell ,uid, primaryGroupId, expiry, enabled, passwordExpires, promptPasswordChange and unlock.

func (*Client) CreateVolume

func (c *Client) CreateVolume(
	ctx context.Context, name string,
) (Volume, error)

CreateVolume creates a volume

func (*Client) CreateVolumeDir

func (c *Client) CreateVolumeDir(
	ctx context.Context,
	volumeName, dirPath string,
	fileMode os.FileMode,
	overwrite, recursive bool,
) error

CreateVolumeDir creates a directory inside a volume.

func (*Client) CreateVolumeNoACL

func (c *Client) CreateVolumeNoACL(
	ctx context.Context, name string,
) (Volume, error)

CreateVolumeNoACL creates a volume without setting ACL

func (*Client) CreateVolumeWithIsipath

func (c *Client) CreateVolumeWithIsipath(
	ctx context.Context, isiPath, name, isiVolumePathPermissions string,
) (Volume, error)

CreateVolumeWithIsipath creates a volume with isiPath

func (*Client) CreateVolumeWithIsipathMetaData added in v1.4.0

func (c *Client) CreateVolumeWithIsipathMetaData(
	ctx context.Context, isiPath, name, isiVolumePathPermissions string, metadata map[string]string,
) (Volume, error)

CreateVolumeWithIsipathMetaData creates a volume with isiPath

func (*Client) DeleteExportWithStructParams added in v1.14.0

func (c *Client) DeleteExportWithStructParams(ctx context.Context, params apiv4.DeleteV4NfsExportRequest) error

DeleteExportWithStructParams delete export with parameters

func (*Client) DeleteGroupByNameOrGID added in v1.14.0

func (c *Client) DeleteGroupByNameOrGID(ctx context.Context, name *string, gid *int32) error

DeleteGroupByNameOrGID deletes a specific group by group name or gid.

func (*Client) DeletePolicy added in v1.7.0

func (c *Client) DeletePolicy(ctx context.Context, name string) error

func (*Client) DeleteSmbShareWithStructParams added in v1.14.0

func (c *Client) DeleteSmbShareWithStructParams(ctx context.Context, params apiv12.DeleteV12SmbShareRequest) error

DeleteSmbShareWithStructParams delete a specific smb share with params6570

func (*Client) DeleteTargetPolicy added in v1.7.0

func (c *Client) DeleteTargetPolicy(ctx context.Context, id string) error

func (*Client) DeleteUserByNameOrUID added in v1.14.0

func (c *Client) DeleteUserByNameOrUID(ctx context.Context, name *string, uid *int32) error

DeleteUserByNameOrUID deletes a specific user by user name or uid.

func (*Client) DeleteVolume

func (c *Client) DeleteVolume(
	ctx context.Context, name string,
) error

DeleteVolume deletes a volume

func (*Client) DeleteVolumeWithIsiPath

func (c *Client) DeleteVolumeWithIsiPath(
	ctx context.Context, isiPath, name string,
) error

DeleteVolumeWithIsiPath deletes a volume with isiPath

func (*Client) DisableFailureMapping

func (c *Client) DisableFailureMapping(
	ctx context.Context, name string,
) error

DisableFailureMapping disables the map_failure mapping for an Export.

func (*Client) DisableFailureMappingByID

func (c *Client) DisableFailureMappingByID(
	ctx context.Context, id int,
) error

DisableFailureMappingByID disables the map_failure mapping for an Export.

func (*Client) DisableNonRootMapping

func (c *Client) DisableNonRootMapping(
	ctx context.Context, name string,
) error

DisableNonRootMapping disables the map_non_root mapping for an Export.

func (*Client) DisableNonRootMappingByID

func (c *Client) DisableNonRootMappingByID(
	ctx context.Context, id int,
) error

DisableNonRootMappingByID disables the map_non_root mapping for an Export.

func (*Client) DisablePolicy added in v1.7.0

func (c *Client) DisablePolicy(ctx context.Context, name string) error

func (*Client) DisableRootMapping

func (c *Client) DisableRootMapping(
	ctx context.Context, name string,
) error

DisableRootMapping disables the root mapping for an Export.

func (*Client) DisableRootMappingByID

func (c *Client) DisableRootMappingByID(
	ctx context.Context, id int,
) error

DisableRootMappingByID disables the root mapping for an Export.

func (*Client) DisallowWrites added in v1.7.0

func (c *Client) DisallowWrites(ctx context.Context, policyName string) error

func (*Client) EnableFailureMapping

func (c *Client) EnableFailureMapping(
	ctx context.Context, name, user string,
) error

EnableFailureMapping enables the map_failure mapping for an Export.

func (*Client) EnableFailureMappingByID

func (c *Client) EnableFailureMappingByID(
	ctx context.Context, id int, user string,
) error

EnableFailureMappingByID enables the map_failure mapping for an Export.

func (*Client) EnableNonRootMapping

func (c *Client) EnableNonRootMapping(
	ctx context.Context, name, user string,
) error

EnableNonRootMapping enables the map_non_root mapping for an Export.

func (*Client) EnableNonRootMappingByID

func (c *Client) EnableNonRootMappingByID(
	ctx context.Context, id int, user string,
) error

EnableNonRootMappingByID enables the map_non_root mapping for an Export.

func (*Client) EnablePolicy added in v1.7.0

func (c *Client) EnablePolicy(ctx context.Context, name string) error

func (*Client) EnableRootMapping

func (c *Client) EnableRootMapping(
	ctx context.Context, name, user string,
) error

EnableRootMapping enables the root mapping for an Export.

func (*Client) EnableRootMappingByID

func (c *Client) EnableRootMappingByID(
	ctx context.Context, id int, user string,
) error

EnableRootMappingByID enables the root mapping for an Export.

func (*Client) Export

func (c *Client) Export(ctx context.Context, name string) (int, error)

Export the volume with a given name on the cluster

func (*Client) ExportPathWithZone

func (c *Client) ExportPathWithZone(ctx context.Context, path, zone, description string) (int, error)

ExportPathWithZone exports the given path and zone on the cluster

func (*Client) ExportSnapshotWithZone

func (c *Client) ExportSnapshotWithZone(ctx context.Context, snapshotName, volumeName, zone, description string) (int, error)

ExportSnapshotWithZone exports the given snapshot and zone on the cluster

func (*Client) ExportVolume

func (c *Client) ExportVolume(
	ctx context.Context, name string,
) (int, error)

ExportVolume exports a volume

func (*Client) ExportVolumeWithZone

func (c *Client) ExportVolumeWithZone(
	ctx context.Context, name, zone, description string,
) (int, error)

ExportVolumeWithZone exports a volume in the specified access zone

func (*Client) ExportVolumeWithZoneAndPath

func (c *Client) ExportVolumeWithZoneAndPath(
	ctx context.Context, path, zone, description string,
) (int, error)

ExportVolumeWithZoneAndPath exports a volume in the specified access zone and path

func (*Client) ExportWithZone

func (c *Client) ExportWithZone(ctx context.Context, name, zone, description string) (int, error)

ExportWithZone exports the volume with a given name and zone on the cluster

func (*Client) ExportWithZoneAndPath

func (c *Client) ExportWithZoneAndPath(ctx context.Context, path, zone, description string) (int, error)

ExportWithZoneAndPath exports the volume with a given name, zone and path on the cluster

func (*Client) ForceDeleteVolume

func (c *Client) ForceDeleteVolume(ctx context.Context, name string) error

ForceDeleteVolume force deletes a volume by resetting the ownership of all descendent directories to the current user prior to issuing a delete call.

func (*Client) GetAllGroups added in v1.14.0

func (c *Client) GetAllGroups(ctx context.Context) (GroupList, error)

GetAllGroups returns all groups on the cluster.

func (*Client) GetAllQuotas added in v1.9.0

func (c *Client) GetAllQuotas(ctx context.Context) (QuotaList, error)

GetAllQuotas returns all quotas on the cluster

func (*Client) GetAllRoles added in v1.14.0

func (c *Client) GetAllRoles(ctx context.Context) (RoleList, error)

GetAllRoles returns all roles on the cluster.

func (*Client) GetAllUsers added in v1.14.0

func (c *Client) GetAllUsers(ctx context.Context) (UserList, error)

GetAllUsers returns all users on the cluster

func (*Client) GetClusterAcs added in v1.14.0

func (c *Client) GetClusterAcs(ctx context.Context) (ClusterAcs, error)

GetClusterAcs returns the ACS status

func (*Client) GetClusterConfig

func (c *Client) GetClusterConfig(ctx context.Context) (ClusterConfig, error)

GetClusterConfig returns information about the configuration of cluster

func (*Client) GetClusterIdentity added in v1.14.0

func (c *Client) GetClusterIdentity(ctx context.Context) (ClusterIdentity, error)

GetClusterIdentity returns the login information

func (*Client) GetClusterInternalNetworks added in v1.14.0

func (c *Client) GetClusterInternalNetworks(ctx context.Context) (ClusterInternalNetworks, error)

GetClusterInternalNetworks internal networks settings

func (*Client) GetClusterNode added in v1.14.0

func (c *Client) GetClusterNode(ctx context.Context, nodeID int) (ClusterNodes, error)

GetClusterNode retrieves one node on this cluster

func (*Client) GetClusterNodes added in v1.14.0

func (c *Client) GetClusterNodes(ctx context.Context) (ClusterNodes, error)

GetClusterNodes list the nodes on this cluster

func (*Client) GetExportByID

func (c *Client) GetExportByID(ctx context.Context, id int) (Export, error)

GetExportByID returns an export with the provided ID.

func (*Client) GetExportByIDWithZone

func (c *Client) GetExportByIDWithZone(ctx context.Context, id int, zone string) (Export, error)

GetExportByIDWithZone gets the export by export id and access zone

func (*Client) GetExportByName

func (c *Client) GetExportByName(
	ctx context.Context, name string,
) (Export, error)

GetExportByName returns the first export with a path for the provided volume name.

func (*Client) GetExportByNameWithZone

func (c *Client) GetExportByNameWithZone(
	ctx context.Context, name, zone string,
) (Export, error)

GetExportByNameWithZone returns the first export with a path for the provided volume name in the given zone.

func (*Client) GetExportClients

func (c *Client) GetExportClients(
	ctx context.Context, name string,
) ([]string, error)

GetExportClients returns an Export's clients property.

func (*Client) GetExportClientsByID

func (c *Client) GetExportClientsByID(
	ctx context.Context, id int,
) ([]string, error)

GetExportClientsByID returns an Export's clients property.

func (*Client) GetExportRootClients

func (c *Client) GetExportRootClients(
	ctx context.Context, name string,
) ([]string, error)

GetExportRootClients returns an Export's root_clients property.

func (*Client) GetExportRootClientsByID

func (c *Client) GetExportRootClientsByID(
	ctx context.Context, id int,
) ([]string, error)

GetExportRootClientsByID returns an Export's clients property.

func (*Client) GetExportWithPath

func (c *Client) GetExportWithPath(
	ctx context.Context, path string,
) (Export, error)

GetExportWithPath gets the export with target path

func (*Client) GetExportWithPathAndZone

func (c *Client) GetExportWithPathAndZone(
	ctx context.Context, path, zone string,
) (Export, error)

GetExportWithPathAndZone gets the export with target path and access zone

func (*Client) GetExportWithStructParams added in v1.14.0

func (c *Client) GetExportWithStructParams(ctx context.Context, params apiv4.GetV2NfsExportRequest) (*openapi.V2NfsExportsExtended, error)

GetExportWithStructParams list specific export with parameters

func (*Client) GetExports

func (c *Client) GetExports(ctx context.Context) (ExportList, error)

GetExports returns a list of all exports on the cluster

func (*Client) GetExportsWithLimit

func (c *Client) GetExportsWithLimit(
	ctx context.Context, limit string,
) (Exports, error)

GetExportsWithLimit returns a number of exports in the default sequence and the number is the parameter limit.

func (*Client) GetExportsWithParams

func (c *Client) GetExportsWithParams(
	ctx context.Context, params api.OrderedValues,
) (Exports, error)

GetExportsWithParams returns exports based on the parameters

func (*Client) GetExportsWithResume

func (c *Client) GetExportsWithResume(
	ctx context.Context, resume string,
) (Exports, error)

GetExportsWithResume returns the next page of exports based on the resume token from the previous call.

func (*Client) GetFailureMapping

func (c *Client) GetFailureMapping(
	ctx context.Context, name string,
) (UserMapping, error)

GetFailureMapping returns the map_failure mapping for an Export.

func (*Client) GetFailureMappingByID

func (c *Client) GetFailureMappingByID(
	ctx context.Context, id int,
) (UserMapping, error)

GetFailureMappingByID returns the map_failure mapping for an Export.

func (*Client) GetFloatStatistics added in v1.9.0

func (c *Client) GetFloatStatistics(
	ctx context.Context,
	keys []string,
) (FloatStats, error)

GetFloatStatistics returns float statistics from Isilon. Keys indicate type of statistics expected

func (*Client) GetGroupByNameOrGID added in v1.14.0

func (c *Client) GetGroupByNameOrGID(ctx context.Context, name *string, gid *int32) (Group, error)

GetGroupByNameOrGID returns a specific group by group name or gid.

func (*Client) GetGroupMembers added in v1.14.0

func (c *Client) GetGroupMembers(ctx context.Context, name *string, gid *int32) (GroupMemberList, error)

GetGroupMembers retrieves the members of a group by name or gid.

func (*Client) GetGroupsWithFilter added in v1.14.0

func (c *Client) GetGroupsWithFilter(ctx context.Context,
	queryNamePrefix, queryDomain, queryZone, queryProvider *string,
	queryCached, queryResolveNames, queryMemberOf *bool,
	queryLimit *int32,
) (GroupList, error)

GetGroupsWithFilter returns groups on the cluster with Optional filter: namePrefix, domain, zone, provider, cached, resolveNames, memberOf, zone and limit.

func (*Client) GetIsiSnapshotByIdentity

func (c *Client) GetIsiSnapshotByIdentity(
	ctx context.Context, identity string,
) (Snapshot, error)

GetIsiSnapshotByIdentity query a snapshot by ID or name param identity string: name or id

func (*Client) GetJobsByPolicyName added in v1.7.0

func (c *Client) GetJobsByPolicyName(ctx context.Context, policyName string) ([]apiv11.Job, error)

func (*Client) GetLocalSerial

func (c *Client) GetLocalSerial(ctx context.Context) (string, error)

GetLocalSerial returns the local serial which is the serial number of cluster

func (*Client) GetNonRootMapping

func (c *Client) GetNonRootMapping(
	ctx context.Context, name string,
) (UserMapping, error)

GetNonRootMapping returns the map_non_root mapping for an Export.

func (*Client) GetNonRootMappingByID

func (c *Client) GetNonRootMappingByID(
	ctx context.Context, id int,
) (UserMapping, error)

GetNonRootMappingByID returns the map_non_root mapping for an Export.

func (*Client) GetPolicyByName added in v1.7.0

func (c *Client) GetPolicyByName(ctx context.Context, id string) (Policy, error)

GetPolicyByName returns a policy with the provided ID.

func (*Client) GetQuota

func (c *Client) GetQuota(ctx context.Context, name string) (Quota, error)

GetQuota returns a specific quota by volume name

func (*Client) GetQuotaByID added in v1.2.0

func (c *Client) GetQuotaByID(ctx context.Context, ID string) (Quota, error)

GetQuotaByID returns a specific quota by ID

func (*Client) GetQuotaWithPath

func (c *Client) GetQuotaWithPath(ctx context.Context, path string) (Quota, error)

GetQuotaWithPath returns a specific quota by path

func (*Client) GetQuotasWithResume added in v1.9.0

func (c *Client) GetQuotasWithResume(ctx context.Context, resume string) (QuotaResp, error)

GetQuotasWithResume returns a list of quota with resume field

func (*Client) GetReport added in v1.7.0

func (c *Client) GetReport(ctx context.Context, reportName string) (*apiv11.Report, error)

func (*Client) GetReportsByPolicyName added in v1.7.0

func (c *Client) GetReportsByPolicyName(ctx context.Context, policyName string, reportsForPolicy int) (*apiv11.Reports, error)

func (*Client) GetRoleByID added in v1.14.0

func (c *Client) GetRoleByID(ctx context.Context, id string) (Role, error)

GetRoleByID returns a specific role by role id.

func (*Client) GetRolesWithFilter added in v1.14.0

func (c *Client) GetRolesWithFilter(ctx context.Context, queryResolveNames *bool, queryLimit *int32) (RoleList, error)

GetRolesWithFilter returns roles on the cluster with Optional filter: resolveNames or limit.

func (*Client) GetRootMapping

func (c *Client) GetRootMapping(
	ctx context.Context, name string,
) (UserMapping, error)

GetRootMapping returns the root mapping for an Export.

func (*Client) GetRootMappingByID

func (c *Client) GetRootMappingByID(
	ctx context.Context, id int,
) (UserMapping, error)

GetRootMappingByID returns the root mapping for an Export.

func (*Client) GetSmbShareWithStructParams added in v1.14.0

func (c *Client) GetSmbShareWithStructParams(ctx context.Context, params apiv12.GetV12SmbShareParams) (*openapi.V12SmbSharesExtended, error)

GetSmbShareWithStructParams return the specific smb share with params

func (*Client) GetSnapshot

func (c *Client) GetSnapshot(
	ctx context.Context, id int64, name string,
) (Snapshot, error)

GetSnapshot returns a snapshot matching id, or if that is not found, matching name

func (*Client) GetSnapshotFolderSize

func (c *Client) GetSnapshotFolderSize(ctx context.Context,
	isiPath, name string, accessZone string,
) (int64, error)

GetSnapshotFolderSize returns the total size of a snapshot folder

func (*Client) GetSnapshotIsiPath added in v1.3.0

func (c *Client) GetSnapshotIsiPath(
	ctx context.Context,
	isiPath, snapshotId string, accessZone string,
) (string, error)

GetSnapshotIsiPath returns the snapshot directory path

func (*Client) GetSnapshots

func (c *Client) GetSnapshots(ctx context.Context) (SnapshotList, error)

GetSnapshots returns a list of snapshots from the cluster.

func (*Client) GetSnapshotsByPath

func (c *Client) GetSnapshotsByPath(
	ctx context.Context, path string,
) (SnapshotList, error)

GetSnapshotsByPath returns a list of snapshots covering the supplied path.

func (*Client) GetStatistics

func (c *Client) GetStatistics(
	ctx context.Context,
	keys []string,
) (Stats, error)

GetStatistics returns statistics from Isilon. Keys indicate type of statistics expected

func (*Client) GetTargetPolicyByName added in v1.7.0

func (c *Client) GetTargetPolicyByName(ctx context.Context, id string) (TargetPolicy, error)

func (*Client) GetUserByNameOrUID added in v1.14.0

func (c *Client) GetUserByNameOrUID(ctx context.Context, name *string, uid *int32) (User, error)

GetUserByNameOrUID returns a specific user by user name or uid.

func (*Client) GetUsersWithFilter added in v1.14.0

func (c *Client) GetUsersWithFilter(ctx context.Context,
	queryNamePrefix, queryDomain, queryZone, queryProvider *string,
	queryCached, queryResolveNames, queryMemberOf *bool,
	queryLimit *int32,
) (UserList, error)

GetUsersWithFilter returns users on the cluster with Optional filter: namePrefix, domain, zone, provider, cached, resolveNames, memberOf, zone and limit.

func (*Client) GetVolume

func (c *Client) GetVolume(
	ctx context.Context, id, name string,
) (Volume, error)

GetVolume returns a specific volume by name or ID

func (*Client) GetVolumeACL

func (c *Client) GetVolumeACL(
	ctx context.Context,
	volumeName string,
) (ACL, error)

GetVolumeACL returns the ACL for a volume.

func (*Client) GetVolumeExportMap

func (c *Client) GetVolumeExportMap(
	ctx context.Context,
	includeRootClients bool,
) (map[Volume]Export, error)

GetVolumeExportMap returns a map that relates Volumes to their corresponding Exports. This function uses an Export's "clients" property to define the relationship. The flag "includeRootClients" can be set to "true" in order to also inspect the "root_clients" property of an Export when determining the Volume-to-Export relationship.

func (*Client) GetVolumeSize

func (c *Client) GetVolumeSize(ctx context.Context,
	isiPath, name string,
) (int64, error)

GetVolumeSize returns the total size of a snapshot folder

func (*Client) GetVolumeWithIsiPath

func (c *Client) GetVolumeWithIsiPath(
	ctx context.Context, isiPath, id, name string,
) (Volume, error)

GetVolumeWithIsiPath returns a specific volume by name or ID with isiPath

func (*Client) GetVolumes

func (c *Client) GetVolumes(ctx context.Context) ([]Volume, error)

GetVolumes returns a list of volumes

func (*Client) GetZoneByName

func (c *Client) GetZoneByName(ctx context.Context, name string) (*apiv1.IsiZone, error)

GetZoneByName returns a specific access zone which matched the name

func (*Client) IsExported

func (c *Client) IsExported(
	ctx context.Context, name string,
) (bool, int, error)

IsExported returns a flag and export ID if the provided volume name is already exported.

func (*Client) IsExportedWithZone

func (c *Client) IsExportedWithZone(
	ctx context.Context, name, zone string,
) (bool, int, error)

IsExportedWithZone returns a flag and export ID if the provided volume name in the specified zone isalready exported.

func (*Client) IsIOInProgress added in v1.8.0

func (c *Client) IsIOInProgress(
	ctx context.Context,
) (Clients, error)

IsIOinProgress checks whether a volume on a node has IO in progress

func (*Client) IsQuotaLicenseActivated

func (c *Client) IsQuotaLicenseActivated(ctx context.Context) (bool, error)

IsQuotaLicenseActivated checks if SmartQuotas has been activated (either licensed or in evaluation)

func (*Client) IsRoleMemberOf added in v1.14.0

func (c *Client) IsRoleMemberOf(ctx context.Context, roleID string, member api.IsiAuthMemberItem) (bool, error)

IsMemberOf checks if the Uer/Group is member of role.

func (*Client) IsSnapshotExistent

func (c *Client) IsSnapshotExistent(
	ctx context.Context, identity string,
) bool

IsSnapshotExistent checks if a snapshot already exists param identity string: name or id

func (*Client) IsVolumeExistent

func (c *Client) IsVolumeExistent(
	ctx context.Context, id, name string,
) bool

IsVolumeExistent checks whether a volume already exists

func (*Client) IsVolumeExistentWithIsiPath

func (c *Client) IsVolumeExistentWithIsiPath(
	ctx context.Context, isiPath, id, name string,
) bool

IsVolumeExistentWithIsiPath checks whether a volume already exists with isiPath

func (*Client) ListALlSmbSharesWithStructParams added in v1.14.0

func (c *Client) ListALlSmbSharesWithStructParams(ctx context.Context, params apiv12.ListV12SmbSharesParams) ([]openapi.V12SmbShareExtended, error)

ListALlSmbSharesWithStructParams returns all the smb shares with params

func (*Client) ListAllExportsWithStructParams added in v1.14.0

func (c *Client) ListAllExportsWithStructParams(ctx context.Context, params apiv4.ListV4NfsExportsParams) ([]openapi.V2NfsExportExtended, error)

ListAllExportsWithStructParams lists all the exports with parameters

func (*Client) ListExportsWithStructParams added in v1.14.0

func (c *Client) ListExportsWithStructParams(ctx context.Context, params apiv4.ListV4NfsExportsParams) (*openapi.V2NfsExports, error)

ListExportsWithStructParams lists all the exports with parameters

func (*Client) ListSmbSharesWithStructParams added in v1.14.0

func (c *Client) ListSmbSharesWithStructParams(ctx context.Context, params apiv12.ListV12SmbSharesParams) (*openapi.V12SmbShares, error)

ListSmbSharesWithStructParams returns the smb shares with params

func (*Client) ModifyPolicy added in v1.11.0

func (c *Client) ModifyPolicy(ctx context.Context, name string, schedule string, rpo int) error

Modifies the policy schedule and job delay. scdeule - can be either empty string (manual) or when-source-modified rpo - can be 0 (manual) or in seconds (when-source-modified)

func (*Client) QueryVolumeChildren

func (c *Client) QueryVolumeChildren(
	ctx context.Context, name string,
) (VolumeChildrenMap, error)

QueryVolumeChildren retrieves a list of all of a volume's descendent files and directories.

func (*Client) RemoveExportClientsByID

func (c *Client) RemoveExportClientsByID(
	ctx context.Context, id int, clientsToRemove []string, ignoreUnresolvableHosts bool,
) error

RemoveExportClientsByID removes the given clients from the Export's clients/read_only_clients/read_write_clients properties.

func (*Client) RemoveExportClientsByIDWithZone

func (c *Client) RemoveExportClientsByIDWithZone(
	ctx context.Context, id int, zone string, clientsToRemove []string, ignoreUnresolvableHosts bool,
) error

RemoveExportClientsByIDWithZone removes the given clients from the Export's clients/read_only_clients/read_write_clients properties in a specified access zone.

func (*Client) RemoveExportClientsByName

func (c *Client) RemoveExportClientsByName(
	ctx context.Context, name string, clientsToRemove []string, ignoreUnresolvableHosts bool,
) error

RemoveExportClientsByName removes the given clients from the Export's clients/read_only_clients/read_write_clients properties.

func (*Client) RemoveExportClientsWithPathAndZone

func (c *Client) RemoveExportClientsWithPathAndZone(
	ctx context.Context, path, zone string, clientsToRemove []string, ignoreUnresolvableHosts bool,
) error

RemoveExportClientsWithPathAndZone removes the given clients from the Export's clients/read_only_clients/read_write_clients/root_clients properties with export path and access zone.

func (*Client) RemoveGroupMember added in v1.14.0

func (c *Client) RemoveGroupMember(ctx context.Context, name *string, gid *int32, member api.IsiAuthMemberItem) error

RemoveGroupMember removes a member from a specific group, Required: groupName/gid, member, member can be a user or group.

func (*Client) RemoveRoleMember added in v1.14.0

func (c *Client) RemoveRoleMember(ctx context.Context, roleID string, member api.IsiAuthMemberItem) error

AddRoleMember removes a member from a specific role, Required: roleId, memberType, and memberName/memberId memberType can be user/group.

func (*Client) RemoveSnapshot

func (c *Client) RemoveSnapshot(
	ctx context.Context, id int64, name string,
) error

RemoveSnapshot removes the snapshot by id, or failing that, the snapshot matching name.

func (*Client) ResetPolicy added in v1.7.0

func (c *Client) ResetPolicy(ctx context.Context, name string) error

func (*Client) ResolvePolicy added in v1.11.1

func (c *Client) ResolvePolicy(ctx context.Context, name string) error

Resolves the policy that is in error state due to QuotaScan requirement.

func (*Client) ResyncPrep added in v1.7.0

func (c *Client) ResyncPrep(ctx context.Context, policyName string) error

func (*Client) RunActionForPolicy added in v1.7.0

func (c *Client) RunActionForPolicy(ctx context.Context, policyName string, action apiv11.JOB_ACTION) (*apiv11.Job, error)

func (*Client) SetExportClients

func (c *Client) SetExportClients(
	ctx context.Context, name string, clients ...string,
) error

SetExportClients sets the Export's clients property.

func (*Client) SetExportClientsByID

func (c *Client) SetExportClientsByID(
	ctx context.Context, id int, clients ...string,
) error

SetExportClientsByID sets the Export's clients property.

func (*Client) SetExportClientsByIDWithZone

func (c *Client) SetExportClientsByIDWithZone(
	ctx context.Context, id int, zone string, ignoreUnresolvableHosts bool, clients ...string,
) error

SetExportClientsByIDWithZone sets the Export's clients with access zone property.

func (*Client) SetExportRootClients

func (c *Client) SetExportRootClients(
	ctx context.Context, name string, clients ...string,
) error

SetExportRootClients sets the Export's root_clients property.

func (*Client) SetExportRootClientsByID

func (c *Client) SetExportRootClientsByID(
	ctx context.Context, id int, clients ...string,
) error

SetExportRootClientsByID sets the Export's clients property.

func (*Client) SetPolicyEnabledField added in v1.7.0

func (c *Client) SetPolicyEnabledField(ctx context.Context, name string, value bool) error

func (*Client) SetQuotaSize

func (c *Client) SetQuotaSize(
	ctx context.Context, name string, size, softLimit, advisoryLimit, softGracePrd int64,
) (string, error)

SetQuotaSize sets the max size (hard threshold) of a quota for a volume

func (*Client) SetVolumeMode

func (c *Client) SetVolumeMode(
	ctx context.Context,
	volumeName string, mode int,
) error

SetVolumeMode sets the permissions to the specified mode (chmod)

func (*Client) SetVolumeOwner

func (c *Client) SetVolumeOwner(
	ctx context.Context,
	volumeName, userName string,
) error

SetVolumeOwner sets the owner for a volume.

func (*Client) SetVolumeOwnerToCurrentUser

func (c *Client) SetVolumeOwnerToCurrentUser(
	ctx context.Context,
	volumeName string,
) error

SetVolumeOwnerToCurrentUser sets the owner for a volume to the user that was used to connect to the API.

func (*Client) StartSyncIQJob added in v1.7.0

func (c *Client) StartSyncIQJob(ctx context.Context, job *apiv11.JobRequest) (*apiv11.Job, error)

func (*Client) SyncPolicy added in v1.7.0

func (c *Client) SyncPolicy(ctx context.Context, policyName string) error

func (*Client) Unexport

func (c *Client) Unexport(
	ctx context.Context, name string,
) error

Unexport stops exporting a given volume from the cluster.

func (*Client) UnexportByID

func (c *Client) UnexportByID(
	ctx context.Context, id int,
) error

UnexportByID unexports an Export by its ID.

func (*Client) UnexportByIDWithZone

func (c *Client) UnexportByIDWithZone(
	ctx context.Context, id int, zone string,
) error

UnexportByIDWithZone unexports an Export by its ID and zone.

func (*Client) UnexportVolume

func (c *Client) UnexportVolume(
	ctx context.Context, name string,
) error

UnexportVolume stops exporting a volume

func (*Client) UnexportWithZone

func (c *Client) UnexportWithZone(
	ctx context.Context, name, zone string,
) error

UnexportWithZone stops exporting a given volume in the given from the cluster.

func (*Client) UpdateExportWithStructParams added in v1.14.0

func (c *Client) UpdateExportWithStructParams(ctx context.Context, params apiv4.UpdateV4NfsExportRequest) error

UpdateExportWithStructParams update export with parameters

func (*Client) UpdateIsiGroupGIDByNameOrUID added in v1.14.0

func (c *Client) UpdateIsiGroupGIDByNameOrUID(
	ctx context.Context, name *string, gid *int32, newGid int32, queryZone, queryProvider *string,
) error

UpdateIsiGroupGIDByNameOrUID modifies a specific group's gid by group name or gid with Required: newGid, Optional filter: zone and provider.

func (*Client) UpdateQuotaSize

func (c *Client) UpdateQuotaSize(
	ctx context.Context, name string, size, softLimit, advisoryLimit, softGracePrd int64,
) error

UpdateQuotaSize modifies the max size (hard threshold) of a quota for a volume

func (*Client) UpdateQuotaSizeByID added in v1.2.0

func (c *Client) UpdateQuotaSizeByID(
	ctx context.Context, ID string, size, softLimit, advisoryLimit, softGracePrd int64,
) error

UpdateQuotaSizeByID modifies the max size (hard threshold) of a quota for a volume

func (*Client) UpdateSmbShareWithStructParams added in v1.14.0

func (c *Client) UpdateSmbShareWithStructParams(ctx context.Context, params apiv12.UpdateV12SmbShareRequest) error

UpdateSmbShareWithStructParams updates a smb share with params

func (*Client) UpdateUserByNameOrUID added in v1.14.0

func (c *Client) UpdateUserByNameOrUID(
	ctx context.Context, name *string, uid *int32,
	queryForce *bool, queryZone, queryProvider *string,
	email, homeDirectory, password, fullName, shell, primaryGroupName *string,
	newUid, primaryGroupId, expiry *int32, enabled, passwordExpires, promptPasswordChange, unlock *bool,
) error

UpdateUserByName modifies a specific user by user name or uid with Optional filter: force, zone and provider, Optional configuration: email, homeDirectory, password, primaryGroupName, fullName, shell newUid, primaryGroupId, expiry, enabled, passwordExpires, promptPasswordChange and unlock.

func (*Client) WaitForNoActiveJobs added in v1.7.0

func (c *Client) WaitForNoActiveJobs(ctx context.Context, policyName string) error

func (*Client) WaitForPolicyEnabledFieldCondition added in v1.7.0

func (c *Client) WaitForPolicyEnabledFieldCondition(ctx context.Context, policyName string, enabled bool) error

func (*Client) WaitForPolicyLastJobState added in v1.7.0

func (c *Client) WaitForPolicyLastJobState(ctx context.Context, policyName string, state apiv11.JOB_STATE) error

func (*Client) WaitForTargetPolicyCondition added in v1.7.0

func (c *Client) WaitForTargetPolicyCondition(ctx context.Context, policyName string, condition apiv11.FAILOVER_FAILBACK_STATE) error

type Clients added in v1.8.0

type Clients *apiv3.ExportClientList

Stats is Isilon statistics data structure .

type ClusterAcs added in v1.14.0

type ClusterAcs *apiv14.IsiClusterAcs

ClusterConfig represents the configuration of cluster in k8s (namespace API).

type ClusterConfig

type ClusterConfig *apiv3.IsiClusterConfig

ClusterConfig represents the configuration of cluster in k8s (namespace API).

type ClusterIdentity added in v1.14.0

type ClusterIdentity *apiv3.IsiClusterIdentity

ClusterConfig represents the configuration of cluster in k8s (namespace API).

type ClusterInternalNetworks added in v1.14.0

type ClusterInternalNetworks *apiv7.IsiClusterInternalNetworks

ClusterConfig represents the configuration of cluster in k8s (namespace API).

type ClusterNodes added in v1.14.0

type ClusterNodes *apiv3.IsiClusterNodes

ClusterConfig represents the configuration of cluster in k8s (namespace API).

type Export

type Export *apiv2.Export

Export is an Isilon Export

type ExportList

type ExportList []*apiv2.Export

ExportList is a list of Isilon Exports.

type Exports

type Exports *apiv2.Exports

Exports is the whole struct of return JSON from the exports REST API

type FloatStats added in v1.9.0

type FloatStats *apiv3.IsiFloatStatsResp

Stats is Isilon statistics data structure .

type Group added in v1.14.0

type Group *api.IsiGroup

Group maps to an Isilon Group.

type GroupList added in v1.14.0

type GroupList []*api.IsiGroup

GroupList maps to a set of groups.

type GroupMemberList added in v1.14.0

type GroupMemberList []*api.IsiAccessItemFileGroup

GroupMemberList maps to a set of group members.

type Policy added in v1.7.0

type Policy *apiv11.Policy

Policy is an Isilon Policy

type Quota

type Quota *api.IsiQuota

Quota maps to an Isilon filesystem quota.

type QuotaList added in v1.9.0

type QuotaList []*api.IsiQuota

QuotaList maps to a set of quotas

type QuotaResp added in v1.9.0

type QuotaResp *api.IsiQuotaListRespResume

QuotaResp returns a quota response with resume field

type Role added in v1.14.0

type Role *api.IsiRole

User maps to an Isilon Role.

type RoleList added in v1.14.0

type RoleList []*api.IsiRole

UserList maps to a set of roles.

type Snapshot

type Snapshot *api.IsiSnapshot

Snapshot represents an Isilon snapshot.

type SnapshotList

type SnapshotList []*api.IsiSnapshot

SnapshotList represents a list of Isilon snapshots.

type Stats

type Stats *apiv3.IsiStatsResp

Stats is Isilon statistics data structure .

type TargetPolicy added in v1.7.0

type TargetPolicy *apiv11.TargetPolicy

type User added in v1.14.0

type User *api.IsiUser

User maps to an Isilon User.

type UserList added in v1.14.0

type UserList []*api.IsiUser

UserList maps to a set of users

type UserMapping

type UserMapping *apiv2.UserMapping

UserMapping maps to the ISI <user-mapping> type.

type Volume

type Volume *apiv1.IsiVolume

Volume represents an Isilon Volume (namespace API).

type VolumeChildren

type VolumeChildren apiv2.ContainerChildList

VolumeChildren is a list of a container's children.

type VolumeChildrenMap

type VolumeChildrenMap map[string]*apiv2.ContainerChild

VolumeChildrenMap returns a map of all descendent children of a container, where the key is the path.

Directories

Path Synopsis
api
json
Package json implements encoding and decoding of JSON as defined in RFC 4627.
Package json implements encoding and decoding of JSON as defined in RFC 4627.
v1
v11
v12
v14
v2
v3
v4
v5
v7

Jump to

Keyboard shortcuts

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