dsdk

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2021 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProviderAWS    = "AWS S3"
	ProviderGoogle = "Google Cloud"
	ProviderS3     = "S3 Object Store"
)
View Source
const (
	VERSION         = "1.1.5"
	VERSION_HISTORY = `` /* 334-byte string literal not displayed */

)
View Source
const (

	// SDK users can provide a map[string]interface{} with this key to those as additional
	// key/values in the logs
	UserLogFieldsCtxKey = ContextKey("user_log_fields")
)

Variables

View Source
var (
	RetryTimeout           = int64(300)
	ErrRetryTimeout        = errors.New("timeout reached before request completed successfully during retries")
	InvalidRequest         = 400
	PermissionDenied       = 401
	Retry503               = 503
	ConnectionError        = 9998
	RetryRequestAfterLogin = 9999

	DateraDriver = fmt.Sprintf("Golang-SDK-%s", VERSION)
)
View Source
var (
	EndLogging = make(chan bool)
)

Functions

func DecorateRuntimeContext

func DecorateRuntimeContext(logger *log.Entry) *log.Entry

func FillStruct

func FillStruct(m map[string]interface{}, s interface{}) error

func Log

func Log() *log.Entry

func NewUUID

func NewUUID() (string, error)

NewUUID generates a random UUID according to RFC 4122

func Pretty

func Pretty(i interface{}) string

func RegisterAppInstanceEndpoints

func RegisterAppInstanceEndpoints(a *AppInstance)

func RegisterAppTemplateEndpoints

func RegisterAppTemplateEndpoints(a *AppTemplate)

func RegisterRemoteProviderEndpoints

func RegisterRemoteProviderEndpoints(rp *RemoteProvider)

func RegisterStorageInstanceEndpoints

func RegisterStorageInstanceEndpoints(a *StorageInstance)

func RegisterStorageNodeEndpoints

func RegisterStorageNodeEndpoints(a *StorageNode)

func RegisterStorageTemplateEndpoints

func RegisterStorageTemplateEndpoints(a *StorageTemplate)

func RegisterSystemEndpoints

func RegisterSystemEndpoints(a *System)

func RegisterVolumeEndpoints

func RegisterVolumeEndpoints(a *Volume)

func RegisterVolumeTemplateEndpoints

func RegisterVolumeTemplateEndpoints(a *VolumeTemplate)

func RunCmd

func RunCmd(cmd ...string) (string, error)

func WithUserFields added in v1.4.0

func WithUserFields(ctx context.Context, l *log.Entry) *log.Entry

Types

type Access

type Access struct {
	Path string   `json:"path,omitempty" mapstructure:"path"`
	Ips  []string `json:"ips,omitempty" mapstructure:"ips"`
	Iqn  string   `json:"iqn,omitempty" mapstructure:"iqn"`
}

type AccessNetworkIpPool

type AccessNetworkIpPool struct {
	Path         string        `json:"path,omitempty" mapstructure:"path"`
	Name         string        `json:"name,omitempty" mapstructure:"name"`
	NetworkPaths []interface{} `json:"network_paths,omitempty" mapstructure:"network_paths"`
	Descr        string        `json:"descr,omitempty" mapstructure:"descr"`
}

type AccessNetworkIpPoolDeleteRequest

type AccessNetworkIpPoolDeleteRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"id,omitempty" mapstructure:"id"`
}

type AccessNetworkIpPoolSetRequest

type AccessNetworkIpPoolSetRequest struct {
	Ctxt    context.Context `json:"-"`
	Members []Initiator     `json:"members,omitempty" mapstructure:"members"`
}

type AccessNetworkIpPools

type AccessNetworkIpPools struct {
	Path string
}

func (*AccessNetworkIpPools) List

type AccessNetworkIpPoolsCreateRequest

type AccessNetworkIpPoolsCreateRequest struct {
	Ctxt  context.Context `json:"-"`
	Id    string          `json:"id,omitempty" mapstructure:"id"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type AccessNetworkIpPoolsGetRequest

type AccessNetworkIpPoolsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type AccessNetworkIpPoolsListRequest

type AccessNetworkIpPoolsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type AclPolicy

type AclPolicy struct {
	Path            string             `json:"path,omitempty" mapstructure:"path"`
	Initiators      []*Initiator       `json:"initiators,omitempty" mapstructure:"initiators"`
	InitiatorGroups []*InitiatorGroups `json:"initiator_groups,omitempty" mapstructure:"initiator_groups"`
}

func (*AclPolicy) Get

func (*AclPolicy) Reload

func (*AclPolicy) Set

type AclPolicyGetRequest

type AclPolicyGetRequest struct {
	Ctxt context.Context `json:"-"`
}

type AclPolicyReloadRequest

type AclPolicyReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type AclPolicySetRequest

type AclPolicySetRequest struct {
	Ctxt            context.Context    `json:"-"`
	Initiators      []*Initiator       `json:"initiators,omitempty" mapstructure:"initiators"`
	InitiatorGroups []*InitiatorGroups `json:"initiator_groups,omitempty" mapstructure:"initiator_groups"`
}

type ApiConnection

type ApiConnection struct {
	// contains filtered or unexported fields
}

func GetConn

func GetConn(ctxt context.Context) *ApiConnection

func NewApiConnection

func NewApiConnection(c *udc.UDC, secure bool) *ApiConnection

func NewApiConnectionWithHTTPClient added in v1.2.0

func NewApiConnectionWithHTTPClient(c *udc.UDC, secure bool, client *http.Client) *ApiConnection

func (*ApiConnection) ApiVersions

func (c *ApiConnection) ApiVersions() []string

func (*ApiConnection) Delete

func (*ApiConnection) Get

func (*ApiConnection) GetList

func (*ApiConnection) Login

func (c *ApiConnection) Login(ctxt context.Context) (*ApiErrorResponse, error)

func (*ApiConnection) Logout added in v1.2.2

func (c *ApiConnection) Logout()

func (*ApiConnection) Post

func (*ApiConnection) Put

type ApiErrorResponse

type ApiErrorResponse struct {
	Name         string            `json:"name,omitempty"`
	Code         int               `json:"code,omitempty"`
	Http         int               `json:"http,omitempty"`
	Message      string            `json:"message,omitempty"`
	Ts           string            `json:"ts,omitempty"`
	Version      string            `json:"version,omitempty"`
	Op           string            `json:"op,omitempty"`
	Tenant       string            `json:"tenant,omitempty"`
	Path         string            `json:"path,omitempty"`
	Params       map[string]string `json:"params,omitempty"`
	ConnInfo     map[string]string `json:"connInfo,omitempty"`
	ClientId     string            `json:"client_id,omitempty"`
	ClientType   string            `json:"client_type,omitempty"`
	Id           int               `json:"api_req_id,omitempty"`
	TenancyClass string            `json:"tenancy_class,omitempty"`
	Errors       []string          `json:"errors,omitempty"`
}

type ApiListOuter

type ApiListOuter struct {
	Data     []interface{}          `json:"data,omitempty"`
	Version  string                 `json:"version,omitempty"`
	Metadata map[string]interface{} `json:"metadata,omitempty"`
	ReqTime  int                    `json:"request_time,omitempty"`
	Tenant   string                 `json:"tenant,omitempty"`
	Path     string                 `json:"path,omitempty"`
}

type ApiLogin

type ApiLogin struct {
	Key     string `json:"key,omitempty,omitempty"`
	Version string `json:"version,omitempty,omitempty"`
	ReqTime int    `json:"request_time,omitempty,omitempty"`
}

type ApiOuter

type ApiOuter struct {
	Data     map[string]interface{} `json:"data,omitempty"`
	Version  string                 `json:"version,omitempty"`
	Metadata map[string]interface{} `json:"metadata,omitempty"`
	ReqTime  int                    `json:"request_time,omitempty"`
	Tenant   string                 `json:"tenant,omitempty"`
	Path     string                 `json:"path,omitempty"`
}

type ApiVersions

type ApiVersions struct {
	ApiVersions []string `json:"api_versions"`
}

type AppInstance

type AppInstance struct {
	AccessControlMode       string                  `json:"access_control_mode,omitempty" mapstructure:"access_control_mode"`
	AdminState              string                  `json:"admin_state,omitempty" mapstructure:"admin_state"`
	AppTemplate             *AppInstanceAppTemplate `json:"app_template,omitempty" mapstructure:"app_template"`
	Causes                  []string                `json:"causes,omitempty" mapstructure:"causes"`
	CloneSrc                *AppInstance            `json:"clone_src,omitempty" mapstructure:"clone_src"`
	CreateMode              string                  `json:"create_mode,omitempty" mapstructure:"create_mode"`
	DeploymentState         string                  `json:"deployment_state,omitempty" mapstructure:"deployment_state"`
	Descr                   string                  `json:"descr,omitempty" mapstructure:"descr"`
	Health                  string                  `json:"health,omitempty" mapstructure:"health"`
	Id                      string                  `json:"id,omitempty" mapstructure:"id"`
	Name                    string                  `json:"name,omitempty" mapstructure:"name"`
	OpState                 string                  `json:"op_state,omitempty" mapstructure:"op_state"`
	OperationPath           string                  `json:"operation_path,omitempty" mapstructure:"operation_path"`
	Path                    string                  `json:"path,omitempty" mapstructure:"path"`
	RemoteRestorePercentage int                     `json:"remote_restore_percentage,omitempty" mapstructure:"remote_restore_percentage"`
	RemoteRestoreProgress   string                  `json:"remote_restore_progress,omitempty" mapstructure:"remote_restore_progress"`
	RepairPriority          string                  `json:"repair_priority,omitempty" mapstructure:"repair_priority"`
	RestorePoint            string                  `json:"restore_point,omitempty" mapstructure:"restore_point"`
	RestoreProgress         string                  `json:"restore_progress,omitempty" mapstructure:"restore_progress"`
	SnapshotPolicies        []*SnapshotPolicy       `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	Snapshots               []*Snapshot             `json:"snapshots,omitempty" mapstructure:"snapshots"`
	StorageInstances        []*StorageInstance      `json:"storage_instances,omitempty" mapstructure:"storage_instances"`
	StoragePool             []*StoragePool          `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
	TemplateOverride        map[string]interface{}  `json:"template_override,omitempty" mapstructure:"template_override"`
	Uuid                    string                  `json:"uuid,omitempty" mapstructure:"uuid"`
	StorageInstancesEp      *StorageInstances       `json:"-"`
	SnapshotsEp             *Snapshots              `json:"-"`
}

func (*AppInstance) Delete

func (*AppInstance) Reload

func (*AppInstance) Set

type AppInstanceAppTemplate

type AppInstanceAppTemplate struct {
	Path           string `json:"path,omitempty" mapstructure:"path"`
	ResolvedPath   string `json:"resolved_path,omitempty" mapstructure:"resolved_path"`
	ResolvedTenant string `json:"resolved_tenant,omitempty" mapstructure:"resolved_tenant"`
}

type AppInstanceDeleteRequest

type AppInstanceDeleteRequest struct {
	Ctxt  context.Context `json:"-"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type AppInstanceMetadata

type AppInstanceMetadata map[string]string

type AppInstanceMetadataGetRequest

type AppInstanceMetadataGetRequest struct {
	Ctxt context.Context `json:"-"`
}

type AppInstanceMetadataSetRequest

type AppInstanceMetadataSetRequest struct {
	Ctxt     context.Context `json:"-"`
	Metadata map[string]string
}

type AppInstanceReloadRequest

type AppInstanceReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type AppInstanceSetRequest

type AppInstanceSetRequest struct {
	Ctxt               context.Context    `json:"-"`
	AdminState         string             `json:"admin_state,omitempty" mapstructure:"admin_state"`
	Descr              string             `json:"descr,omitempty" mapstructure:"descr"`
	Force              bool               `json:"force,omitempty" mapstructure:"force"`
	Name               string             `json:"name,omitempty" mapstructure:"name"`
	Provisioned        string             `json:"provisioned,omitempty" mapstructure:"provisioned"`
	RemoteProvider     string             `json:"remote_provider,omitempty" mapstructure:"remote_provider"`
	RemoteRestorePoint string             `json:"remote_restore_point,omitempty" mapstructure:"remote_restore_point"`
	RepairPriority     string             `json:"repair_priority,omitempty" mapstructure:"repair_priority"`
	RestorePoint       string             `json:"restore_point,omitempty" mapstructure:"restore_point"`
	SnapshotPolicies   []*SnapshotPolicy  `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	StorageInstances   []*StorageInstance `json:"storage_instances,omitempty" mapstructure:"storage_instances"`
	StoragePool        []*StoragePool     `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
}

type AppInstances

type AppInstances struct {
	Path string
}

func (*AppInstances) Create

func (*AppInstances) Get

func (*AppInstances) List

type AppInstancesCreateRequest

type AppInstancesCreateRequest struct {
	Ctxt             context.Context         `json:"-"`
	AppTemplate      *AppInstanceAppTemplate `json:"app_template,omitempty" mapstructure:"app_template"`
	CloneSnapshotSrc *Snapshot               `json:"clone_snapshot_src,omitempty" mapstructure:"clone_snapshot_src"`
	CloneVolumeSrc   *Volume                 `json:"clone_volume_src,omitempty" mapstructure:"clone_volume_src"`
	CloneSrc         *AppInstance            `json:"clone_src,omitempty" mapstructure:"clone_src"`
	CreateMode       string                  `json:"create_mode,omitempty" mapstructure:"create_mode"`
	Descr            string                  `json:"descr,omitempty" mapstructure:"descr"`
	Name             string                  `json:"name,omitempty" mapstructure:"name"`
	RepairPriority   string                  `json:"repair_priority,omitempty" mapstructure:"repair_priority"`
	SnapshotPolicies []*SnapshotPolicy       `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	StorageInstances []*StorageInstance      `json:"storage_instances,omitempty" mapstructure:"storage_instances"`
	StoragePool      []*StoragePool          `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
	TemplateOverride map[string]interface{}  `json:"template_override,omitempty" mapstructure:"template_override"`
}

type AppInstancesGetRequest

type AppInstancesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type AppInstancesListRequest

type AppInstancesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type AppTemplate

type AppTemplate struct {
	Path               string             `json:"path,omitempty" mapstructure:"path"`
	AppInstances       []*AppInstance     `json:"app_instances,omitempty" mapstructure:"app_instances"`
	Name               string             `json:"name,omitempty" mapstructure:"name"`
	Descr              string             `json:"descr,omitempty" mapstructure:"descr"`
	SnapshotPolicies   []*SnapshotPolicy  `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	StorageTemplates   []*StorageTemplate `json:"storage_templates,omitempty" mapstructure:"storage_templates"`
	StorageTemplatesEp *StorageTemplates  `json:"-"`
}

func (*AppTemplate) Delete

func (*AppTemplate) Set

type AppTemplateDeleteRequest

type AppTemplateDeleteRequest struct {
	Ctxt  context.Context `json:"-"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type AppTemplateSetRequest

type AppTemplateSetRequest struct {
	Ctxt             context.Context    `json:"-"`
	Descr            string             `json:"descr,omitempty" mapstructure:"descr"`
	SnapshotPolicies []*SnapshotPolicy  `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	StorageTemplates []*StorageTemplate `json:"storage_templates,omitempty" mapstructure:"storage_templates"`
}

type AppTemplates

type AppTemplates struct {
	Path string
}

func (*AppTemplates) Create

func (*AppTemplates) Get

func (*AppTemplates) List

type AppTemplatesCreateRequest

type AppTemplatesCreateRequest struct {
	Ctxt             context.Context    `json:"-"`
	CopyFrom         *AppTemplate       `json:"copy_from,omitempty" mapstructure:"copy_from"`
	Name             string             `json:"name,omitempty" mapstructure:"name"`
	Descr            string             `json:"descr,omitempty" mapstructure:"descr"`
	SnapshotPolicies []*SnapshotPolicy  `json:"snapshot_policies,omitempty" mapstructure:"snapshot_policies"`
	StorageTemplates []*StorageTemplate `json:"storage_templates,omitempty" mapstructure:"storage_templates"`
}

type AppTemplatesGetRequest

type AppTemplatesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type AppTemplatesListRequest

type AppTemplatesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type Auth

type Auth struct {
	Path              string `json:"path,omitempty" mapstructure:"path"`
	Type              string `json:"type,omitempty" mapstructure:"type"`
	InitiatorUserName string `json:"initiator_user_name,omitempty" mapstructure:"initiator_user_name"`
	InitiatorPassword string `json:"initiator_pswd,omitempty" mapstructure:"initiator_pswd"`
	TargetUserName    string `json:"target_user_name,omitempty" mapstructure:"target_user_name"`
	TargetPassword    string `json:"target_pswd,omitempty" mapstructure:"target_pswd"`
	AccessKey         string `json:"access_key,omitempty" mapstructure:"access_key"`
	SecretKey         string `json:"secret_key,omitempty" mapstructure:"secret_key"`
}

type BootDrive

type BootDrive struct {
	Path      string   `json:"path,omitempty" mapstructure:"path"`
	Causes    []string `json:"causes,omitempty" mapstructure:"causes"`
	Health    string   `json:"health,omitempty" mapstructure:"health"`
	Id        string   `json:"id,omitempty" mapstructure:"id"`
	OpState   string   `json:"op_state,omitempty" mapstructure:"op_state"`
	Size      int      `json:"size,omitempty" mapstructure:"size"`
	SlotLabel string   `json:"slot_label,omitempty" mapstructure:"slot_label"`
}

type BootDrives

type BootDrives struct {
	Path string
}

func (*BootDrives) Get

func (*BootDrives) List

type BootDrivesGetRequest

type BootDrivesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type BootDrivesListRequest

type BootDrivesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type ContextKey added in v1.4.0

type ContextKey string

type Dns

type Dns struct{}

type FailureDomain

type FailureDomain struct {
	Path         string        `json:"path,omitempty" mapstructure:"path"`
	Name         string        `json:"name,omitempty" mapstructure:"name"`
	StorageNodes []StorageNode `json:"storage_nodes,omitempty" mapstructure:"storage_nodes"`
}

func (*FailureDomain) Delete

func (*FailureDomain) Set

type FailureDomainDeleteRequest

type FailureDomainDeleteRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"id,omitempty" mapstructure:"id"`
}

type FailureDomainSetRequest

type FailureDomainSetRequest struct {
	Ctxt         context.Context `json:"-"`
	StorageNodes []StorageNode   `json:"storage_nodes,omitempty" mapstructure:"storage_nodes"`
}

type FailureDomains

type FailureDomains struct {
	Path string
}

func (*FailureDomains) Create

func (*FailureDomains) Get

func (*FailureDomains) List

type FailureDomainsCreateRequest

type FailureDomainsCreateRequest struct {
	Ctxt         context.Context `json:"-"`
	Name         string          `json:"name,omitempty" mapstructure:"name"`
	StorageNodes []StorageNode   `json:"storage_nodes,omitempty" mapstructure:"storage_nodes"`
}

type FailureDomainsGetRequest

type FailureDomainsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type FailureDomainsListRequest

type FailureDomainsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type FlashDevice

type FlashDevice struct {
}

Stub

type HWMetric added in v1.2.0

type HWMetric string
const (
	CPUUsage HWMetric = "cpu_usage"
)

func (HWMetric) Validate added in v1.2.0

func (hw HWMetric) Validate() error

type HWMetrics added in v1.2.0

type HWMetrics struct {
	Path string
}

func (*HWMetrics) List added in v1.2.1

type HWMetricsRequest added in v1.2.0

type HWMetricsRequest struct {
	Ctxt   context.Context `json:"-"`
	Type   IOMetric        `json:"-"`
	Params MetricsParams   `json:"params,omitempty"`
}

type Hdd

type Hdd struct {
}

Stub

type HttpProxy

type HttpProxy struct{}

type IOMetric added in v1.2.0

type IOMetric string
const (
	Reads        IOMetric = "reads"
	Writes       IOMetric = "writes"
	BytesRead    IOMetric = "bytes_read"
	BytesWritten IOMetric = "bytes_written"
	IOPSRead     IOMetric = "iops_read"
	IOPSWrite    IOMetric = "iops_write"
	ThptRead     IOMetric = "thpt_read"
	ThptWrite    IOMetric = "thpt_write"
	LatAvgRead   IOMetric = "lat_avg_read"
	LatAvgWrite  IOMetric = "lat_avg_write"
	Lat50Read    IOMetric = "lat_50_read"
	Lat90Read    IOMetric = "lat_90_read"
	Lat100Read   IOMetric = "lat_100_read"
	Lat50Write   IOMetric = "lat_50_write"
	Lat90Write   IOMetric = "lat_90_write"
	Lat100Write  IOMetric = "lat_100_write"
)

func (IOMetric) Validate added in v1.2.0

func (io IOMetric) Validate() error

type IOMetrics added in v1.2.0

type IOMetrics struct {
	Path string
}

func (*IOMetrics) List added in v1.2.1

type IOMetricsRequest added in v1.2.0

type IOMetricsRequest struct {
	Ctxt   context.Context `json:"-"`
	Type   IOMetric        `json:"-"`
	Params MetricsParams   `json:"params,omitempty"`
}

type Initiator

type Initiator struct {
	Path   string `json:"path,omitempty" mapstructure:"path"`
	Id     string `json:"id,omitempty" mapstructure:"id"`
	Name   string `json:"name,omitempty" mapstructure:"name"`
	Tenant string `json:"tenant,omitempty" mapstructure:"tenant"`
}

func (*Initiator) Delete

func (*Initiator) Set

type InitiatorDeleteRequest

type InitiatorDeleteRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"id,omitempty" mapstructure:"id"`
}

type InitiatorGroup

type InitiatorGroup struct {
	Path    string      `json:"path,omitempty" mapstructure:"path"`
	Name    string      `json:"name,omitempty" mapstructure:"name"`
	Members []Initiator `json:"members,omitempty" mapstructure:"members"`
}

func (*InitiatorGroup) Delete

func (*InitiatorGroup) Set

type InitiatorGroupDeleteRequest

type InitiatorGroupDeleteRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"id,omitempty" mapstructure:"id"`
}

type InitiatorGroupSetRequest

type InitiatorGroupSetRequest struct {
	Ctxt    context.Context `json:"-"`
	Members []Initiator     `json:"members,omitempty" mapstructure:"members"`
}

type InitiatorGroups

type InitiatorGroups struct {
	Path string
}

func (*InitiatorGroups) Create

func (*InitiatorGroups) Get

func (*InitiatorGroups) List

type InitiatorGroupsCreateRequest

type InitiatorGroupsCreateRequest struct {
	Ctxt  context.Context `json:"-"`
	Id    string          `json:"id,omitempty" mapstructure:"id"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type InitiatorGroupsGetRequest

type InitiatorGroupsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type InitiatorGroupsListRequest

type InitiatorGroupsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type InitiatorSetRequest

type InitiatorSetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"name,omitempty" mapstructure:"name"`
}

type Initiators

type Initiators struct {
	Path string
}

func (*Initiators) Create

func (*Initiators) Get

func (*Initiators) List

type InitiatorsCreateRequest

type InitiatorsCreateRequest struct {
	Ctxt  context.Context `json:"-"`
	Id    string          `json:"id,omitempty" mapstructure:"id"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type InitiatorsGetRequest

type InitiatorsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type InitiatorsListRequest

type InitiatorsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type IntSet

type IntSet struct {
	// contains filtered or unexported fields
}

func NewIntSet

func NewIntSet(size int, d ...int) *IntSet

func (*IntSet) Add

func (s *IntSet) Add(ns int)

func (*IntSet) Contains

func (s *IntSet) Contains(ns int) bool

func (*IntSet) Delete

func (s *IntSet) Delete(ns int)

func (*IntSet) Difference

func (s *IntSet) Difference(ss *IntSet) *IntSet

func (*IntSet) Intersection

func (s *IntSet) Intersection(ss *IntSet) *IntSet

func (*IntSet) List

func (s *IntSet) List() []int

func (*IntSet) SymDifference

func (s *IntSet) SymDifference(ss *IntSet) *IntSet

func (*IntSet) Union

func (s *IntSet) Union(ss *IntSet) *IntSet

type ListParams

type ListParams struct {
	Filter string `json:"filter,omitempty" mapstructure:"filter"`
	Limit  int    `json:"limit,omitempty" mapstructure:"limit"`
	Sort   string `json:"sort,omitempty" mapstructure:"sort"`
	Offset int    `json:"offset,omitempty" mapstructure:"offset"`
}

func ListParamsFromMap

func ListParamsFromMap(m map[string]string) *ListParams

func (ListParams) ToMap

func (s ListParams) ToMap() map[string]string

type ListRangeParams

type ListRangeParams struct {
	Since  string `json:"since,omitempty" mapstructure:"since"`
	From   string `json:"from,omitempty" mapstructure:"from"`
	To     string `json:"to,omitempty" mapstructure:"to"`
	Filter string `json:"filter,omitempty" mapstructure:"filter"`
	Limit  int    `json:"limit,omitempty" mapstructure:"limit"`
	Sort   string `json:"sort,omitempty" mapstructure:"sort"`
	Offset int    `json:"offset,omitempty" mapstructure:"offset"`
}

func ListRangeParamsFromMap

func ListRangeParamsFromMap(m map[string]string) *ListRangeParams

func (ListRangeParams) ToMap

func (s ListRangeParams) ToMap() map[string]string

type LogFormatter

type LogFormatter struct {
}

func (*LogFormatter) Format

func (f *LogFormatter) Format(entry *log.Entry) ([]byte, error)

type LogsUpload

type LogsUpload struct {
	Path string `json:"path,omitempty"`
}

func (*LogsUpload) RotateUploadRemove

func (e *LogsUpload) RotateUploadRemove(ctxt context.Context, rule, rotated string) error

func (*LogsUpload) Upload

type LogsUploadRequest

type LogsUploadRequest struct {
	Ctxt  context.Context
	Files []string
}

type Metrics added in v1.2.0

type Metrics struct {
	EntityPath string  `json:"entity_path" mapstructure:"entity_path"`
	Tenant     string  `json:"tenant" mapstructure:"tenant"`
	Points     []Point `json:"points" mapstructure:"points"`
}

type MetricsParams added in v1.2.0

type MetricsParams struct {
	ListRangeParams
	Ival string
	UUID string
	Path string
}

func (MetricsParams) ToMap added in v1.2.0

func (mp MetricsParams) ToMap() map[string]string

type Network

type Network struct{}

type NetworkDevice

type NetworkDevice struct{}

type Nic

type Nic struct {
}

Stub

type NvmFlashDevice

type NvmFlashDevice struct {
}

Stub

type PerformancePolicy

type PerformancePolicy struct {
	Path              string `json:"path,omitempty" mapstructure:"path"`
	WriteIopsMax      int    `json:"write_iops_max,omitempty" mapstructure:"write_iops_max"`
	ReadIopsMax       int    `json:"read_iops_max,omitempty" mapstructure:"read_iops_max"`
	TotalIopsMax      int    `json:"total_iops_max,omitempty" mapstructure:"total_iops_max"`
	WriteBandwidthMax int    `json:"write_bandwidth_max,omitempty" mapstructure:"write_bandwidth_max"`
	ReadBandwidthMax  int    `json:"read_bandwidth_max,omitempty" mapstructure:"read_bandwidth_max"`
	TotalBandwidthMax int    `json:"total_bandwidth_max,omitempty" mapstructure:"total_bandwidth_max"`
}

func (*PerformancePolicy) Create

func (*PerformancePolicy) Delete

func (*PerformancePolicy) Get

func (*PerformancePolicy) List

func (*PerformancePolicy) Set

type PerformancePolicyCreateRequest

type PerformancePolicyCreateRequest struct {
	Ctxt              context.Context `json:"-"`
	WriteIopsMax      int             `json:"write_iops_max" mapstructure:"write_iops_max"`
	ReadIopsMax       int             `json:"read_iops_max" mapstructure:"read_iops_max"`
	TotalIopsMax      int             `json:"total_iops_max" mapstructure:"total_iops_max"`
	WriteBandwidthMax int             `json:"write_bandwidth_max" mapstructure:"write_bandwidth_max"`
	ReadBandwidthMax  int             `json:"read_bandwidth_max" mapstructure:"read_bandwidth_max"`
	TotalBandwidthMax int             `json:"total_bandwidth_max" mapstructure:"total_bandwidth_max"`
}

type PerformancePolicyDeleteRequest

type PerformancePolicyDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type PerformancePolicyGetRequest

type PerformancePolicyGetRequest struct {
	Ctxt context.Context `json:"-"`
}

type PerformancePolicyListRequest

type PerformancePolicyListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type PerformancePolicySetRequest

type PerformancePolicySetRequest struct {
	Ctxt              context.Context `json:"-"`
	WriteIopsMax      int             `json:"write_iops_max" mapstructure:"write_iops_max"`
	ReadIopsMax       int             `json:"read_iops_max" mapstructure:"read_iops_max"`
	TotalIopsMax      int             `json:"total_iops_max" mapstructure:"total_iops_max"`
	WriteBandwidthMax int             `json:"write_bandwidth_max" mapstructure:"write_bandwidth_max"`
	ReadBandwidthMax  int             `json:"read_bandwidth_max" mapstructure:"read_bandwidth_max"`
	TotalBandwidthMax int             `json:"total_bandwidth_max" mapstructure:"total_bandwidth_max"`
}

type PlacementPolicies added in v1.3.0

type PlacementPolicies struct {
	Path string
}

func (*PlacementPolicies) Create added in v1.3.0

func (*PlacementPolicies) Get added in v1.3.0

func (*PlacementPolicies) List added in v1.3.0

type PlacementPoliciesCreateRequest added in v1.3.0

type PlacementPoliciesCreateRequest struct {
	Ctxt  context.Context `json:"-"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Descr string          `json:"descr,omitempty" mapstructure:"descr"`
	Max   []string        `json:"max,omitempty" mapstructure:"max"`
	Min   []string        `json:"min,omitempty" mapstructure:"min"`
}

type PlacementPoliciesGetRequest added in v1.3.0

type PlacementPoliciesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"name" mapstructure:"name"`
}

type PlacementPoliciesListRequest added in v1.3.0

type PlacementPoliciesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type PlacementPolicy

type PlacementPolicy struct {
	Path           string   `json:"path,omitempty" mapstructure:"path"`
	ResolvedPath   string   `json:"resolved_path,omitempty" mapstructure:"resolved_path"`
	ResolvedTenant string   `json:"resolved_tenant,omitempty" mapstructure:"resolved_tenant"`
	Name           string   `json:"name,omitempty" mapstructure:"name"`
	Descr          string   `json:"descr,omitempty" mapstructure:"descr"`
	Max            []string `json:"max,omitempty" mapstructure:"max"`
	Min            []string `json:"min,omitempty" mapstructure:"min"`
}

func (*PlacementPolicy) Delete added in v1.3.0

func (PlacementPolicy) MarshalJSON

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

func (*PlacementPolicy) Reload added in v1.3.0

func (*PlacementPolicy) Set added in v1.3.0

func (PlacementPolicy) UnmarshalJSON

func (p PlacementPolicy) UnmarshalJSON(b []byte) error

type PlacementPolicyDeleteRequest added in v1.3.0

type PlacementPolicyDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type PlacementPolicyReloadRequest added in v1.3.0

type PlacementPolicyReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type PlacementPolicySetRequest added in v1.3.0

type PlacementPolicySetRequest struct {
	Ctxt  context.Context `json:"-"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Descr string          `json:"descr,omitempty" mapstructure:"descr"`
	Max   []string        `json:"max,omitempty" mapstructure:"max"`
	Min   []string        `json:"min,omitempty" mapstructure:"min"`
}

type Point added in v1.2.0

type Point struct {
	Time  int64   `json:"time" mapstructure:"time"`
	Value float64 `json:"value" mapstructure:"value"`
}

type Psu

type Psu struct {
}

Stub

type Quota

type Quota interface{}

type QuotaStatus

type QuotaStatus interface{}

type RemoteOperation added in v1.2.0

type RemoteOperation struct {
	Path               string `json:"path" mapstructure:"path"`
	Uuid               string `json:"uuid" mapstructure:"uuid"`
	RemoteProviderUuid string `json:"remote_provider_uuid" mapstructure:"remote_provider_uuid"`
	AppInstanceUuid    string `json:"app_instance_uuid" mapstructure:"app_instance_uuid"`
	OpState            string `json:"op_state" mapstructure:"op_state"`
	OpType             string `json:"op_type" mapstructure:"op_type"`
	PercentDone        int    `json:"percent_done" mapstructure:"percent_done"`
	TotalTasksDone     int    `json:"total_tasks_done" mapstructure:"total_tasks_done"`
	TotalTasksIssued   int    `json:"total_tasks_issued" mapstructure:"total_tasks_issued"`
	References         struct {
		SnapshotAppInstancePath string `json:"snapshot_app_instance_path" mapstructure:"snapshot_app_instance_path"`
	} `json:"references" mapstructure:"references"`
}

type RemoteProvider

type RemoteProvider struct {
	Path              string                   `json:"path,omitempty" mapstructure:"path"`
	Uuid              string                   `json:"uuid,omitempty" mapstructure:"uuid"`
	AccountId         string                   `json:"account_id,omitempty" mapstructure:"account_id"`
	RemoteType        string                   `json:"remote_type,omitempty" mapstructure:"remote_type"`
	LastSeenTimestamp string                   `json:"last_seen_timestamp,omitempty" mapstructure:"last_seen_timestamp"`
	Operations        []map[string]interface{} `json:"operations,omitempty" mapstructure:"operations"`
	Snapshots         []*Snapshot              `json:"snapshots,omitempty" mapstructure:"snapshots"`
	Label             string                   `json:"label,omitempty" mapstructure:"label"`
	Status            string                   `json:"status,omitempty" mapstructure:"status"`
	Host              string                   `json:"host,omitempty" mapstructure:"host"`
	Port              int                      `json:"port,omitempty" mapstructure:"port"`
	OperationsEp      string
	SnapshotsEp       *Snapshots

	// Present only when the RemoteProvider is a subresource of a snapshot. Indicates the replication state of the
	// snapshot on this RemoteProvider.
	OpStatus string `json:"op_status,omitempty" mapstructure:"op_status"`
}

func (*RemoteProvider) Delete

func (*RemoteProvider) Reload

func (*RemoteProvider) Set

func (*RemoteProvider) SetOperation added in v1.2.0

type RemoteProviderAppTemplate

type RemoteProviderAppTemplate struct {
	Path           string `json:"path,omitempty" mapstructure:"path"`
	ResolvedPath   string `json:"resolved_path,omitempty" mapstructure:"resolved_path"`
	ResolvedTenant string `json:"resolved_tenant,omitempty" mapstructure:"resolved_tenant"`
}

type RemoteProviderDeleteRequest

type RemoteProviderDeleteRequest struct {
	Ctxt  context.Context `json:"-"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type RemoteProviderOperationsSetRequest added in v1.2.0

type RemoteProviderOperationsSetRequest struct {
	Ctxt        context.Context `json:"-"`
	OperationId string          `json:"-"`
	Action      string          `json:"action"` //available options are 'clear' and 'abort'
}

type RemoteProviderReloadRequest

type RemoteProviderReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type RemoteProviderSetRequest

type RemoteProviderSetRequest struct {
	Ctxt        context.Context `json:"-"`
	ProjectName string          `json:"project_name,omitempty" mapstructure:"project_name"`
	AccountId   string          `json:"account_id,omitempty" mapstructure:"account_id"`
	PrivateKey  string          `json:"private_key,omitempty" mapstructure:"private_key"`
	Label       string          `json:"label,omitempty" mapstructure:"label"`
	Host        string          `json:"host,omitempty" mapstructure:"host"`
	Port        int             `json:"port,omitempty" mapstructure:"port"`
	AccessKey   string          `json:"access_key,omitempty" mapstructure:"access_key"`
	SecretKey   string          `json:"secret_key,omitempty" mapstructure:"secret_key"`
}

type RemoteProviders

type RemoteProviders struct {
	Path string
}

func (*RemoteProviders) Create

func (*RemoteProviders) Get

func (*RemoteProviders) List

func (*RemoteProviders) Refresh added in v1.1.8

type RemoteProvidersCreateRequest

type RemoteProvidersCreateRequest struct {
	Ctxt        context.Context `json:"-"`
	ProjectName string          `json:"project_name,omitempty" mapstructure:"project_name"`
	AccountId   string          `json:"account_id,omitempty" mapstructure:"account_id"`
	RemoteType  string          `json:"remote_type,omitempty" mapstructure:"remote_type"`
	PrivateKey  string          `json:"private_key,omitempty" mapstructure:"private_key"`
	Label       string          `json:"label,omitempty" mapstructure:"label"`
	Host        string          `json:"host,omitempty" mapstructure:"host"`
	Port        int             `json:"port,omitempty" mapstructure:"port"`
	AccessKey   string          `json:"access_key,omitempty" mapstructure:"access_key"`
	SecretKey   string          `json:"secret_key,omitempty" mapstructure:"secret_key"`
}

type RemoteProvidersGetRequest

type RemoteProvidersGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type RemoteProvidersListRequest

type RemoteProvidersListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type RemoteProvidersRefreshRequest added in v1.1.8

type RemoteProvidersRefreshRequest struct {
	Ctxt context.Context `json:"-"`
	Uuid string          `json:"-"`
}

type RemoteProvidersRefreshResponse added in v1.1.8

type RemoteProvidersRefreshResponse struct {
	Uuid string `json:"uuid,omitempty" mapstructure:"uuid"`
}

type SDK

type SDK struct {
	Conn                 *ApiConnection
	Ctxt                 context.Context
	AccessNetworkIpPools *AccessNetworkIpPools
	AppInstances         *AppInstances
	AppTemplates         *AppTemplates
	Initiators           *Initiators
	InitiatorGroups      *InitiatorGroups
	LogsUpload           *LogsUpload
	HWMetrics            *HWMetrics
	IOMetrics            *IOMetrics
	PlacementPolicies    *PlacementPolicies
	RemoteProvider       *RemoteProviders
	StorageNodes         *StorageNodes
	StoragePools         *StoragePools
	System               *System
	SystemEvents         *SystemEvents
	Tenants              *Tenants
	UserData             *UserDatas
	// contains filtered or unexported fields
}

func NewSDK

func NewSDK(c *udc.UDC, secure bool) (*SDK, error)

func NewSDKWithHTTPClient added in v1.2.0

func NewSDKWithHTTPClient(c *udc.UDC, secure bool, client *http.Client) (*SDK, error)

func (SDK) GetDateraVersion

func (c SDK) GetDateraVersion() (string, error)

func (SDK) HealthCheck

func (c SDK) HealthCheck() error

Cleans AppInstances, AppTemplates, StorageInstances, Initiators and InitiatorGroups under the currently configured tenant

func (SDK) NewContext

func (c SDK) NewContext() context.Context

func (SDK) SetDriver

func (c SDK) SetDriver(d string)

func (SDK) WithContext

func (c SDK) WithContext(ctxt context.Context) context.Context

type Snapshot

type Snapshot struct {
	Path            string            `json:"path,omitempty" mapstructure:"path"`
	Timestamp       string            `json:"timestamp,omitempty" mapstructure:"timestamp"`
	Uuid            string            `json:"uuid,omitempty" mapstructure:"uuid"`
	RemoteProviders []*RemoteProvider `json:"remote_providers,omitempty" mapstructure:"remote_providers"`
	OpState         string            `json:"op_state,omitempty" mapstructure:"op_state"`
	UtcTs           string            `json:"utc_ts,omitempty" mapstructure:"utc_ts"`
	PhysicalSize    int               `json:"physical_size,omitempty" mapstructure:"physical_size"`
	LogicalSize     int               `json:"logical_size,omitempty" mapstructure:"logical_size"`
	ExclusiveSize   int               `json:"exclusive_size,omitempty" mapstructure:"exclusive_size"`
	EffectiveSize   int               `json:"effective_size,omitempty" mapstructure:"effective_size"`
	Local           bool              `json:"local,omitempty" mapstructure:"local"`
	AppStructure    interface{}       `json:"app_structure,omitempty" mapstructure:"app_structure"`
	TsVersion       string            `json:"ts_version,omitempty" mapstructure:"ts_version"`
	Version         string            `json:"version,omitempty" mapstructure:"version"`
	Type            string            `json:"type,omitempty" mapstructure:"type"`
	ClusterId       string            `json:"cluster_id,omitempty" mapstructure:"cluster_id"`
}

func (*Snapshot) Delete

func (*Snapshot) Reload

func (*Snapshot) Set added in v1.2.2

type SnapshotDeleteRequest

type SnapshotDeleteRequest struct {
	Ctxt               context.Context `json:"-"`
	RemoteProviderUuid string          `json:"remote_provider_uuid,omitempty" mapstructure:"remote_provider_uuid"`
	Force              bool            `json:"force,omitempty" mapstructure:"force"`
}

type SnapshotPolicies

type SnapshotPolicies struct {
	Path string
}

func (*SnapshotPolicies) Create

func (*SnapshotPolicies) Get

func (*SnapshotPolicies) List

type SnapshotPoliciesCreateRequest

type SnapshotPoliciesCreateRequest struct {
	Ctxt           context.Context `json:"-"`
	Name           string          `json:"name,omitempty" mapstructure:"name"`
	Interval       string          `json:"interval,omitempty" mapstructure:"interval"`
	RetentionCount string          `json:"retention_count,omitempty" mapstructure:"retention_count"`
	StartTime      string          `json:"start_time,omitempty" mapstructure:"start_time"`
}

type SnapshotPoliciesGetRequest

type SnapshotPoliciesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type SnapshotPoliciesListRequest

type SnapshotPoliciesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type SnapshotPolicy

type SnapshotPolicy struct {
	Path           string `json:"path,omitempty" mapstructure:"path"`
	Name           string `json:"name,omitempty" mapstructure:"name"`
	Interval       string `json:"interval,omitempty" mapstructure:"interval"`
	RetentionCount int    `json:"retention_count,omitempty" mapstructure:"retention_count"`
	StartTime      string `json:"start_time,omitempty" mapstructure:"start_time"`
}

func (*SnapshotPolicy) Delete

func (*SnapshotPolicy) Set

type SnapshotPolicyDeleteRequest

type SnapshotPolicyDeleteRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"id,omitempty" mapstructure:"id"`
}

type SnapshotPolicySetRequest

type SnapshotPolicySetRequest struct {
	Ctxt           context.Context `json:"-"`
	Interval       string          `json:"name,omitempty" mapstructure:"name"`
	RetentionCount int             `json:"retention_count,omitempty" mapstructure:"retention_count"`
	StartTime      string          `json:"start_time,omitempty" mapstructure:"start_time"`
}

type SnapshotReloadRequest

type SnapshotReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type SnapshotSetRequest added in v1.2.2

type SnapshotSetRequest struct {
	Ctxt               context.Context `json:"-"`
	DeleteLocal        bool            `json:"delete_local" mapstructure:"delete_local"`
	RemoteProviderUuid string          `json:"remote_provider_uuid" mapstructure:"remote_provider_uuid"`
}

type Snapshots

type Snapshots struct {
	Path string
}

func (*Snapshots) Create

func (*Snapshots) Get

func (*Snapshots) List

type SnapshotsCreateRequest

type SnapshotsCreateRequest struct {
	Ctxt               context.Context `json:"-"`
	Uuid               string          `json:"uuid,omitempty" mapstructure:"uuid"`
	RemoteProviderUuid string          `json:"remote_provider_uuid,omitempty" mapstructure:"remote_provider_uuid"`
	Type               string          `json:"type,omitempty" mapstructure:"type"`
}

type SnapshotsGetRequest

type SnapshotsGetRequest struct {
	Ctxt      context.Context `json:"-"`
	Timestamp string          `json:"-"`
}

type SnapshotsListRequest

type SnapshotsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type StorageInstance

type StorageInstance struct {
	Path                 string                `json:"path,omitempty" mapstructure:"path"`
	Access               *Access               `json:"access,omitempty" mapstructure:"access"`
	AccessControlMode    string                `json:"access_control_mode,omitempty" mapstructure:"access_control_mode"`
	AclPolicy            *AclPolicy            `json:"acl_policy,omitempty" mapstructure:"acl_policy"`
	ActiveInitiators     []string              `json:"active_initiators,omitempty" mapstructure:"active_initiators"`
	ActiveStorageNodes   []*StorageNode        `json:"active_storage_nodes,omitempty" mapstructure:"active_storage_nodes"`
	AdminState           string                `json:"admin_state,omitempty" mapstructure:"admin_state"`
	Auth                 *Auth                 `json:"auth,omitempty" mapstructure:"auth"`
	Causes               []string              `json:"causes,omitempty" mapstructure:"causes"`
	DeploymentState      string                `json:"deployment_state,omitempty" mapstructure:"deployment_state"`
	Health               string                `json:"health,omitempty" mapstructure:"health"`
	IpPool               *AccessNetworkIpPool  `json:"ip_pool,omitempty" mapstructure:"ip_pool"`
	Name                 string                `json:"name,omitempty" mapstructure:"name"`
	OpState              string                `json:"op_state,omitempty" mapstructure:"op_state"`
	ServiceConfiguration string                `json:"service_configuration,omitempty" mapstructure:"service_configuration"`
	Uuid                 string                `json:"uuid,omitempty" mapstructure:"uuid"`
	Volumes              []*Volume             `json:"volumes,omitempty" mapstructure:"volumes"`
	VolumesEp            *Volumes              `json:"-"`
	IpPoolEp             *AccessNetworkIpPools `json:"-"`
}

func (*StorageInstance) Delete

func (*StorageInstance) Reload

func (*StorageInstance) Set

type StorageInstanceDeleteRequest

type StorageInstanceDeleteRequest struct {
	Ctxt  context.Context `json:"-"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type StorageInstanceReloadRequest

type StorageInstanceReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type StorageInstanceSetRequest

type StorageInstanceSetRequest struct {
	Ctxt              context.Context      `json:"-"`
	AccessControlMode string               `json:"access_control_mode,omitempty" mapstructure:"access_control_mode"`
	AclPolicy         *AclPolicy           `json:"acl_policy,omitempty" mapstructure:"acl_policy"`
	AdminState        string               `json:"admin_state,omitempty" mapstructure:"admin_state"`
	Auth              *Auth                `json:"auth,omitempty" mapstructure:"auth"`
	Force             bool                 `json:"force,omitempty" mapstructure:"force"`
	IpPool            *AccessNetworkIpPool `json:"ip_pool,omitempty" mapstructure:"ip_pool"`
	Volumes           []*Volume            `json:"volumes,omitempty" mapstructure:"volumes"`
}

type StorageInstances

type StorageInstances struct {
	Path string
}

func (*StorageInstances) Create

func (*StorageInstances) Get

func (*StorageInstances) List

type StorageInstancesCreateRequest

type StorageInstancesCreateRequest struct {
	Ctxt                 context.Context      `json:"-"`
	AccessControlMode    string               `json:"access_control_mode,omitempty" mapstructure:"access_control_mode"`
	AclPolicy            *AclPolicy           `json:"acl_policy,omitempty" mapstructure:"acl_policy"`
	AdminState           string               `json:"admin_state,omitempty" mapstructure:"admin_state"`
	Auth                 *Auth                `json:"auth,omitempty" mapstructure:"auth"`
	IpPool               *AccessNetworkIpPool `json:"ip_pool,omitempty" mapstructure:"ip_pool"`
	Name                 string               `json:"name,omitempty" mapstructure:"name"`
	ServiceConfiguration string               `json:"service_configuration,omitempty" mapstructure:"service_configuration"`
	Volumes              []*Volume            `json:"volumes,omitempty" mapstructure:"volumes"`
}

type StorageInstancesGetRequest

type StorageInstancesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type StorageInstancesListRequest

type StorageInstancesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type StorageNode

type StorageNode struct {
	Path                string                 `json:"path,omitempty" mapstructure:"path"`
	AdminState          string                 `json:"admin_state,omitempty" mapstructure:"admin_state"`
	AvailableCapacity   int                    `json:"available_capacity,omitempty" mapstructure:"available_capacity"`
	BiosVersion         string                 `json:"bios_version,omitempty" mapstructure:"bios_version"`
	BootDrives          []*BootDrive           `json:"boot_drives,omitempty" mapstructure:"boot_drives"`
	BuildVersion        string                 `json:"build_version,omitempty" mapstructure:"build_version"`
	Causes              []string               `json:"causes,omitempty" mapstructure:"causes"`
	Compression         bool                   `json:"compression_enabled,omitempty" mapstructure:"compression_enabled"`
	CompressionRatio    string                 `json:"compression_ratio,omitempty" mapstructure:"compression_ratio"`
	Disconnected        bool                   `json:"disconnected,omitempty" mapstructure:"disconnected"`
	FailureDomains      []*FailureDomain       `json:"failure_domains,omitempty" mapstructure:"failure_domains"`
	FlashDevices        []*FlashDevice         `json:"flash_devices,omitempty" mapstructure:"flash_devices"`
	Hdds                []*Hdd                 `json:"hdds,omitempty" mapstructure:"hdds"`
	Health              string                 `json:"health,omitempty" mapstructure:"health"`
	HwHealth            string                 `json:"hw_health,omitempty" mapstructure:"hw_health"`
	HwState             string                 `json:"hw_state,omitempty" mapstructure:"hw_state"`
	InternalIp1         string                 `json:"internal_ip_1,omitempty" mapstructure:"internal_ip_1"`
	InternalIp2         string                 `json:"internal_ip_2,omitempty" mapstructure:"internal_ip_2"`
	LastRebootTimestamp string                 `json:"last_reboot_timestamp,omitempty" mapstructure:"last_reboot_timestamp"`
	MediaPolicy         string                 `json:"media_policy,omitempty" mapstructure:"media_policy"`
	MgmtIp1             string                 `json:"mgmt_ip_1,omitempty" mapstructure:"mgmt_ip_1"`
	MgmtIp2             string                 `json:"mgmt_ip_2,omitempty" mapstructure:"mgmt_ip_2"`
	Model               string                 `json:"model,omitempty" mapstructure:"model"`
	Name                string                 `json:"name,omitempty" mapstructure:"name"`
	Nics                []*Nic                 `json:"nics,omitempty" mapstructure:"nics"`
	NvmFlashDevices     []*NvmFlashDevice      `json:"nvm_flash_devices,omitempty" mapstructure:"nvm_flash_devices"`
	OpProgress          map[string]interface{} `json:"op_progress,omitempty" mapstructure:"op_progress"`
	OpState             string                 `json:"op_state,omitempty" mapstructure:"op_state"`
	OpStatus            string                 `json:"op_status,omitempty" mapstructure:"op_status"`
	OsVersion           string                 `json:"os_version,omitempty" mapstructure:"os_version"`
	Psus                []*Psu                 `json:"psus,omitempty" mapstructure:"psus"`
	SerialNo            string                 `json:"serial_no,omitempty" mapstructure:"serial_no"`
	StorageInstances    []*StorageInstance     `json:"storage_instances,omitempty" mapstructure:"storage_instances"`
	SubsystemHealth     []*Subsystem           `json:"subsystem_health,omitempty" mapstructure:"subsystem_health"`
	SubsystemStates     *Subsystem             `json:"subsystem_states,omitempty" mapstructure:"subsystem_states"`
	SwHealth            string                 `json:"sw_health,omitempty" mapstructure:"sw_health"`
	SwState             string                 `json:"sw_state,omitempty" mapstructure:"sw_state"`
	SwVersion           string                 `json:"sw_version,omitempty" mapstructure:"sw_version"`
	TotalCapacity       int                    `json:"total_capacity,omitempty" mapstructure:"total_capacity"`
	TotalRawCapacity    int                    `json:"total_raw_capacity,omitempty" mapstructure:"total_raw_capacity"`
	Type                string                 `json:"type,omitempty" mapstructure:"type"`
	Upgrade             *Upgrade               `json:"upgrade,omitempty" mapstructure:"upgrade"`
	Uuid                string                 `json:"uuid,omitempty" mapstructure:"uuid"`
	Vendor              string                 `json:"vendor,omitempty" mapstructure:"vendor"`
	Volumes             []*Volume              `json:"volumes,omitempty" mapstructure:"volumes"`
	BootDrivesEp        *BootDrives
}

func (*StorageNode) Reload

func (*StorageNode) Set

type StorageNodeReloadRequest

type StorageNodeReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type StorageNodeSetRequest

type StorageNodeSetRequest struct {
	Ctxt        context.Context `json:"-"`
	AdminState  string          `json:"admin_state,omitempty" mapstructure:"admin_state"`
	MediaPolicy string          `json:"media_policy,omitempty" mapstructure:"media_policy"`
}

type StorageNodes

type StorageNodes struct {
	Path string
}

func (*StorageNodes) Get

func (*StorageNodes) List

type StorageNodesGetRequest

type StorageNodesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Uuid string          `json:"-"`
}

type StorageNodesListRequest

type StorageNodesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type StoragePool

type StoragePool struct {
	Path    string         `json:"path,omitempty" mapstructure:"path"`
	Members []*StorageNode `json:"members,omitempty" mapstructure:"members"`
	Name    string         `json:"name,omitempty" mapstructure:"name"`
}

func (*StoragePool) Delete

func (*StoragePool) Set

type StoragePoolDeleteRequest

type StoragePoolDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type StoragePoolSetRequest

type StoragePoolSetRequest struct {
	Ctxt    context.Context `json:"-"`
	Members []*StorageNode  `json:"members,omitempty" mapstructure:"members"`
}

type StoragePools

type StoragePools struct {
	Path string
}

func (*StoragePools) Create

func (*StoragePools) Get

func (*StoragePools) List

type StoragePoolsCreateRequest

type StoragePoolsCreateRequest struct {
	Ctxt    context.Context `json:"-"`
	Members []*StorageNode  `json:"members,omitempty" mapstructure:"members"`
	Name    string          `json:"name,omitempty" mapstructure:"name"`
}

type StoragePoolsGetRequest

type StoragePoolsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Uuid string          `json:"-"`
}

type StoragePoolsListRequest

type StoragePoolsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type StorageTemplate

type StorageTemplate struct {
	Path                 string               `json:"path,omitempty" mapstructure:"path"`
	Auth                 *Auth                `json:"auth,omitempty" mapstructure:"auth"`
	Name                 string               `json:"name,omitempty" mapstructure:"name"`
	IpPool               *AccessNetworkIpPool `json:"ip_pool,omitempty" mapstructure:"ip_pool"`
	ServiceConfiguration string               `json:"service_configuration,omitempty" mapstructure:"service_configuration"`
	VolumeTemplates      []*VolumeTemplate    `json:"volume_templates,omitempty" mapstructure:"volume_templates"`
	VolumeTemplatesEp    *VolumeTemplates     `json:"-"`
}

func (*StorageTemplate) Delete

func (*StorageTemplate) Set

type StorageTemplateDeleteRequest

type StorageTemplateDeleteRequest struct {
	Ctxt  context.Context `json:"-"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type StorageTemplateSetRequest

type StorageTemplateSetRequest struct {
	Ctxt            context.Context     `json:"-"`
	Auth            Auth                `json:"auth,omitempty" mapstructure:"auth"`
	IpPool          AccessNetworkIpPool `json:"ip_pool,omitempty" mapstructure:"ip_pool"`
	VolumeTemplates []VolumeTemplates   `json:"volume_templates,omitempty" mapstructure:"volume_templates"`
}

type StorageTemplates

type StorageTemplates struct {
	Path string
}

func (*StorageTemplates) Create

func (*StorageTemplates) Get

func (*StorageTemplates) List

type StorageTemplatesCreateRequest

type StorageTemplatesCreateRequest struct {
	Ctxt            context.Context  `json:"-"`
	Name            string           `json:"name,omitempty" mapstructure:"name"`
	ReplicaCount    int              `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size            int              `json:"size,omitempty" mapstructure:"size"`
	PlacementMode   string           `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy *PlacementPolicy `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	Force           bool             `json:"force,omitempty" mapstructure:"force"`
}

type StorageTemplatesGetRequest

type StorageTemplatesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type StorageTemplatesListRequest

type StorageTemplatesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type StringSet

type StringSet struct {
	// contains filtered or unexported fields
}

func NewStringSet

func NewStringSet(size int, d ...string) *StringSet

func (*StringSet) Add

func (s *StringSet) Add(ns string)

func (*StringSet) Contains

func (s *StringSet) Contains(ns string) bool

func (*StringSet) Delete

func (s *StringSet) Delete(ns string)

func (*StringSet) Difference

func (s *StringSet) Difference(ss *StringSet) *StringSet

func (*StringSet) Intersection

func (s *StringSet) Intersection(ss *StringSet) *StringSet

func (*StringSet) List

func (s *StringSet) List() []string

func (*StringSet) SymDifference

func (s *StringSet) SymDifference(ss *StringSet) *StringSet

func (*StringSet) Union

func (s *StringSet) Union(ss *StringSet) *StringSet

type Subsystem

type Subsystem struct {
	Path        string   `json:"path,omitempty" mapstructure:"path"`
	Causes      []string `json:"causes,omitempty" mapstructure:"causes"`
	Fan         string   `json:"fan,omitempty" mapstructure:"fan"`
	Health      string   `json:"health,omitempty" mapstructure:"health"`
	Network     string   `json:"network,omitempty" mapstructure:"network"`
	Power       string   `json:"power,omitempty" mapstructure:"power"`
	Temperature string   `json:"temperature,omitempty" mapstructure:"temperature"`
	Voltage     string   `json:"voltage,omitempty" mapstructure:"voltage"`
}

type Subsystems

type Subsystems struct {
	Path string
}

func (*Subsystems) Get

func (*Subsystems) List

type SubsystemsGetRequest

type SubsystemsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Id   string          `json:"-"`
}

type SubsystemsListRequest

type SubsystemsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type System

type System struct {
	Path                        string           `json:"path,omitempty" mapstructure:"path"`
	AccessInterfaceAggrType     string           `json:"access_interface_aggr_type,omitempty" mapstructure:"access_interface_aggr_type"`
	AllFlashCapacity            int              `json:"all_flash_available_capacity,omitempty" mapstructure:"all_flash_available_capacity"`
	AllFlashProvisionedCapacity int              `json:"all_flash_provisioned_capacity,omitempty" mapstructure:"all_flash_provisioned_capacity"`
	AllFlashTotalCapacity       int              `json:"all_flash_total_capacity,omitempty" mapstructure:"all_flash_total_capacity"`
	AvailableCapacity           int              `json:"available_capacity,omitempty" mapstructure:"available_capacity"`
	BuildVersion                string           `json:"build_version,omitempty" mapstructure:"build_version"`
	CallhomeEnabled             bool             `json:"callhome_enabled,omitempty" mapstructure:"callhome_enabled"`
	Causes                      []string         `json:"causes,omitempty" mapstructure:"causes"`
	CompressionEnabled          bool             `json:"compression_enabled,omitempty" mapstructure:"compression_enabled"`
	CompressionRatio            string           `json:"compression_ratio,omitempty" mapstructure:"compression_ratio"`
	Dns                         *Dns             `json:"dns,omitempty" mapstructure:"dns"`
	Health                      string           `json:"health,omitempty" mapstructure:"health"`
	HttpProxy                   *HttpProxy       `json:"http_proxy,omitempty" mapstructure:"http_proxy"`
	HybridAvailableCapacity     int              `json:"hybrid_available_capacity,omitempty" mapstructure:"hybrid_available_capacity"`
	HybridProvisionedCapacity   int              `json:"hybrid_provisioned_capacity,omitempty" mapstructure:"hybrid_provisioned_capacity"`
	HybridTotalCapacity         int              `json:"hybrid_total_capacity,omitempty" mapstructure:"hybrid_total_capacity"`
	InterfaceAggregationMode    string           `json:"interface_aggregation_mode,omitempty" mapstructure:"interface_aggregation_mode"`
	InternalInterfaceAggrType   string           `json:"internal_interface_aggr_type,omitempty" mapstructure:"internal_interface_aggr_type"`
	L3Enabled                   bool             `json:"l3_enabled,omitempty" mapstructure:"l3_enabled"`
	LastRebootTimestamp         string           `json:"last_reboot_timestamp,omitempty" mapstructure:"last_reboot_timestamp"`
	Name                        string           `json:"name,omitempty" mapstructure:"name"`
	Network                     *Network         `json:"network,omitempty" mapstructure:"network"`
	NetworkDevices              []*NetworkDevice `json:"network_devices,omitempty" mapstructure:"network_devices"`
	NtpServers                  []string         `json:"ntp_servers,omitempty" mapstructure:"ntp_servers"`
	OpState                     string           `json:"op_state,omitempty" mapstructure:"op_state"`
	SwVersion                   string           `json:"sw_version,omitempty" mapstructure:"sw_version"`
	Timezone                    string           `json:"timezone,omitempty" mapstructure:"timezone"`
	TotalCapacity               int              `json:"total_capacity,omitempty" mapstructure:"total_capacity"`
	TotalProvisionedCapacity    int              `json:"total_provisioned_capacity,omitempty" mapstructure:"total_provisioned_capacity"`
	Upgrade                     *Upgrade         `json:"upgrade,omitempty" mapstructure:"upgrade"`
	Uptime                      int              `json:"uptime,omitempty" mapstructure:"uptime"`
	Uuid                        string           `json:"uuid,omitempty" mapstructure:"uuid"`
	WitnessPolicy               *WitnessPolicy   `json:"witness_policy,omitempty" mapstructure:"witness_policy"`
}

func (*System) Get

func (*System) Reload

func (*System) Set

type SystemEvent

type SystemEvent struct {
	Time        string `json:"time,omitempty" mapstructure:"time"`
	Code        string `json:"code,omitempty" mapstructure:"code"`
	Context     string `json:"context,omitempty" mapstructure:"context"`
	Debug       string `json:"debug,omitempty" mapstructure:"debug"`
	Description string `json:"description,omitempty" mapstructure:"description"`
	LastSeenTs  string `json:"last_seen_ts,omitempty" mapstructure:"last_seen_ts"`
	Message     string `json:"message,omitempty" mapstructure:"message"`
	RepeatCount int    `json:"repeat_count,omitempty" mapstructure:"repeat_count"`
	Severity    string `json:"severity,omitempty" mapstructure:"severity"`
	Tenant      string `json:"tenant,omitempty" mapstructure:"tenant"`
	Uuid        string `json:"uuid,omitempty" mapstructure:"uuid"`
	ObjectPath  string `json:"object_path,omitempty" mapstructure:"object_path"`
}

type SystemEvents

type SystemEvents struct {
	Path string
}

func (*SystemEvents) List

type SystemEventsRequest

type SystemEventsRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListRangeParams `json:"params,omitempty"`
}

type SystemGetRequest

type SystemGetRequest struct {
	Ctxt context.Context `json:"-"`
}

type SystemReloadRequest

type SystemReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type SystemSetRequest

type SystemSetRequest struct {
	Ctxt                             context.Context  `json:"-"`
	AccessInterfaceAggrType          string           `json:"access_interface_aggr_type,omitempty" mapstructure:"access_interface_aggr_type"`
	CallhomeEnabled                  bool             `json:"callhome_enabled,omitempty" mapstructure:"callhome_enabled"`
	CompressionEnabled               bool             `json:"compression_enabled,omitempty" mapstructure:"compression_enabled"`
	InterfaceAggregationMode         string           `json:"interface_aggregation_mode,omitempty" mapstructure:"interface_aggregation_mode"`
	InternalInterfaceAggregationType string           `json:"internal_interface_aggr_type,omitempty" mapstructure:"internal_interface_aggr_type"`
	NetworkDevices                   []*NetworkDevice `json:"network_devices,omitempty" mapstructure:"network_devices"`
}

type Tenant

type Tenant struct {
	Path             string        `json:"path,omitempty" mapstructure:"path"`
	Descr            string        `json:"descr,omitempty" mapstructure:"descr"`
	InitiatorListSrc string        `json:"initiator_list_src,omitempty" mapstructure:"initiator_list_src"`
	MgmtIps          []interface{} `json:"mgmt_ips,omitempty" mapstructure:"mgmt_ips"`
	Name             string        `json:"name,omitempty" mapstructure:"name"`
	ParentPath       string        `json:"parent_path,omitempty" mapstructure:"parent_path"`
	Quota            Quota         `json:"quota,omitempty" mapstructure:"quota"`
	QuotaStatus      QuotaStatus   `json:"quota_status,omitempty" mapstructure:"quota_status"`
	Subtenants       []string      `json:"subtenants,omitempty" mapstructure:"subtenants"`
}

func (*Tenant) Delete

func (*Tenant) Set

type TenantDeleteRequest

type TenantDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type TenantSetRequest

type TenantSetRequest struct {
	Ctxt             context.Context `json:"-"`
	Path             string          `json:"path,omitempty" mapstructure:"path"`
	Descr            string          `json:"descr,omitempty" mapstructure:"descr"`
	InitiatorListSrc string          `json:"initiator_list_src,omitempty" mapstructure:"initiator_list_src"`
	MgmtIps          []string        `json:"mgmt_ips,omitempty" mapstructure:"mgmt_ips"`
	Name             string          `json:"name,omitempty" mapstructure:"name"`
	ParentPath       string          `json:"parent_path,omitempty" mapstructure:"parent_path"`
	Quota            Quota           `json:"quota,omitempty" mapstructure:"quota"`
	QuotaStatus      QuotaStatus     `json:"quota_status,omitempty" mapstructure:"quota_status"`
	Subtenants       []Tenant        `json:"subtenants,omitempty" mapstructure:"subtenants"`
}

type Tenants

type Tenants struct {
	Path string
}

func (*Tenants) Create

func (*Tenants) Get

func (*Tenants) List

type TenantsCreateRequest

type TenantsCreateRequest struct {
	Ctxt  context.Context `json:"-"`
	Id    string          `json:"id,omitempty" mapstructure:"id"`
	Name  string          `json:"name,omitempty" mapstructure:"name"`
	Force bool            `json:"force,omitempty" mapstructure:"force"`
}

type TenantsGetRequest

type TenantsGetRequest struct {
	Ctxt context.Context `json:"-"`
	Path string          `json:"-"`
}

type TenantsListRequest

type TenantsListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type Upgrade

type Upgrade struct {
}

Stub

type UserData added in v1.4.0

type UserData struct {
	AppInstanceId string                 `json:"app_instance_id"`
	Data          map[string]interface{} `json:"data"`
}

type UserDataGetRequest added in v1.4.0

type UserDataGetRequest struct {
	Ctxt          context.Context `json:"-"`
	AppInstanceId string          `json:"app_instance_id"`
}

UserDataGetRequest gets one AppInstance's uploaded user data

type UserDataSetRequest added in v1.4.0

type UserDataSetRequest struct {
	Ctxt          context.Context        `json:"-"`
	AppInstanceId string                 `json:"app_instance_id" mapstructure:"app_instance_id"`
	Data          map[string]interface{} `json:"data" mapstructure:"data"`
}

type UserDatas added in v1.4.0

type UserDatas struct {
	Path string
}

func (*UserDatas) Get added in v1.4.0

Get returns an individual JSON UserData object attached to an AppInstance

func (*UserDatas) List added in v1.4.0

List shows all UserData that have been stored it can be filtered via a Glob search in ro.Filter field

func (*UserDatas) Set added in v1.4.0

Set adds a JSON User Data Record to an App Instance

type UserDatasListRequest added in v1.4.0

type UserDatasListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

UserDatasListRequest lists all custom user data on all apps within a tenant Params is the normal ListParams, but Sort isn't used/supported.

type Volume

type Volume struct {
	Path               string             `json:"path,omitempty" mapstructure:"path"`
	ActiveStorageNodes []*StorageNode     `json:"active_storage_nodes,omitempty" mapstructure:"active_storage_nodes"`
	AvailabilityState  string             `json:"availability_state,omitempty" mapstructure:"availability_state"`
	CapacityInUse      int                `json:"capacity_in_use,omitempty" mapstructure:"capacity_in_use"`
	Causes             []string           `json:"causes,omitempty" mapstructure:"causes"`
	DeploymentState    string             `json:"deployment_state,omitempty" mapstructure:"deployment_state"`
	EffectiveSize      int                `json:"effective_size,omitempty" mapstructure:"effective_size"`
	ExclusiveSize      int                `json:"exclusive_size,omitempty" mapstructure:"exclusive_size"`
	Health             string             `json:"health,omitempty" mapstructure:"health"`
	LogicalSize        int                `json:"logical_size,omitempty" mapstructure:"logical_size"`
	Name               string             `json:"name,omitempty" mapstructure:"name"`
	OpState            string             `json:"op_state,omitempty" mapstructure:"op_state"`
	OpStatus           string             `json:"op_status,omitempty" mapstructure:"op_status"`
	PhysicalSize       int                `json:"physical_size,omitempty" mapstructure:"physical_size"`
	PlacementMode      string             `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy    *PlacementPolicy   `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	RecoveryState      string             `json:"recovery_state,omitempty" mapstructure:"recovery_state"`
	ReplicaCount       int                `json:"replica_count,omitempty" mapstructure:"replica_count"`
	RestorePoint       string             `json:"restore_point,omitempty" mapstructure:"restore_point"`
	Size               int                `json:"size,omitempty" mapstructure:"size"`
	Snapshots          []*Snapshot        `json:"snapshots,omitempty" mapstructure:"snapshots"`
	StoragePool        []*StoragePool     `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
	StorageState       string             `json:"storage_state,omitempty" mapstructure:"storage_state"`
	Uuid               string             `json:"uuid,omitempty" mapstructure:"uuid"`
	SnapshotsEp        *Snapshots         `json:"-"`
	PerformancePolicy  *PerformancePolicy `json:"performance_policy,omitempty" mapstructure:"performance_policy"`
}

func (*Volume) Delete

func (*Volume) Reload

func (*Volume) Set

type VolumeDeleteRequest

type VolumeDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type VolumeReloadRequest

type VolumeReloadRequest struct {
	Ctxt context.Context `json:"-"`
}

type VolumeSetRequest

type VolumeSetRequest struct {
	Ctxt            context.Context  `json:"-"`
	ReplicaCount    int              `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size            int              `json:"size,omitempty" mapstructure:"size"`
	PlacementMode   string           `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy *PlacementPolicy `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	RestorePoint    string           `json:"restore_point,omitempty" mapstructure:"restore_point"`
	StoragePool     []*StoragePool   `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
}

type VolumeTemplate

type VolumeTemplate struct {
	Path               string            `json:"path,omitempty" mapstructure:"path"`
	Name               string            `json:"name,omitempty" mapstructure:"name"`
	PlacementMode      string            `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy    *PlacementPolicy  `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	ReplicaCount       int               `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size               int               `json:"size,omitempty" mapstructure:"size"`
	StoragePool        []StoragePool     `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
	SnapshotPoliciesEp *SnapshotPolicies `json:"-"`
}

func (*VolumeTemplate) Delete

func (*VolumeTemplate) Set

type VolumeTemplateDeleteRequest

type VolumeTemplateDeleteRequest struct {
	Ctxt context.Context `json:"-"`
}

type VolumeTemplateSetRequest

type VolumeTemplateSetRequest struct {
	Ctxt            context.Context  `json:"-"`
	PlacementMode   string           `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy *PlacementPolicy `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	ReplicaCount    int              `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size            int              `json:"size,omitempty" mapstructure:"size"`
	StoragePool     []StoragePool    `json:"storage_pool,omitempty" mapstructure:"storage_pool"`
}

type VolumeTemplates

type VolumeTemplates struct {
	Path string
}

func (*VolumeTemplates) Create

func (*VolumeTemplates) Get

func (*VolumeTemplates) List

type VolumeTemplatesCreateRequest

type VolumeTemplatesCreateRequest struct {
	Ctxt            context.Context  `json:"-"`
	Name            string           `json:"name,omitempty" mapstructure:"name"`
	ReplicaCount    int              `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size            int              `json:"size,omitempty" mapstructure:"size"`
	PlacementMode   string           `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy *PlacementPolicy `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
}

type VolumeTemplatesGetRequest

type VolumeTemplatesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type VolumeTemplatesListRequest

type VolumeTemplatesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type Volumes

type Volumes struct {
	Path string
}

func (*Volumes) Create

func (*Volumes) Get

func (*Volumes) List

type VolumesCreateRequest

type VolumesCreateRequest struct {
	Ctxt            context.Context  `json:"-"`
	Name            string           `json:"name,omitempty" mapstructure:"name"`
	ReplicaCount    int              `json:"replica_count,omitempty" mapstructure:"replica_count"`
	Size            int              `json:"size,omitempty" mapstructure:"size"`
	PlacementMode   string           `json:"placement_mode,omitempty" mapstructure:"placement_mode"`
	PlacementPolicy *PlacementPolicy `json:"placement_policy,omitempty" mapstructure:"placement_policy"`
	Force           bool             `json:"force,omitempty" mapstructure:"force"`
}

type VolumesGetRequest

type VolumesGetRequest struct {
	Ctxt context.Context `json:"-"`
	Name string          `json:"-"`
}

type VolumesListRequest

type VolumesListRequest struct {
	Ctxt   context.Context `json:"-"`
	Params ListParams      `json:"params,omitempty"`
}

type WitnessPolicy

type WitnessPolicy struct {
	Path               string `json:"path,omitempty" mapstructure:"path"`
	PreferredSite      string `json:"preferred_site,omitempty" mapstructure:"preferred_site"`
	HeartbeatFrequency int    `json:"heartbeat_frequency,omitempty" mapstructure:"heartbeat_frequency"`
	Enabled            bool   `json:"enabled,omitempty" mapstructure:"enabled"`
	Host               string `json:"host,omitempty" mapstructure:"host"`
	Port               int    `json:"port,omitempty" mapstructure:"port"`
	Site1Fd            string `json:"site_1_fd,omitempty" mapstructure:"site_1_fd"`
	Site2Fd            string `json:"site_2_fd,omitempty" mapstructure:"site_2_fd"`
	VerifyCert         bool   `json:"verify_cert,omitempty" mapstructure:"verify_cert"`
	UseProxy           bool   `json:"use_proxy,omitempty" mapstructure:"use_proxy"`
}

Jump to

Keyboard shortcuts

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