v2

package module
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2021 License: BSD-3-Clause Imports: 14 Imported by: 0

README

Quobyte API Clients

Quobyte golang API follows go module system for versioning.

Get the Quobyte 2.x api client

# Replace v2.x.x with a valid tag v2.x.x api tag (https://github.com/quobyte/api/tags)
go get github.com/quobyte/api@<v2.x.x>

Usage

package main

import (
  "log"
  // Get Quobyte 2.x api
  quobyte_v2_api "github.com/quobyte/api/v2"
)

func main() {
    url := flag.String("url", "", "URL of Quobyte API")
    username := flag.String("username", "", "username")
    password := flag.String("password", "", "password")
    flag.Parse()

    if *url == "" || *username == "" || *password == "" {
        flag.PrintDefaults()
        os.Exit(1)
    }

    client := quobyte_v2_api.NewQuobyteClient(*url, *username, *password)
    client.SetAPIRetryPolicy(quobyte_v2_api.RetryInfinitely) // Default quobyte_api.RetryInteractive
    req := &quobyte_v2_api.CreateVolumeRequest{
        Name:              "MyVolume",
        TenantId:          "32edb36d-badc-affe-b44a-4ab749af4d9a",
        RootUserId:        "root",
        RootGroupId:	   "root",
        ConfigurationName: "BASE",
        Label: []*quobyte_v2_api.Label{
            {Name: "label1", Value: "value1"},
            {Name: "label2", Value: "value2"},
        },
    }

    response, err := client.CreateVolume(req)
    if err != nil {
        log.Fatalf("Error: %v", err)
    }

    capactiy := int64(1024 * 1024 * 1024)
    err = client.SetVolumeQuota(response.VolumeUuid, uint64(capactiy))
    if err != nil {
        log.Fatalf("Error: %v", err)
    }

    log.Printf("%s", response.VolumeUuid)
}

Documentation

Index

Constants

View Source
const (
	RetryInteractive string = "INTERACTIVE"
	RetryInfinitely  string = "INFINITELY"
)

retry policy codes

Variables

View Source
var UUIDValidator = regexp.MustCompile("^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[8|9|aA|bB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$")

Functions

func IsValidUUID

func IsValidUUID(uuid string) bool

IsValidUUID Validates the given uuid

Types

type AccessControlList

type AccessControlList struct {
	Entries          []*AccessControlList_AccessControlEntry `json:"entries,omitempty"`
	PosixAccessMask  int32                                   `json:"posix_access_mask,omitempty"`
	PosixDefaultMask int32                                   `json:"posix_default_mask,omitempty"`
}

type AccessControlList_AccessControlEntry

type AccessControlList_AccessControlEntry struct {
	// Name of the user or group to whom this entry refers.
	Principal string `json:"principal,omitempty"`
	// Entry type (ALLOW or DENY).
	Type AccessControlList_AceType `json:"type,omitempty"`
	// Flags defining how to process the entry.
	Flags int32 `json:"flags,omitempty"`
	// Permissions attached to the entry.
	Permissions int32 `json:"permissions,omitempty"`
}

type AccessControlList_AceFlags

type AccessControlList_AceFlags string
const (
	AccessControlList_AceFlags_DIR_INHERIT          AccessControlList_AceFlags = "DIR_INHERIT"
	AccessControlList_AceFlags_FILE_INHERIT         AccessControlList_AceFlags = "FILE_INHERIT"
	AccessControlList_AceFlags_GROUP                AccessControlList_AceFlags = "GROUP"
	AccessControlList_AceFlags_INHERIT_ONLY         AccessControlList_AceFlags = "INHERIT_ONLY"
	AccessControlList_AceFlags_NO_PROPAGATE_INHERIT AccessControlList_AceFlags = "NO_PROPAGATE_INHERIT"
)

type AccessControlList_AcePermissionMask

type AccessControlList_AcePermissionMask string
const (
	AccessControlList_AcePermissionMask_APPEND            AccessControlList_AcePermissionMask = "APPEND"
	AccessControlList_AcePermissionMask_CHOWN             AccessControlList_AcePermissionMask = "CHOWN"
	AccessControlList_AcePermissionMask_DELETE            AccessControlList_AcePermissionMask = "DELETE"
	AccessControlList_AcePermissionMask_DELETE_CHILD      AccessControlList_AcePermissionMask = "DELETE_CHILD"
	AccessControlList_AcePermissionMask_EXECUTE           AccessControlList_AcePermissionMask = "EXECUTE"
	AccessControlList_AcePermissionMask_READ              AccessControlList_AcePermissionMask = "READ"
	AccessControlList_AcePermissionMask_READ_ACL          AccessControlList_AcePermissionMask = "READ_ACL"
	AccessControlList_AcePermissionMask_READ_ATTRIBUTES   AccessControlList_AcePermissionMask = "READ_ATTRIBUTES"
	AccessControlList_AcePermissionMask_READ_NAMED_ATTRS  AccessControlList_AcePermissionMask = "READ_NAMED_ATTRS"
	AccessControlList_AcePermissionMask_SYNCHRONIZE_FILE  AccessControlList_AcePermissionMask = "SYNCHRONIZE_FILE"
	AccessControlList_AcePermissionMask_WRITE             AccessControlList_AcePermissionMask = "WRITE"
	AccessControlList_AcePermissionMask_WRITE_ACL         AccessControlList_AcePermissionMask = "WRITE_ACL"
	AccessControlList_AcePermissionMask_WRITE_ATTRIBUTES  AccessControlList_AcePermissionMask = "WRITE_ATTRIBUTES"
	AccessControlList_AcePermissionMask_WRITE_NAMED_ATTRS AccessControlList_AcePermissionMask = "WRITE_NAMED_ATTRS"
)

type AccessControlList_AceType

type AccessControlList_AceType string
const (
	AccessControlList_AceType_ALLOW AccessControlList_AceType = "ALLOW"
	AccessControlList_AceType_DENY  AccessControlList_AceType = "DENY"
)

type AccessKeyCredentials

type AccessKeyCredentials struct {
	// Access key ID
	AccessKeyId string `json:"access_key_id,omitempty"`
	// Secret access key
	SecretAccessKey string `json:"secret_access_key,omitempty"`
	// Validity time for credentials. If value is 0, the keys are non-expiring.
	ValidUntilTimestampMs uint64        `json:"valid_until_timestamp_ms,omitempty"`
	Type                  AccessKeyType `json:"type,omitempty"`
	// The tenant to use for UserCredentials.
	TenantId string `json:"tenant_id,omitempty"`
}

type AccessKeyType

type AccessKeyType string
const (
	AccessKeyType_S3 AccessKeyType = "S3"
)

type AddCaRequest

type AddCaRequest struct {
	// CA name
	Name string `json:"name,omitempty"`
	// CA description
	CertificateAuthority CertificateAuthority `json:"certificate_authority,omitempty"`
	// contains filtered or unexported fields
}

type AddCaResponse

type AddCaResponse struct {
}

type AddCertificateRequest

type AddCertificateRequest struct {
	// Certificate to import (will create new one if empty)
	Certificate Certificate `json:"certificate,omitempty"`
	// CSR that is approved by this certificate
	CsrId int64 `json:"csr_id,omitempty"`
	// contains filtered or unexported fields
}

type AddCertificateResponse

type AddCertificateResponse struct {
	// Generated certificate
	Certificate Certificate `json:"certificate,omitempty"`
	// Fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// Human readable subject
	SubjectString string `json:"subject_string,omitempty"`
}

type AddCsrRequest

type AddCsrRequest struct {
	// CSR
	Csr CertificateSigningRequest `json:"csr,omitempty"`
	// contains filtered or unexported fields
}

type AddCsrResponse

type AddCsrResponse struct {
	// CSR identifier
	CsrId int64 `json:"csr_id,omitempty"`
}

type AddRegistryReplicaRequest

type AddRegistryReplicaRequest struct {
	// A string containing the device ID of the replica to add.
	DeviceId string `json:"device_id,omitempty"`
	// Optional comment field for auditing.
	Comment string `json:"comment,omitempty"`
	// contains filtered or unexported fields
}

type AddRegistryReplicaResponse

type AddRegistryReplicaResponse struct {
}

type AlertConfiguration

type AlertConfiguration struct {
	// Ability to disable any effect of this rule.
	Enabled bool `json:"enabled,omitempty"`
	// The sensor signal must be present for this much time.
	AlertAfterSeconds int32 `json:"alert_after_seconds,omitempty"`
	// Only alert at these times
	RestrictTime RestrictTime `json:"restrict_time,omitempty"`
}

type AlertState

type AlertState string
const (
	//  Disabled
	AlertState_DISABLED AlertState = "DISABLED"
	//  Enabled but not signaled
	AlertState_DORMANT AlertState = "DORMANT"
	//  Alert active
	AlertState_FIRING AlertState = "FIRING"
	//  Superseded by another alert
	AlertState_INHIBITED AlertState = "INHIBITED"
	//  Signaled, but not long enough yet
	AlertState_SIGNALLED AlertState = "SIGNALLED"
	//  Active but muted
	AlertState_SILENCED AlertState = "SILENCED"
)

type AsyncReplicationProgress

type AsyncReplicationProgress struct {
	FilesInProgress       int64 `json:"files_in_progress,omitempty"`
	InSyncUntilTimestampS int64 `json:"in_sync_until_timestamp_s,omitempty"`
	Connected             bool  `json:"connected,omitempty"`
}

type AsyncReplicationSource

type AsyncReplicationSource struct {
	// List of remote registry targets.
	RemoteRegistryTarget []string `json:"remote_registry_target,omitempty"`
	// UUID of the remote volume to sync with.
	RemoteVolumeUuid string `json:"remote_volume_uuid,omitempty"`
}

type AuditEvent

type AuditEvent struct {
	// Time at which the event was triggered
	TimestampMs int64 `json:"timestamp_ms,omitempty"`
	//User who triggered the event (if empty, triggered by automation rule)
	Username string `json:"username,omitempty"`
	//Subject type that was affected
	SubjectType AuditEvent_SubjectType `json:"subject_type,omitempty"`
	//ID of the affected subject
	SubjectId string `json:"subject_id,omitempty"`
	//Action that was executed
	Action string `json:"action,omitempty"`
	// Optional description
	Comment string `json:"comment,omitempty"`
}

type AuditEvent_SubjectType

type AuditEvent_SubjectType string
const (
	AuditEvent_SubjectType_CONFIGURATION        AuditEvent_SubjectType = "CONFIGURATION"
	AuditEvent_SubjectType_DEVICE               AuditEvent_SubjectType = "DEVICE"
	AuditEvent_SubjectType_QUOTA                AuditEvent_SubjectType = "QUOTA"
	AuditEvent_SubjectType_RULE                 AuditEvent_SubjectType = "RULE"
	AuditEvent_SubjectType_TASK                 AuditEvent_SubjectType = "TASK"
	AuditEvent_SubjectType_USER                 AuditEvent_SubjectType = "USER"
	AuditEvent_SubjectType_VOLUME               AuditEvent_SubjectType = "VOLUME"
	AuditEvent_SubjectType_VOLUME_CONFIGURATION AuditEvent_SubjectType = "VOLUME_CONFIGURATION"
)

type CancelSupportDumpRequest

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

type CancelSupportDumpResponse

type CancelSupportDumpResponse struct {
}

type CancelTaskRequest

type CancelTaskRequest struct {
	// List of one or more IDs of the tasks to be canceled
	TaskId []string `json:"task_id,omitempty"`
	// contains filtered or unexported fields
}

type CancelTaskResponse

type CancelTaskResponse struct {
}

type CatchUpSettings

type CatchUpSettings struct {
	// Parameters for the downtime interval.
	DowntimeBeginTimestampMs int64 `json:"downtime_begin_timestamp_ms,omitempty"`
	// Obsolete since release 2.10
	ObsoleteDowntimeEndTimestampMs int64 `json:"OBSOLETE_downtime_end_timestamp_ms,omitempty"`
}

type Certificate

type Certificate struct {
	// Base64 encoded certificate
	Certificate string `json:"certificate,omitempty"`
	// Base64 encoded private key (optional)
	PrivateKey string `json:"private_key,omitempty"`
	// Certificate record
	Record CertificateRecord `json:"record,omitempty"`
}

type CertificateAuthority

type CertificateAuthority struct {
	// CA name
	Name string `json:"name,omitempty"`
	// CA certificate
	Certificate Certificate `json:"certificate,omitempty"`
}

type CertificateRecord

type CertificateRecord struct {
	// Restrict to subject
	Subject CertificateSubject `json:"subject,omitempty"`
	// X.509 certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// Last used from host
	LastSeenFromHost string `json:"last_seen_from_host,omitempty"`
	// Last used at timestamp
	LastSeenTimestampSeconds uint64 `json:"last_seen_timestamp_seconds,omitempty"`
	// Human readable subject
	SubjectString string `json:"subject_string,omitempty"`
}

type CertificateSigningRequest

type CertificateSigningRequest struct {
	// CSR identifier
	CsrId int64 `json:"csr_id,omitempty"`
	// Textual CSR description
	CsrDescription string `json:"csr_description,omitempty"`
	// Encoded subject
	Subject string `json:"subject,omitempty"`
	// CSR state
	State CsrState `json:"state,omitempty"`
	// Resulting certificate fingerprint
	CertificateFingerprint string `json:"certificate_fingerprint,omitempty"`
	// contains filtered or unexported fields
}

type CertificateSubject

type CertificateSubject struct {
	// Restrict to service types
	ServiceType []*ServiceType `json:"service_type,omitempty"`
	// Restrict to hosts
	RestrictToHosts []string `json:"restrict_to_hosts,omitempty"`
	// Restrict to subjects
	RestrictToSubjects []*DelegationSubject `json:"restrict_to_subjects,omitempty"`
}

type Client

type Client struct {
	ClientUuid            string `json:"client_uuid,omitempty"`
	MountedVolumeUuid     string `json:"mounted_volume_uuid,omitempty"`
	LocalMountPoint       string `json:"local_mount_point,omitempty"`
	ClientSoftwareVersion string `json:"client_software_version,omitempty"`
	Hostname              string `json:"hostname,omitempty"`
	MountUserName         string `json:"mount_user_name,omitempty"`
	StatusServerUrl       string `json:"status_server_url,omitempty"`
	// Client start time in ms since epoch
	ClientStartTimeMs int64 `json:"client_start_time_ms,omitempty"`
	// Total bytes read
	BytesRead int64 `json:"bytes_read,omitempty"`
	// Total bytes written
	BytesWritten int64 `json:"bytes_written,omitempty"`
	// Current read rate in byte/s
	ReadRate int64 `json:"read_rate,omitempty"`
	// Current write rate in byte/s
	WriteRate                int64              `json:"write_rate,omitempty"`
	ReadOperations           int64              `json:"read_operations,omitempty"`
	WriteOperations          int64              `json:"write_operations,omitempty"`
	Service                  ServiceDescription `json:"service,omitempty"`
	ReadOperationsRate       int64              `json:"read_operations_rate,omitempty"`
	WriteOperationsRate      int64              `json:"write_operations_rate,omitempty"`
	TopCreatesPerSec         []*Client_TopInfo  `json:"top_creates_per_sec,omitempty"`
	TopDeletesPerSec         []*Client_TopInfo  `json:"top_deletes_per_sec,omitempty"`
	TopStatsPerSec           []*Client_TopInfo  `json:"top_stats_per_sec,omitempty"`
	TopIops                  []*Client_TopInfo  `json:"top_iops,omitempty"`
	TopThroughputBytesPerSec []*Client_TopInfo  `json:"top_throughput_bytes_per_sec,omitempty"`
	TopReaddirsPerSec        []*Client_TopInfo  `json:"top_readdirs_per_sec,omitempty"`
	TopOpensPerSec           []*Client_TopInfo  `json:"top_opens_per_sec,omitempty"`
}

type Client_TopInfo

type Client_TopInfo struct {
	VolumeUuid string  `json:"volume_uuid,omitempty"`
	User       string  `json:"user,omitempty"`
	Process    string  `json:"process,omitempty"`
	Directory  string  `json:"directory,omitempty"`
	File       string  `json:"file,omitempty"`
	Value      float64 `json:"value,omitempty"`
}

type ConfigurationRefinement

type ConfigurationRefinement struct {
	// List of one or more filters. Multiple filters are combined with AND
	Filter []*Filter `json:"filter,omitempty"`
	// The configuration to be set
	Statement ConfigurationStatement `json:"statement,omitempty"`
}

type ConfigurationStatement

type ConfigurationStatement struct {
	// Definition of the static (creation time) file layout
	FileLayout FileLayoutSettings `json:"file_layout,omitempty"`
	// Definition of the dynamic placement constraints
	Placement PlacementSettings `json:"placement,omitempty"`
	// Definition of the IO path behavior
	IoPolicy FileIoSettings `json:"io_policy,omitempty"`
}

type ConfigurationType

type ConfigurationType string
const (
	ConfigurationType_FAILURE_DOMAINS      ConfigurationType = "FAILURE_DOMAINS"
	ConfigurationType_QUOTA_POOL           ConfigurationType = "QUOTA_POOL"
	ConfigurationType_RULE_CONFIGURATION   ConfigurationType = "RULE_CONFIGURATION"
	ConfigurationType_SYSTEM_CONFIGURATION ConfigurationType = "SYSTEM_CONFIGURATION"
	//  Obsolete since release 1.4. Use setTenant() and getTenant() instead.
	//     Must not be changed to preserve compatibility with open stack drivers
	//     (MANILA v1.2.3).
	ConfigurationType_TENANT_DOMAIN        ConfigurationType = "TENANT_DOMAIN"
	ConfigurationType_USER                 ConfigurationType = "USER"
	ConfigurationType_VOLUME_CONFIGURATION ConfigurationType = "VOLUME_CONFIGURATION"
)

type ConfigureRuleRequest

type ConfigureRuleRequest struct {
	//Identifier of the rule to be configured
	RuleIdentifier string `json:"rule_identifier,omitempty"`
	// Enable or disable rule
	SetAlertConfiguration AlertConfiguration `json:"set_alert_configuration,omitempty"`
	//Identifier of the sensor to be used
	SetSensorIdentifier string `json:"set_sensor_identifier,omitempty"`
	// Optional parameters for the sensor, i.e. threshold etc.
	SetSensorParameters []string `json:"set_sensor_parameters,omitempty"`
	// List of one or more actions to be invoked
	SetActions []*RuleAction `json:"set_actions,omitempty"`
	// contains filtered or unexported fields
}

type ConfigureRuleResponse

type ConfigureRuleResponse struct {
}

type ConsumingEntity

type ConsumingEntity struct {
	//Type of the entity
	Type ConsumingEntity_Type `json:"type,omitempty"`
	//Identifier of the entity (ID/UUID/name)
	Identifier string `json:"identifier,omitempty"`
	// Acts as a scope for USER, GROUP and VOLUME type entities. Is ignored for other entity types.
	TenantId string `json:"tenant_id,omitempty"`
	// if set: - Only allow creating TENANT quotas or VOLUME quotas for that tenant. - If the entity is a volume, check if sum of new resource limits exceeds existing tenant limit.
	DisableOversubscription bool `json:"disable_oversubscription,omitempty"`
	// Only for user/group as additional filter
	VolumeId string `json:"volume_id,omitempty"`
}

type ConsumingEntity_Type

type ConsumingEntity_Type string
const (
	ConsumingEntity_Type_DEVICE ConsumingEntity_Type = "DEVICE"
	ConsumingEntity_Type_GROUP  ConsumingEntity_Type = "GROUP"
	ConsumingEntity_Type_SYSTEM ConsumingEntity_Type = "SYSTEM"
	ConsumingEntity_Type_TENANT ConsumingEntity_Type = "TENANT"
	ConsumingEntity_Type_USER   ConsumingEntity_Type = "USER"
	ConsumingEntity_Type_VOLUME ConsumingEntity_Type = "VOLUME"
)

type CopyFilesSettings

type CopyFilesSettings struct {
	// Job configuration for each sub task of the batch.
	Job []*CopyFilesSettings_Job `json:"job,omitempty"`
}

type CopyFilesSettings_Job

type CopyFilesSettings_Job struct {
	// Defines from where files will be copied from.
	Source CopyFilesSettings_Job_Location `json:"source,omitempty"`
	// Defines to where files will be copied to.
	Destination CopyFilesSettings_Job_Location `json:"destination,omitempty"`
	// Filters are evaluated in a logical AND fashion.
	Filter []*CopyFilesSettings_Job_Filter `json:"filter,omitempty"`
	// Defines how the destination files are being created.
	DestinationFileSettings CopyFilesSettings_Job_DestinationFileSettings `json:"destination_file_settings,omitempty"`
	// Define what happens to source and/or destination files after finishing copying. Only relevant if not doing in-place recode, but copies.
	CommitAction CopyFilesSettings_Job_CommitAction `json:"commit_action,omitempty"`
}

type CopyFilesSettings_Job_CommitAction

type CopyFilesSettings_Job_CommitAction string
const (
	CopyFilesSettings_Job_CommitAction_DELETE_SOURCE_FILE CopyFilesSettings_Job_CommitAction = "DELETE_SOURCE_FILE"
)

type CopyFilesSettings_Job_DestinationFileSettings

type CopyFilesSettings_Job_DestinationFileSettings struct {
	// Define behavior on file creation. Only relevant if not doing in-place recode, but copies.
	CreateBehavior CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior `json:"create_behavior,omitempty"`
	// Define whether to keep existing redundancy or recode the file.
	RedundancySetting CopyFilesSettings_Job_DestinationFileSettings_RedundancySetting `json:"redundancy_setting,omitempty"`
}

type CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior

type CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior string
const (
	CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior_FAIL_IF_FILE_EXISTS     CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior = "FAIL_IF_FILE_EXISTS"
	CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior_OVERWRITE_EXISTING_FILE CopyFilesSettings_Job_DestinationFileSettings_CreateBehavior = "OVERWRITE_EXISTING_FILE"
)

type CopyFilesSettings_Job_DestinationFileSettings_RedundancySetting

type CopyFilesSettings_Job_DestinationFileSettings_RedundancySetting string
const (
	CopyFilesSettings_Job_DestinationFileSettings_RedundancySetting_APPLY_DESTINATION_POLICY_RULES CopyFilesSettings_Job_DestinationFileSettings_RedundancySetting = "APPLY_DESTINATION_POLICY_RULES"
)

type CopyFilesSettings_Job_Filter

type CopyFilesSettings_Job_Filter struct {
	// Filter files by either current file size, atime or mtime.
	Type CopyFilesSettings_Job_Filter_Type `json:"type,omitempty"`
	// Compare current file size, atime or mtime of files using this operator.
	Operator CopyFilesSettings_Job_Filter_Operator `json:"operator,omitempty"`
	// The current file size, atime or mtime value to compare with.
	Value int64 `json:"value,omitempty"`
}

type CopyFilesSettings_Job_Filter_Operator

type CopyFilesSettings_Job_Filter_Operator string
const (
	CopyFilesSettings_Job_Filter_Operator_EQUALS       CopyFilesSettings_Job_Filter_Operator = "EQUALS"
	CopyFilesSettings_Job_Filter_Operator_LARGER_THAN  CopyFilesSettings_Job_Filter_Operator = "LARGER_THAN"
	CopyFilesSettings_Job_Filter_Operator_SMALLER_THAN CopyFilesSettings_Job_Filter_Operator = "SMALLER_THAN"
)

type CopyFilesSettings_Job_Filter_Type

type CopyFilesSettings_Job_Filter_Type string
const (
	CopyFilesSettings_Job_Filter_Type_CURRENT_FILE_SIZE       CopyFilesSettings_Job_Filter_Type = "CURRENT_FILE_SIZE"
	CopyFilesSettings_Job_Filter_Type_LAST_ACCESS_AGE_S       CopyFilesSettings_Job_Filter_Type = "LAST_ACCESS_AGE_S"
	CopyFilesSettings_Job_Filter_Type_LAST_MODIFICATION_AGE_S CopyFilesSettings_Job_Filter_Type = "LAST_MODIFICATION_AGE_S"
)

type CopyFilesSettings_Job_Location

type CopyFilesSettings_Job_Location struct {
	// Exactly one Location type is allowed to be set. (Currently, only Quobyte is supported.)
	Quobyte CopyFilesSettings_Job_Location_Quobyte `json:"quobyte,omitempty"`
}

type CopyFilesSettings_Job_Location_Quobyte

type CopyFilesSettings_Job_Location_Quobyte struct {
	// Either a list of registries (<hostname/IP>:<port>), a single DNS SRV or QNS record. Can only be set for the destination; any Quobyte source must be the local cluster.
	Registry []string `json:"registry,omitempty"`
	// The volume UUID.
	Volume string `json:"volume,omitempty"`
	// Path to a subdirectory to restrict to. If recoding, that is if source and destination volume are the same, must not be set. Otherwise, must only be set for the destination. (Infinite recursive copies could occur otherwise.)
	Path string `json:"path,omitempty"`
}

type CreateAccessKeyCredentialsRequest

type CreateAccessKeyCredentialsRequest struct {
	TenantId     string `json:"tenant_id,omitempty"`
	UserName     string `json:"user_name,omitempty"`
	ValidityDays int32  `json:"validity_days,omitempty"`
	// e.g. S3 for S3 credentials
	AccessKeyType AccessKeyType `json:"access_key_type,omitempty"`
	// contains filtered or unexported fields
}

type CreateAccessKeyCredentialsResponse

type CreateAccessKeyCredentialsResponse struct {
	AccessKeyCredentials AccessKeyCredentials `json:"access_key_credentials,omitempty"`
}

type CreateCopyFilesTaskRequest

type CreateCopyFilesTaskRequest struct {
	// Textual representation of the settings.
	CopyFilesSettingsProtoDump string `json:"copy_files_settings_proto_dump,omitempty"`
	// Optional comment
	Comment string `json:"comment,omitempty"`
	// contains filtered or unexported fields
}

type CreateMirroredVolumeRequest

type CreateMirroredVolumeRequest struct {
	LocalVolumeName        string   `json:"local_volume_name,omitempty"`
	LocalConfigurationName string   `json:"local_configuration_name,omitempty"`
	LocalTenantId          string   `json:"local_tenant_id,omitempty"`
	RemoteVolumeUuid       string   `json:"remote_volume_uuid,omitempty"`
	RemoteRegistryTarget   []string `json:"remote_registry_target,omitempty"`
	// contains filtered or unexported fields
}

type CreateMirroredVolumeResponse

type CreateMirroredVolumeResponse struct {
	//UUID of the created volume
	VolumeUuid string `json:"volume_uuid,omitempty"`
}

type CreateSnapshotRequest

type CreateSnapshotRequest struct {
	// Volume uuid
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty"`
	// Comment
	Comment string `json:"comment,omitempty"`
	// Create pinned snapshot (will not be deleted by cleanup)
	Pinned bool `json:"pinned,omitempty"`
	// contains filtered or unexported fields
}

type CreateSnapshotResponse

type CreateSnapshotResponse struct {
	// Snapshot version
	Version uint64 `json:"version,omitempty"`
}

type CreateTaskRequest

type CreateTaskRequest struct {
	//Type of the task
	TaskType TaskType `json:"task_type,omitempty"`
	// Settings for REBALANCE tasks
	RebalanceSettings RebalanceSettings `json:"rebalance_settings,omitempty"`
	// Settings for SCRUB tasks
	ScrubSettings ScrubSettings `json:"scrub_settings,omitempty"`
	// Settings for CATCH UP tasks
	CatchUpSettings CatchUpSettings `json:"catch_up_settings,omitempty"`
	// Settings for MAKE DEVICE tasks
	MakeDeviceSettings MakeDeviceSettings `json:"make_device_settings,omitempty"`
	// Settings for COPY_FILES tasks. (CURRENTLY IN BETA!)
	CopyFilesSettings CopyFilesSettings `json:"copy_files_settings,omitempty"`
	// List of devices the task should be restricted to
	RestrictToDevices []*uint64 `json:"restrict_to_devices,omitempty"`
	// List of volumes the task should be restricted to
	RestrictToVolumes []string `json:"restrict_to_volumes,omitempty"`
	// Optional comment
	Comment            string `json:"comment,omitempty"`
	ObsoleteTargetUuid string `json:"OBSOLETE_target_uuid,omitempty"`
	// contains filtered or unexported fields
}

type CreateTaskResponse

type CreateTaskResponse struct {
	// ID of the created task
	TaskId string `json:"task_id,omitempty"`
}

type CreateUserRequest

type CreateUserRequest struct {
	UserName string   `json:"user_name,omitempty"`
	Password string   `json:"password,omitempty"`
	Email    string   `json:"email,omitempty"`
	TenantId string   `json:"tenant_id,omitempty"`
	Role     UserRole `json:"role,omitempty"`
	// contains filtered or unexported fields
}

type CreateUserResponse

type CreateUserResponse struct {
	UserConfiguration UserConfiguration `json:"user_configuration,omitempty"`
}

type CreateVolumeRequest

type CreateVolumeRequest struct {
	// Human readable name of the volume to be created.
	Name string `json:"name,omitempty"`
	// List of one or more metadata device uuids to store replicas of this volume. Optional, if absent replicas will be placed automatically.
	ReplicaDeviceIds []*uint64 `json:"replica_device_ids,omitempty"`
	// userid of the owner of the root directory (Linux uid, certificate CN).
	RootUserId string `json:"root_user_id,omitempty"`
	// group id of the owner of the root directory (Linux gid, certificate OU).
	RootGroupId string `json:"root_group_id,omitempty"`
	// Will be generated automatically.
	ObsoleteVolumeUuid string `json:"OBSOLETE_volume_uuid,omitempty"`
	ConfigurationName  string `json:"configuration_name,omitempty"`
	// POSIX access mode for the root directory of the newly created volume.
	AccessMode uint32 `json:"access_mode,omitempty"`
	// Optional tenant
	TenantId string `json:"tenant_id,omitempty"`
	// DEPRECATED Legacy name for field 8
	TenantDomain string `json:"tenant_domain,omitempty"`
	// ACL of the root directory
	RootAcl AccessControlList `json:"root_acl,omitempty"`
	// contains filtered or unexported fields
}

type CreateVolumeResponse

type CreateVolumeResponse struct {
	//UUID of the created volume
	VolumeUuid string `json:"volume_uuid,omitempty"`
}

type CrlReason

type CrlReason string
const (
	CrlReason_AA_COMPROMISE          CrlReason = "AA_COMPROMISE"
	CrlReason_AFFILIATION_CHANGED    CrlReason = "AFFILIATION_CHANGED"
	CrlReason_CA_COMPROMISE          CrlReason = "CA_COMPROMISE"
	CrlReason_CERTIFICATE_HOLD       CrlReason = "CERTIFICATE_HOLD"
	CrlReason_CESSATION_OF_OPERATION CrlReason = "CESSATION_OF_OPERATION"
	CrlReason_KEY_COMPROMISE         CrlReason = "KEY_COMPROMISE"
	CrlReason_PRIVILEGE_WITHDRAWN    CrlReason = "PRIVILEGE_WITHDRAWN"
	CrlReason_REMOVE_FROM_CRL        CrlReason = "REMOVE_FROM_CRL"
	CrlReason_SUPERSEDED             CrlReason = "SUPERSEDED"
	CrlReason_UNSPECIFIED            CrlReason = "UNSPECIFIED"
)

type CsrState

type CsrState string
const (
	CsrState_APPROVED CsrState = "APPROVED"
	CsrState_PENDING  CsrState = "PENDING"
	CsrState_REJECTED CsrState = "REJECTED"
)

type DecideCsrRequest

type DecideCsrRequest struct {
	// CSR identifier
	CsrId int64 `json:"csr_id,omitempty"`
	// Override csr subject with effective subject
	EffectiveSubject string `json:"effective_subject,omitempty"`
	// Approve CSR
	Approve bool `json:"approve,omitempty"`
	// contains filtered or unexported fields
}

type DecideCsrResponse

type DecideCsrResponse struct {
}

type DelegationSubject

type DelegationSubject struct {
	// Restrict to tenant id
	Tenant string `json:"tenant,omitempty"`
	// Restrict to volume
	Volume string `json:"volume,omitempty"`
	// Restrict to user
	User string `json:"user,omitempty"`
	// Restrict to groups
	Groups []string `json:"groups,omitempty"`
	// Allow only read access
	ReadOnly bool `json:"read_only,omitempty"`
	// Forbid root access
	ForbidRoot bool `json:"forbid_root,omitempty"`
}

type DeleteAccessKeyCredentialsRequest

type DeleteAccessKeyCredentialsRequest struct {
	UserName    string `json:"user_name,omitempty"`
	AccessKeyId string `json:"access_key_id,omitempty"`
	// contains filtered or unexported fields
}

type DeleteAccessKeyCredentialsResponse

type DeleteAccessKeyCredentialsResponse struct {
}

type DeleteCaRequest

type DeleteCaRequest struct {
	// CA name
	Name string `json:"name,omitempty"`
	// contains filtered or unexported fields
}

type DeleteCaResponse

type DeleteCaResponse struct {
}

type DeleteCertificateRequest

type DeleteCertificateRequest struct {
	// X.509 certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// contains filtered or unexported fields
}

type DeleteCertificateResponse

type DeleteCertificateResponse struct {
}

type DeleteConfigurationRequest

type DeleteConfigurationRequest struct {
	//Type of the configuration to be deleted
	ConfigurationType ConfigurationType `json:"configuration_type,omitempty"`
	// Name of the configuration to be deleted
	ConfigurationName string `json:"configuration_name,omitempty"`
	// contains filtered or unexported fields
}

type DeleteConfigurationResponse

type DeleteConfigurationResponse struct {
}

type DeleteCsrRequest

type DeleteCsrRequest struct {
	CsrId int64 `json:"csr_id,omitempty"`
	// contains filtered or unexported fields
}

type DeleteCsrResponse

type DeleteCsrResponse struct {
}

type DeleteSnapshotRequest

type DeleteSnapshotRequest struct {
	// Volume uuid
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty"`
	// contains filtered or unexported fields
}

type DeleteSnapshotResponse

type DeleteSnapshotResponse struct {
}

type DeleteTenantRequest

type DeleteTenantRequest struct {
	TenantId string `json:"tenant_id,omitempty"`
	// contains filtered or unexported fields
}

type DeleteTenantResponse

type DeleteTenantResponse struct {
}

type DeleteUserRequest

type DeleteUserRequest struct {
	UserName string `json:"user_name,omitempty"`
	// contains filtered or unexported fields
}

type DeleteUserResponse

type DeleteUserResponse struct {
}

type DeleteVolumeRequest

type DeleteVolumeRequest struct {
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// contains filtered or unexported fields
}

type DeleteVolumeResponse

type DeleteVolumeResponse struct {
}

type DeregisterServiceRequest

type DeregisterServiceRequest struct {
	ServiceUuid string `json:"service_uuid,omitempty"`
	// contains filtered or unexported fields
}

type DeregisterServiceResponse

type DeregisterServiceResponse struct {
}

type Device

type Device struct {
	// UUID of the device (e.g.
	DeviceId uint64 `json:"device_id,omitempty"`
	//Custom label (name) for the device
	DeviceLabel string `json:"device_label,omitempty"`
	// List of one or more contents of the device
	Content []*DeviceContent `json:"content,omitempty"`
	//Current status of the device
	DeviceStatus Device_Status `json:"device_status,omitempty"`
	//Name of the host where this device resides
	HostName string `json:"host_name,omitempty"`
	//Total size of the device
	TotalDiskSpaceBytes uint64 `json:"total_disk_space_bytes,omitempty"`
	//Currently used bytes on the device
	UsedDiskSpaceBytes uint64 `json:"used_disk_space_bytes,omitempty"`
	//List of optional device tags
	DeviceTags []string `json:"device_tags,omitempty"`
	// List of optional failure domains this device belongs to
	FailureDomainInfos []*FailureDomainInfo `json:"failure_domain_infos,omitempty"`
	//Current LED status of the device
	LedStatus Device_LEDStatus `json:"led_status,omitempty"`
	//Device does not contain any active data after a drain
	IsEmpty bool `json:"is_empty,omitempty"`
	//If true, file placement will move any replica under consideration away from this device.
	Draining bool `json:"draining,omitempty"`
	//Device serial number extracted via smartctl by qmkdev
	DeviceSerialNumber string `json:"device_serial_number,omitempty"`
	//Device model extracted via smartctl by qmkdev
	DeviceModel string `json:"device_model,omitempty"`
	//Disk type detected by the storage server
	DetectedDiskType DeviceHardwareType `json:"detected_disk_type,omitempty"`
	//Local file system path where the device is mounted
	CurrentMountPath string `json:"current_mount_path,omitempty"`
	//Number of referenced files, according to Metadata service
	FileCount int64 `json:"file_count,omitempty"`
	//Number of volume replicas
	VolumeDatabaseCount int64 `json:"volume_database_count,omitempty"`
	//Number of registry replicas (0 or 1)
	RegistryDatabaseCount int64 `json:"registry_database_count,omitempty"`
	//Number of IO errors
	IoErrorCount int64 `json:"io_error_count,omitempty"`
	//Number of CRC errors
	CrcErrorCount int64 `json:"crc_error_count,omitempty"`
	//Timestamp of last cleanup
	LastCleanupMs int64 `json:"last_cleanup_ms,omitempty"`
	//Current utilization in percent
	CurrentUtilization float64 `json:"current_utilization,omitempty"`
	//Number of reallocated sectors, extracted via smartctl (attribute #5)
	ReallocatedSectorCt int64 `json:"reallocated_sector_ct,omitempty"`
	//Number of unrecoverable errors, extracted via smartctl (attribute #187)
	ReportedUncorrect int64 `json:"reported_uncorrect,omitempty"`
	//Number of aborted operations due to timeout, extracted via smartctl (attribute #188)
	CommandTimeout int64 `json:"command_timeout,omitempty"`
	//Number of currently unstable sectors waiting to be remapped, extracted via smartctl (attribute #197)
	CurrentPendingSector int64 `json:"current_pending_sector,omitempty"`
	//Number of uncorrectable errors, extracted via smartctl (attribute #198)
	OfflineUncorrectable int64 `json:"offline_uncorrectable,omitempty"`
	// Total time the drive was running, extracted via smartctl (attribute #9)
	PowerOnHours int64 `json:"power_on_hours,omitempty"`
	// The total number of bytes written during the entire lifetime of the device, extracted via smartctl (attribute #241)
	TotalBytesWritten int64 `json:"total_bytes_written,omitempty"`
	// The total number of bytes read during the entire lifetime of the device, extracted via smartctl (attribute #242)
	TotalBytesRead int64 `json:"total_bytes_read,omitempty"`
	// The wear-out indicator of the device (attribute #177, #231, or #233)
	DeviceLifeLeft int64 `json:"device_life_left,omitempty"`
	// The crc error count, extracted via smartclt (attribute #199)
	SmartCrcErrorCount int64 `json:"smart_crc_error_count,omitempty"`
	// The device temperature in degree celsius (attribute #194)
	DeviceTemperatureInC int64 `json:"device_temperature_in_c,omitempty"`
	// True if device is primary in the current replica set
	IsPrimary bool `json:"is_primary,omitempty"`
	//Timestamp of last fstrim
	LastFstrimMs uint64              `json:"last_fstrim_ms,omitempty"`
	DeviceHealth Device_DeviceHealth `json:"device_health,omitempty"`
	// timestamp when this device was detected fully available by the health manager timestamp is used for device unavailable alerts and Regenerate Unavailable HM policy.
	LastDeviceAvailableMs uint64 `json:"last_device_available_ms,omitempty"`
	FirmwareVersion       string `json:"firmware_version,omitempty"`
}

type DeviceContent

type DeviceContent struct {
	// Type of data this content has.
	ContentType DeviceContent_ContentType `json:"content_type,omitempty"`
	//The service that manages the content
	ServiceUuid string `json:"service_uuid,omitempty"`
	// Last time it was online
	LastSeenTimestampMs uint64 `json:"last_seen_timestamp_ms,omitempty"`
	// Indicates whether device is currently available
	Available bool `json:"available,omitempty"`
	//If the device is not available (not currently registered with a service) this field contains the UUID of the service where the device was last registered.
	LastSeenServiceUuid string `json:"last_seen_service_uuid,omitempty"`
	// Name of the service where it was last registered
	LastSeenServiceName string `json:"last_seen_service_name,omitempty"`
	//Mountpoint that it was last registered at
	LastSeenMountPath string `json:"last_seen_mount_path,omitempty"`
	// Timestamp until which the device can be considered as up-to-date for this content (i.e., needs no catch-up). If not set, the device can be considered as completely up-to-date for this content.
	UpToDateUntilMs uint64 `json:"up_to_date_until_ms,omitempty"`
}

type DeviceContent_ContentType

type DeviceContent_ContentType string
const (
	DeviceContent_ContentType_DATA     DeviceContent_ContentType = "DATA"
	DeviceContent_ContentType_METADATA DeviceContent_ContentType = "METADATA"
	DeviceContent_ContentType_REGISTRY DeviceContent_ContentType = "REGISTRY"
)

type DeviceHardwareType

type DeviceHardwareType string
const (
	DeviceHardwareType_ROTATING_DISK         DeviceHardwareType = "ROTATING_DISK"
	DeviceHardwareType_SHINGLED_DISK         DeviceHardwareType = "SHINGLED_DISK"
	DeviceHardwareType_SOLID_STATE_DISK      DeviceHardwareType = "SOLID_STATE_DISK"
	DeviceHardwareType_SOLID_STATE_DISK_NVME DeviceHardwareType = "SOLID_STATE_DISK_NVME"
	DeviceHardwareType_UNKNOWN               DeviceHardwareType = "UNKNOWN"
)

type DeviceList

type DeviceList struct {
	Devices []*Device `json:"devices,omitempty"`
}

type DeviceNetworkEndpoint

type DeviceNetworkEndpoint struct {
	// FQDN or IP address of the server.
	Hostname string `json:"hostname,omitempty"`
	// TCP/UDP port number.
	Port int32 `json:"port,omitempty"`
	// Type of device for this endpoint.
	DeviceType DeviceContent_ContentType `json:"device_type,omitempty"`
}

type Device_DeviceHealth

type Device_DeviceHealth struct {
	HealthStatus Device_DeviceHealth_DeviceHealthStatus `json:"health_status,omitempty"`
	ErrorReport  string                                 `json:"error_report,omitempty"`
}

type Device_DeviceHealth_DeviceHealthStatus

type Device_DeviceHealth_DeviceHealthStatus string
const (
	Device_DeviceHealth_DeviceHealthStatus_DEFECTIVE Device_DeviceHealth_DeviceHealthStatus = "DEFECTIVE"
	Device_DeviceHealth_DeviceHealthStatus_HEALTHY   Device_DeviceHealth_DeviceHealthStatus = "HEALTHY"
)

type Device_LEDStatus

type Device_LEDStatus string
const (
	Device_LEDStatus_FAIL   Device_LEDStatus = "FAIL"
	Device_LEDStatus_LOCATE Device_LEDStatus = "LOCATE"
	Device_LEDStatus_OFF    Device_LEDStatus = "OFF"
)

type Device_Status

type Device_Status string
const (
	Device_Status_DECOMMISSIONED Device_Status = "DECOMMISSIONED"
	Device_Status_DRAIN          Device_Status = "DRAIN"
	Device_Status_OFFLINE        Device_Status = "OFFLINE"
	Device_Status_ONLINE         Device_Status = "ONLINE"
	Device_Status_REGENERATE     Device_Status = "REGENERATE"
)

type DisconnectMirroredVolumeRequest

type DisconnectMirroredVolumeRequest struct {
	// The volume UUID.
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// contains filtered or unexported fields
}

type DisconnectMirroredVolumeResponse

type DisconnectMirroredVolumeResponse struct {
}

type EraseVolumeRequest

type EraseVolumeRequest struct {
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// contains filtered or unexported fields
}

type EraseVolumeResponse

type EraseVolumeResponse struct {
}

type ExportCertificateRequest

type ExportCertificateRequest struct {
	// X.509 certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// contains filtered or unexported fields
}

type ExportCertificateResponse

type ExportCertificateResponse struct {
	// Certificate
	Certificate Certificate `json:"certificate,omitempty"`
}

type ExportConfigurationRequest

type ExportConfigurationRequest struct {
	// Requested configuration type (e.g."VOLUME_CONFIGURATION")
	ConfigurationType ConfigurationType `json:"configuration_type,omitempty"`
	// Name of the configuration
	ConfigurationName string `json:"configuration_name,omitempty"`
	// contains filtered or unexported fields
}

type ExportConfigurationResponse

type ExportConfigurationResponse struct {
	// String representation of the requested configuration
	ProtoDump string `json:"proto_dump,omitempty"`
}

type ExportVolumeRequest

type ExportVolumeRequest struct {
	//UUID of the volume to be made available
	VolumeUuid string `json:"volume_uuid,omitempty"`
	Protocol   string `json:"protocol,omitempty"`
	//IP or network address to grant access to
	AddAllowIp string `json:"add_allow_ip,omitempty"`
	//IP or network address to revoke access for
	RemoveAllowIp string `json:"remove_allow_ip,omitempty"`
	// True if export should be read-only
	ReadOnly bool `json:"read_only,omitempty"`
	// True if volume should be made unavailable
	RemoveExport bool `json:"remove_export,omitempty"`
	// contains filtered or unexported fields
}

type ExportVolumeResponse

type ExportVolumeResponse struct {
	// The IP address of the NFS endpoint
	NfsServerIp string `json:"nfs_server_ip,omitempty"`
	// The NFS export path
	NfsExportPath string `json:"nfs_export_path,omitempty"`
}

type FailureDomain

type FailureDomain struct {
	//The name of the failure domain
	Name       string            `json:"name,omitempty"`
	DomainType FailureDomainType `json:"domain_type,omitempty"`
	//List of one or more IP addresses belonging to the failure domain
	Ip []string `json:"ip,omitempty"`
	//List of one or more IP networks belonging to the failure domain. Notation: <address>/<netmask length>
	Network []string `json:"network,omitempty"`
}

type FailureDomainConfiguration

type FailureDomainConfiguration struct {
	// List of one or more configured failure domains
	Domain []*FailureDomain `json:"domain,omitempty"`
}

type FailureDomainInfo

type FailureDomainInfo struct {
	//Name of the failure domain
	Name string `json:"name,omitempty"`
	//Type of the failure domain
	DomainType FailureDomainType `json:"domain_type,omitempty"`
}

type FailureDomainType

type FailureDomainType string
const (
	FailureDomainType_CLUSTER FailureDomainType = "CLUSTER"
	FailureDomainType_METRO   FailureDomainType = "METRO"
	FailureDomainType_POWER_1 FailureDomainType = "POWER_1"
	FailureDomainType_POWER_2 FailureDomainType = "POWER_2"
	FailureDomainType_RACK    FailureDomainType = "RACK"
	FailureDomainType_ROOM    FailureDomainType = "ROOM"
)

type FileIoSettings

type FileIoSettings struct {
	// Cache size in objects. Determines possible parallelism
	CacheSizeInObjects int64 `json:"cache_size_in_objects,omitempty"`
	// Enable asynchronous write-backs of dirty data
	ObsoleteEnableAsyncWritebacks bool `json:"OBSOLETE_enable_async_writebacks,omitempty"`
	// Write dirty data directly to disk
	ObsoleteAsyncWritebacksAreSync bool `json:"OBSOLETE_async_writebacks_are_sync,omitempty"`
	// Enable checksum verification on the client for read
	EnableClientChecksumVerification bool `json:"enable_client_checksum_verification,omitempty"`
	// Enable checksum computation on the client for write (DO NOT DISABLE)
	EnableClientChecksumComputation bool `json:"enable_client_checksum_computation,omitempty"`
	// O_SYNC semantics (default is to pass O_SYNC with write to client).
	SyncWrites ModeOverride `json:"sync_writes,omitempty"`
	// O_DIRECT semantics (default is no caching, direct write to OSD), DISABLE_ALWAYS will enable the client cache also for writes with O_DIRECT */
	DirectIo ModeOverride `json:"direct_io,omitempty"`
	// Pass-through errors to application instead of retrying forever.
	ObsoleteInteractiveMode bool `json:"OBSOLETE_interactive_mode,omitempty"`
	// implicitly lock file on open
	ObsoleteImplicitLocking bool `json:"OBSOLETE_implicit_locking,omitempty"`
	// Behavior in case of lost locks
	LostLockBehavior LostLockBehavior `json:"lost_lock_behavior,omitempty"`
	// Do not clean page cache on open. Deprecated since Quobyte 1.4
	ObsoleteKeepPageCache bool `json:"OBSOLETE_keep_page_cache,omitempty"`
	// Implicit locking mode
	ImplicitLockingMode ImplicitLockingMode `json:"implicit_locking_mode,omitempty"`
	//  Skip page cache on data service for cache write backs
	EnableDirectWritebacks bool `json:"enable_direct_writebacks,omitempty"`
	// Notify data service on close. Leads to higher but more consistent close latencies
	NotifyDataserviceOnClose bool `json:"notify_dataservice_on_close,omitempty"`
	// Whether to clear fuse page cache on open or use heuristic based on mtime
	KeepPageCacheMode PageCacheMode `json:"keep_page_cache_mode,omitempty"`
	// Control quorum reads
	ObsoleteQuorumReadMode QuorumReadMode `json:"OBSOLETE_quorum_read_mode,omitempty"`
	// retry mode for client rpcs (replaces interactive_mode)
	RpcRetryMode RpcRetryMode `json:"rpc_retry_mode,omitempty"`
	// require some or all successful parity updates for ec files
	EcRequiredParities FileIoSettings_EcParityMode `json:"ec_required_parities,omitempty"`
	// Handle locks locally by the client
	LockScope FileIoSettings_LockScope `json:"lock_scope,omitempty"`
	// Priority of operations in queues of the IO path
	IoPriority FileIoSettings_IoPriority `json:"io_priority,omitempty"`
	// Maximum time a write back is deferred after close
	DeferWritebackAfterCloseUpToS uint64 `json:"defer_writeback_after_close_up_to_s,omitempty"`
	// Handle concurrently appended files with a read-modify-write cycle
	HandleConcurrentAppends bool `json:"handle_concurrent_appends,omitempty"`
}

type FileIoSettings_EcParityMode

type FileIoSettings_EcParityMode string
const (
	FileIoSettings_EcParityMode_RELAXED FileIoSettings_EcParityMode = "RELAXED"
	FileIoSettings_EcParityMode_STRONG  FileIoSettings_EcParityMode = "STRONG"
)

type FileIoSettings_IoPriority

type FileIoSettings_IoPriority string
const (
	FileIoSettings_IoPriority_HIGH_PRIORITY   FileIoSettings_IoPriority = "HIGH_PRIORITY"
	FileIoSettings_IoPriority_LOW_PRIORITY    FileIoSettings_IoPriority = "LOW_PRIORITY"
	FileIoSettings_IoPriority_NORMAL_PRIORITY FileIoSettings_IoPriority = "NORMAL_PRIORITY"
)

type FileIoSettings_LockScope

type FileIoSettings_LockScope string
const (
	FileIoSettings_LockScope_CLIENT FileIoSettings_LockScope = "CLIENT"
	FileIoSettings_LockScope_GLOBAL FileIoSettings_LockScope = "GLOBAL"
)

type FileLayoutSettings

type FileLayoutSettings struct {
	// Number of stripes
	StripeWidth uint32 `json:"stripe_width,omitempty"`
	// Number of replicas. Each stripe has its own replica set.
	ReplicationFactor uint32 `json:"replication_factor,omitempty"`
	// Size of an individual block. Multiple of 512 bytes. Default: 4k.
	BlockSizeBytes uint32 `json:"block_size_bytes,omitempty"`
	// Size of an object, the unit of replication. Multiple of block size. Default: 8M.
	ObjectSizeBytes uint32 `json:"object_size_bytes,omitempty"`
	//
	StripingMethod FileLayoutSettings_StripingMethod `json:"striping_method,omitempty"`
	// Size of a segment, the unit for splitting files across devices. Multiple of object size. Default: 10G.
	SegmentSizeBytes uint64                          `json:"segment_size_bytes,omitempty"`
	CrcMethod        FileLayoutSettings_CrcMethod    `json:"crc_method,omitempty"`
	CodingMethod     FileLayoutSettings_CodingMethod `json:"coding_method,omitempty"`
	// Erasure Code N
	CodingDataBlocks uint32 `json:"coding_data_blocks,omitempty"`
	// Erasure Code M
	CodingParityBlocks uint32                              `json:"coding_parity_blocks,omitempty"`
	PersistentFormat   FileLayoutSettings_PersistentFormat `json:"persistent_format,omitempty"`
	RedundancyMethod   FileLayoutSettings_RedundancyMethod `json:"redundancy_method,omitempty"`
}

type FileLayoutSettings_CodingMethod

type FileLayoutSettings_CodingMethod string
const (
	FileLayoutSettings_CodingMethod_NONE         FileLayoutSettings_CodingMethod = "NONE"
	FileLayoutSettings_CodingMethod_REED_SOLOMON FileLayoutSettings_CodingMethod = "REED_SOLOMON"
)

type FileLayoutSettings_CrcMethod

type FileLayoutSettings_CrcMethod string
const (
	FileLayoutSettings_CrcMethod_CRC32C       FileLayoutSettings_CrcMethod = "CRC32C"
	FileLayoutSettings_CrcMethod_CRC_32_ISCSI FileLayoutSettings_CrcMethod = "CRC_32_ISCSI"
	FileLayoutSettings_CrcMethod_NO_CRC       FileLayoutSettings_CrcMethod = "NO_CRC"
)

type FileLayoutSettings_PersistentFormat

type FileLayoutSettings_PersistentFormat string
const (
	FileLayoutSettings_PersistentFormat_V1 FileLayoutSettings_PersistentFormat = "V1"
	FileLayoutSettings_PersistentFormat_V2 FileLayoutSettings_PersistentFormat = "V2"
)

type FileLayoutSettings_RedundancyMethod

type FileLayoutSettings_RedundancyMethod string
const (
	FileLayoutSettings_RedundancyMethod_AUTO_WRITE_SEQUENTIAL FileLayoutSettings_RedundancyMethod = "AUTO_WRITE_SEQUENTIAL"
	FileLayoutSettings_RedundancyMethod_CUSTOM                FileLayoutSettings_RedundancyMethod = "CUSTOM"
)

type FileLayoutSettings_StripingMethod

type FileLayoutSettings_StripingMethod string
const (
	FileLayoutSettings_StripingMethod_BLOCK_LEVEL  FileLayoutSettings_StripingMethod = "BLOCK_LEVEL"
	FileLayoutSettings_StripingMethod_OBJECT_LEVEL FileLayoutSettings_StripingMethod = "OBJECT_LEVEL"
)

type FileMetadataCacheConfiguration

type FileMetadataCacheConfiguration struct {
	// TTL in milliseconds for cached metadata
	CacheTtlMs int32 `json:"cache_ttl_ms,omitempty"`
	// TTL in milliseconds for negative cache of metadata. Set to 0 to disable
	NegativeCacheTtlMs int32 `json:"negative_cache_ttl_ms,omitempty"`
	// Enable some metadata to be written back asynchronously
	EnableWriteBackCache bool `json:"enable_write_back_cache,omitempty"`
}

type FileMetadataDump

type FileMetadataDump struct {
	// resolved file path
	File string `json:"file,omitempty"`
	// resolved file id
	FileId              int64  `json:"file_id,omitempty"`
	VolumeUuid          string `json:"volume_uuid,omitempty"`
	FileMetadata        string `json:"file_metadata,omitempty"`
	DynamicFileMetadata string `json:"dynamic_file_metadata,omitempty"`
}

type FileRetentionPolicy

type FileRetentionPolicy struct {
	// Retention properties
	Property []*FileRetentionPolicy_RetentionProperty `json:"property,omitempty"`
	// If empty, quobyte.retention_timestamp must be set Retention is only effective when a timestamp is set.
	DefaultRetentionDurationS int64 `json:"default_retention_duration_s,omitempty"`
}

type FileRetentionPolicy_RetentionProperty

type FileRetentionPolicy_RetentionProperty string
const (
	FileRetentionPolicy_RetentionProperty_DELETE_AFTER          FileRetentionPolicy_RetentionProperty = "DELETE_AFTER"
	FileRetentionPolicy_RetentionProperty_IMMUTABLE             FileRetentionPolicy_RetentionProperty = "IMMUTABLE"
	FileRetentionPolicy_RetentionProperty_MAY_EXTEND_RETENTION  FileRetentionPolicy_RetentionProperty = "MAY_EXTEND_RETENTION"
	FileRetentionPolicy_RetentionProperty_MAY_SHORTEN_RETENTION FileRetentionPolicy_RetentionProperty = "MAY_SHORTEN_RETENTION"
	FileRetentionPolicy_RetentionProperty_RETAIN_UNTIL          FileRetentionPolicy_RetentionProperty = "RETAIN_UNTIL"
)

type Filter

type Filter struct {
	// Supported properties: path, filename, size, last_access, username
	Property FilterFileProperty `json:"property,omitempty"`
	// Supported operators: matches, smaller, larger, older
	Operator FilterOperator `json:"operator,omitempty"`
	// Supported values (depending on property and operator): regex, times, byte sizes
	Value string `json:"value,omitempty"`
}

type FilterFileProperty

type FilterFileProperty string
const (
	FilterFileProperty_CURRENT_FILE_SIZE         FilterFileProperty = "CURRENT_FILE_SIZE"
	FilterFileProperty_EXPECTED_SIZE_OF_NEW_FILE FilterFileProperty = "EXPECTED_SIZE_OF_NEW_FILE"
	FilterFileProperty_FILENAME                  FilterFileProperty = "FILENAME"
	FilterFileProperty_LAST_ACCESS_AGE           FilterFileProperty = "LAST_ACCESS_AGE"
	FilterFileProperty_LAST_MODIFICATION_AGE     FilterFileProperty = "LAST_MODIFICATION_AGE"
	FilterFileProperty_OWNER_USER_NAME           FilterFileProperty = "OWNER_USER_NAME"
)

type FilterOperator

type FilterOperator string
const (
	FilterOperator_CONTAINS          FilterOperator = "CONTAINS"
	FilterOperator_ENDS_WITH         FilterOperator = "ENDS_WITH"
	FilterOperator_EQUALS            FilterOperator = "EQUALS"
	FilterOperator_EXTENSION_MATCHES FilterOperator = "EXTENSION_MATCHES"
	FilterOperator_LARGER_THAN       FilterOperator = "LARGER_THAN"
	FilterOperator_REGEX_MATCHES     FilterOperator = "REGEX_MATCHES"
	FilterOperator_SMALLER_THAN      FilterOperator = "SMALLER_THAN"
	FilterOperator_STARTS_WITH       FilterOperator = "STARTS_WITH"
)

type FiringRule

type FiringRule struct {
	//Identifier for the rule
	RuleIdentifier string `json:"rule_identifier,omitempty"`
	//Severity level
	Severity FiringRule_RuleSeverity `json:"severity,omitempty"`
	//Current status of the alert
	AlertState AlertState `json:"alert_state,omitempty"`
	//ID of the affected device
	DeviceId string `json:"device_id,omitempty"`
	//UUID of the affected service
	ServiceUuid string `json:"service_uuid,omitempty"`
	//UUID of the affected volume
	VolumeUuid string `json:"volume_uuid,omitempty"`
	//UUID of the affected client
	ClientUuid string `json:"client_uuid,omitempty"`
	//ID of the affected tenant
	TenantId string `json:"tenant_id,omitempty"`
	// affected user with his tenant-id (e.g 'admin@c858ffe2-4fa1-4c78-adbf-54c211734883')
	UserAtTenant string `json:"user_at_tenant,omitempty"`
	// affected group with his tenant-id (e.g 'users@c858ffe2-4fa1-4c78-adbf-54c211734883')
	GroupAtTenant string `json:"group_at_tenant,omitempty"`
	Db            string `json:"db,omitempty"`
	Config        string `json:"config,omitempty"`
	// Description of the alert
	UserMessage string `json:"user_message,omitempty"`
	// Description of actions to be taken for a fix
	UserSuggestedAction   string `json:"user_suggested_action,omitempty"`
	FiringSinceTimestampS int64  `json:"firing_since_timestamp_s,omitempty"`
}

type FiringRule_RuleSeverity

type FiringRule_RuleSeverity string
const (
	FiringRule_RuleSeverity_ERROR   FiringRule_RuleSeverity = "ERROR"
	FiringRule_RuleSeverity_INFO    FiringRule_RuleSeverity = "INFO"
	FiringRule_RuleSeverity_WARNING FiringRule_RuleSeverity = "WARNING"
)

type GenerateAsyncSupportDumpRequest

type GenerateAsyncSupportDumpRequest struct {
	SupportTicketId int32 `json:"support_ticket_id,omitempty"`
	// contains filtered or unexported fields
}

type GenerateAsyncSupportDumpResponse

type GenerateAsyncSupportDumpResponse struct {
	IsScheduled bool `json:"is_scheduled,omitempty"`
}

type GetAccountingRequest

type GetAccountingRequest struct {
	Entity []*ConsumingEntity `json:"entity,omitempty"`
	// contains filtered or unexported fields
}

type GetAccountingResponse

type GetAccountingResponse struct {
	EntityUsage []*GetAccountingResponse_EntityUsage `json:"entity_usage,omitempty"`
}

type GetAccountingResponse_EntityUsage

type GetAccountingResponse_EntityUsage struct {
	Consumer ConsumingEntity `json:"consumer,omitempty"`
	Usage    []*Resource     `json:"usage,omitempty"`
}

type GetAuditLogRequest

type GetAuditLogRequest struct {
	// Filter by subject type
	OnlySubjectType AuditEvent_SubjectType `json:"only_subject_type,omitempty"`
	// Filter by subject ID
	OnlySubjectId string `json:"only_subject_id,omitempty"`
	// AuditDatabase key at which to start the lookup.
	StartAtKey GetAuditLogRequest_AuditDatabaseKey `json:"start_at_key,omitempty"`
	// Number of log entries to return (no limit if 0)
	LogsLimit uint32 `json:"logs_limit,omitempty"`
	// Database lookup direction
	OldestLogFirst bool `json:"oldest_log_first,omitempty"`
	// contains filtered or unexported fields
}

type GetAuditLogRequest_AuditDatabaseKey

type GetAuditLogRequest_AuditDatabaseKey struct {
	SubjectType AuditEvent_SubjectType `json:"subject_type,omitempty"`
	SubjectId   string                 `json:"subject_id,omitempty"`
	TimestampMs int64                  `json:"timestamp_ms,omitempty"`
}

type GetAuditLogResponse

type GetAuditLogResponse struct {
	// List of audit events matching the given filters
	AuditEvent []*AuditEvent `json:"audit_event,omitempty"`
}

type GetCertificateSubjectRequest

type GetCertificateSubjectRequest struct {
	// X.509 certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// contains filtered or unexported fields
}

type GetCertificateSubjectResponse

type GetCertificateSubjectResponse struct {
	// Certificate subject description
	Subject CertificateSubject `json:"subject,omitempty"`
}

type GetClientListRequest

type GetClientListRequest struct {
	// Only list clients in this domain
	TenantDomain string `json:"tenant_domain,omitempty"`
	// contains filtered or unexported fields
}

type GetClientListResponse

type GetClientListResponse struct {
	// List of currently registered clients
	Client []*Client `json:"client,omitempty"`
}

type GetConfigurationRequest

type GetConfigurationRequest struct {
	// Type of the requested configuration
	ConfigurationType ConfigurationType `json:"configuration_type,omitempty"`
	// Name of the requested configuration (leave empty for a full list)
	ConfigurationName string `json:"configuration_name,omitempty"`
	// contains filtered or unexported fields
}

type GetConfigurationResponse

type GetConfigurationResponse struct {
	VolumeConfiguration        []*VolumeConfiguration     `json:"volume_configuration,omitempty"`
	FailureDomainConfiguration FailureDomainConfiguration `json:"failure_domain_configuration,omitempty"`
	UserConfiguration          []*UserConfiguration       `json:"user_configuration,omitempty"`
	SystemConfiguration        SystemConfiguration        `json:"system_configuration,omitempty"`
	QuotaPoolConfiguration     []*QuotaPoolConfiguration  `json:"quota_pool_configuration,omitempty"`
	RuleConfiguration          []*RuleConfiguration       `json:"rule_configuration,omitempty"`
	//Obsolete since release 1.4. Use getTenant() instead.
	TenantConfiguration []*TenantDomainConfiguration `json:"tenant_configuration,omitempty"`
}

type GetDeviceIdsRequest

type GetDeviceIdsRequest struct {
	ServiceUuid string `json:"service_uuid,omitempty"`
	// contains filtered or unexported fields
}

type GetDeviceIdsResponse

type GetDeviceIdsResponse struct {
	DeviceIds []*uint64 `json:"device_ids,omitempty"`
}

type GetDeviceListRequest

type GetDeviceListRequest struct {
	// Specify device id to retrieve data for specific devices. Retrieve all if not set.
	DeviceId []*uint64 `json:"device_id,omitempty"`
	// Specify types to retrieve only devices with matching type.
	DeviceType []*DeviceContent_ContentType `json:"device_type,omitempty"`
	// contains filtered or unexported fields
}

type GetDeviceListResponse

type GetDeviceListResponse struct {
	DeviceList DeviceList `json:"device_list,omitempty"`
}

type GetDeviceNetworkEndpointsRequest

type GetDeviceNetworkEndpointsRequest struct {
	// Specify device id to retrieve data for specific devices. Retrieve all if not set.
	DeviceId uint64 `json:"device_id,omitempty"`
	// contains filtered or unexported fields
}

type GetDeviceNetworkEndpointsResponse

type GetDeviceNetworkEndpointsResponse struct {
	Endpoints []*DeviceNetworkEndpoint `json:"endpoints,omitempty"`
}

type GetDeviceTagsRequest

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

type GetDeviceTagsResponse

type GetDeviceTagsResponse struct {
	Tag []string `json:"tag,omitempty"`
}

type GetEffectiveVolumeConfigurationRequest

type GetEffectiveVolumeConfigurationRequest struct {
	//volume_uuid and configuration_name are mutually exclusive.
	VolumeUuid        string `json:"volume_uuid,omitempty"`
	ConfigurationName string `json:"configuration_name,omitempty"`
	// contains filtered or unexported fields
}

type GetEffectiveVolumeConfigurationResponse

type GetEffectiveVolumeConfigurationResponse struct {
	Configuration VolumeConfiguration `json:"configuration,omitempty"`
}

type GetFileMetadataDumpRequest

type GetFileMetadataDumpRequest struct {
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// as an alternative to file_id (to be resolved to file_id internally)
	File   string `json:"file,omitempty"`
	FileId int64  `json:"file_id,omitempty"`
	// for segment block dumps from data services
	IncludeSegmentDumps bool `json:"include_segment_dumps,omitempty"`
	// optional
	SegmentStartOffset int64 `json:"segment_start_offset,omitempty"`
	// optional
	StripeNumber int32 `json:"stripe_number,omitempty"`
	// contains filtered or unexported fields
}

type GetFileMetadataDumpResponse

type GetFileMetadataDumpResponse struct {
	FileMetadataDump FileMetadataDump `json:"file_metadata_dump,omitempty"`
	StripeBlockDump  []string         `json:"stripe_block_dump,omitempty"`
	// start offset where stopped due to size limit
	LastSegmentStartOffset int64 `json:"last_segment_start_offset,omitempty"`
	// stripe number where stopped due to size limit
	LastStripeNumber int32 `json:"last_stripe_number,omitempty"`
}

type GetFiringRulesRequest

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

type GetFiringRulesResponse

type GetFiringRulesResponse struct {
	// List of currently firing alerts
	Rule []*FiringRule `json:"rule,omitempty"`
}

type GetHealthManagerStatusRequest

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

type GetHealthManagerStatusResponse

type GetHealthManagerStatusResponse struct {
	HealthManagerStatus HealthManagerStatus `json:"health_manager_status,omitempty"`
}

type GetInformationRequest

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

type GetInformationResponse

type GetInformationResponse struct {
}

type GetLabelsRequest

type GetLabelsRequest struct {
	Namespace        Label_Namespace  `json:"namespace,omitempty"`
	FilterEntityType Label_EntityType `json:"filter_entity_type,omitempty"`
	FilterEntityId   string           `json:"filter_entity_id,omitempty"`
	LabelName        string           `json:"label_name,omitempty"`
	// contains filtered or unexported fields
}

type GetLabelsResponse

type GetLabelsResponse struct {
	Data []*Label `json:"data,omitempty"`
}

type GetLatestEventRequest

type GetLatestEventRequest struct {
	SubjectType AuditEvent_SubjectType `json:"subject_type,omitempty"`
	SubjectId   string                 `json:"subject_id,omitempty"`
	// contains filtered or unexported fields
}

type GetLatestEventResponse

type GetLatestEventResponse struct {
	LatestEvent AuditEvent `json:"latest_event,omitempty"`
}

type GetLicenseRequest

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

type GetLicenseResponse

type GetLicenseResponse struct {
	CustomerId                    string `json:"customer_id,omitempty"`
	CustomerName                  string `json:"customer_name,omitempty"`
	ProductVersion                string `json:"product_version,omitempty"`
	ExpiryDateTimestampS          int64  `json:"expiry_date_timestamp_s,omitempty"`
	LimitedToTotalLogicalBytes    int64  `json:"limited_to_total_logical_bytes,omitempty"`
	CurrentUsageTotalLogicalBytes int64  `json:"current_usage_total_logical_bytes,omitempty"`
	LimitedToTotalPhysicalBytes   int64  `json:"limited_to_total_physical_bytes,omitempty"`
	LicenseInfoMessage            string `json:"license_info_message,omitempty"`
	LicenseWarningMessage         string `json:"license_warning_message,omitempty"`
}

type GetQuotaRequest

type GetQuotaRequest struct {
	TenantDomain         string             `json:"tenant_domain,omitempty"`
	OnlyEntity           []*ConsumingEntity `json:"only_entity,omitempty"`
	OnlyResourceType     []*Resource_Type   `json:"only_resource_type,omitempty"`
	IncludeDefaultQuotas bool               `json:"include_default_quotas,omitempty"`
	// contains filtered or unexported fields
}

type GetQuotaResponse

type GetQuotaResponse struct {
	Quotas []*Quota `json:"quotas,omitempty"`
}

type GetRulesRequest

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

type GetRulesResponse

type GetRulesResponse struct {
}

type GetServiceDumpRequest

type GetServiceDumpRequest struct {
	ServiceUuid     string `json:"service_uuid,omitempty"`
	SupportTicketId int32  `json:"support_ticket_id,omitempty"`
	// contains filtered or unexported fields
}

type GetServiceDumpResponse

type GetServiceDumpResponse struct {
	// byte stream from the zip file
	Bytes string `json:"bytes,omitempty"`
	// not empty if s3 upload is requested
	S3UploadResponseCode int32 `json:"s3_upload_response_code,omitempty"`
}

type GetServicesRequest

type GetServicesRequest struct {
	// Filter for service type.
	ServiceType []*ServiceType `json:"service_type,omitempty"`
	// Filter for service UUID
	Serviceuuid string `json:"serviceUuid,omitempty"`
	// contains filtered or unexported fields
}

type GetServicesResponse

type GetServicesResponse struct {
	Service []*ServiceDescription `json:"service,omitempty"`
}

type GetSupportDumpRequest

type GetSupportDumpRequest struct {
	SupportDumpId string `json:"support_dump_id,omitempty"`
	// contains filtered or unexported fields
}

type GetSupportDumpResponse

type GetSupportDumpResponse struct {
	Bytes string `json:"bytes,omitempty"`
}

type GetSupportDumpStatusRequest

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

type GetSupportDumpStatusResponse

type GetSupportDumpStatusResponse struct {
	// Obsolete, use status field
	ObsoleteIsInProgress bool                                `json:"OBSOLETE_is_in_progress,omitempty"`
	SupportDumpId        string                              `json:"support_dump_id,omitempty"`
	Status               GetSupportDumpStatusResponse_Status `json:"status,omitempty"`
	// not empty if s3 upload is requested
	SupportTicketId int32 `json:"support_ticket_id,omitempty"`
	// not empty if s3 upload is requested
	S3UploadResponseCode int32 `json:"s3_upload_response_code,omitempty"`
}

type GetSupportDumpStatusResponse_Status

type GetSupportDumpStatusResponse_Status string
const (
	GetSupportDumpStatusResponse_Status_DONE       GetSupportDumpStatusResponse_Status = "DONE"
	GetSupportDumpStatusResponse_Status_GENERATING GetSupportDumpStatusResponse_Status = "GENERATING"
	GetSupportDumpStatusResponse_Status_NOT_FOUND  GetSupportDumpStatusResponse_Status = "NOT_FOUND"
)

type GetSystemStatisticsRequest

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

type GetSystemStatisticsResponse

type GetSystemStatisticsResponse struct {
	// Current system statistics
	Statistics SystemStatistics `json:"statistics,omitempty"`
	// total_physical_capacity & total_physical_usage ensure backward compatibility for manila driver Overall physical storage capacity in bytes
	TotalPhysicalCapacity int64 `json:"total_physical_capacity,omitempty"`
	// Current overall physical usage in bytes
	TotalPhysicalUsage int64 `json:"total_physical_usage,omitempty"`
}

type GetTaskListRequest

type GetTaskListRequest struct {
	// The limit number of tasks requested. Result list will contain task_count_limit elements, if set and > 0. No limit, if = 0.
	TaskCountLimit uint32 `json:"task_count_limit,omitempty"`
	// Filter to tasks in non-final states.
	OnlyProcessing bool `json:"only_processing,omitempty"`
	// The task to query, or empty for all recent tasks.
	TaskId []string `json:"task_id,omitempty"`
	// The type to filter to, if set.
	TaskType TaskType `json:"task_type,omitempty"`
	// UI Relevant Parameters Database lookup in reversed (descending) direction
	OldestTasksFirst bool `json:"oldest_tasks_first,omitempty"`
	// Requesting only root tasks
	OnlyRootTasks bool `json:"only_root_tasks,omitempty"`
	// The key in database to start the iterator at
	StartAtKey string `json:"start_at_key,omitempty"`
	// The state to filter to, if set.
	TaskState TaskState `json:"task_state,omitempty"`
	// The parent task id to query its subtasks
	ByParentTaskId         string `json:"by_parent_task_id,omitempty"`
	ObsoleteOnlyUiSampling bool   `json:"OBSOLETE_only_ui_sampling,omitempty"`
	// contains filtered or unexported fields
}

type GetTaskListResponse

type GetTaskListResponse struct {
	// List of currently scheduled or running tasks
	Tasks []*TaskInfo `json:"tasks,omitempty"`
}

type GetTenantRequest

type GetTenantRequest struct {
	TenantId []string `json:"tenant_id,omitempty"`
	// contains filtered or unexported fields
}

type GetTenantResponse

type GetTenantResponse struct {
	Tenant []*TenantDomainConfiguration `json:"tenant,omitempty"`
}

type GetTopConsumerRequest

type GetTopConsumerRequest struct {
	Scope            GetTopConsumerRequest_Scope `json:"scope,omitempty"`
	ScopeIdentifier  string                      `json:"scope_identifier,omitempty"`
	TopConsumerLimit uint32                      `json:"top_consumer_limit,omitempty"`
	OnlyConsumerType []*ConsumingEntity_Type     `json:"only_consumer_type,omitempty"`
	OnlyResourceType []*Resource_Type            `json:"only_resource_type,omitempty"`
	// contains filtered or unexported fields
}

type GetTopConsumerRequest_Scope

type GetTopConsumerRequest_Scope string
const (
	GetTopConsumerRequest_Scope_SYSTEM GetTopConsumerRequest_Scope = "SYSTEM"
	GetTopConsumerRequest_Scope_TENANT GetTopConsumerRequest_Scope = "TENANT"
	GetTopConsumerRequest_Scope_VOLUME GetTopConsumerRequest_Scope = "VOLUME"
)

type GetTopConsumerResponse

type GetTopConsumerResponse struct {
	TopConsumer []*GetTopConsumerResponse_TopConsumer `json:"top_consumer,omitempty"`
}

type GetTopConsumerResponse_Consumer

type GetTopConsumerResponse_Consumer struct {
	Identifier ConsumingEntity `json:"identifier,omitempty"`
	Usage      uint64          `json:"usage,omitempty"`
}

type GetTopConsumerResponse_TopConsumer

type GetTopConsumerResponse_TopConsumer struct {
	ConsumerType ConsumingEntity_Type               `json:"consumer_type,omitempty"`
	ResourceType Resource_Type                      `json:"resource_type,omitempty"`
	Consumer     []*GetTopConsumerResponse_Consumer `json:"consumer,omitempty"`
}

type GetUnformattedDevicesRequest

type GetUnformattedDevicesRequest struct {
	ServiceUuid string `json:"service_uuid,omitempty"`
	// contains filtered or unexported fields
}

type GetUnformattedDevicesResponse

type GetUnformattedDevicesResponse struct {
	UnformattedDevice []*UnformattedDevice `json:"unformatted_device,omitempty"`
}

type GetUsersRequest

type GetUsersRequest struct {
	UserId []string `json:"user_id,omitempty"`
	// contains filtered or unexported fields
}

type GetUsersResponse

type GetUsersResponse struct {
	UserConfiguration []*UserConfiguration `json:"user_configuration,omitempty"`
}

type GetVolumeListRequest

type GetVolumeListRequest struct {
	//Restrict query to single volume
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// Restrict query to tenant domain
	TenantDomain string `json:"tenant_domain,omitempty"`
	// contains filtered or unexported fields
}

type GetVolumeListResponse

type GetVolumeListResponse struct {
	// List of volumes
	Volume []*Volume `json:"volume,omitempty"`
}

type GetVolumeMappingInfosRequest

type GetVolumeMappingInfosRequest struct {
	// Filter for specific uuids.
	Uuid            []string `json:"uuid,omitempty"`
	IncludeDeleted  bool     `json:"include_deleted,omitempty"`
	TenantDomain    string   `json:"tenant_domain,omitempty"`
	IncludeMirrored bool     `json:"include_mirrored,omitempty"`
	// contains filtered or unexported fields
}

type GroupsToAttributesMapping

type GroupsToAttributesMapping struct {
	LdapGroup []string `json:"ldap_group,omitempty"`
	// SUPER_USER, DOMAIN_ADMIN, ...
	Role     UserRole `json:"role,omitempty"`
	Tenantid string   `json:"tenantId,omitempty"`
}

type HashMethod

type HashMethod string
const (
	//  up to date security, flexible to parameterize
	HashMethod_SALTED_PBKDF2_SHA512 HashMethod = "SALTED_PBKDF2_SHA512"
	//  keep the same order like in GLOBALCONFIGURATION.proto!  moderate
	//     security
	HashMethod_SALTED_SHA512 HashMethod = "SALTED_SHA512"
)

type HealthManagerStatus

type HealthManagerStatus struct {
	NextMaintenanceWindowState     HealthManagerStatus_MaintenanceWindowMode `json:"next_maintenance_window_state,omitempty"`
	NextMaintenanceWindowStartMs   uint64                                    `json:"next_maintenance_window_start_ms,omitempty"`
	DevicesWithCleanupDue          uint32                                    `json:"devices_with_cleanup_due,omitempty"`
	DevicesWithFstrimDue           uint32                                    `json:"devices_with_fstrim_due,omitempty"`
	VolumesWithScrubDue            uint32                                    `json:"volumes_with_scrub_due,omitempty"`
	RunningHealthManagerTasks      uint32                                    `json:"running_health_manager_tasks,omitempty"`
	DefectiveDevices               uint32                                    `json:"defective_devices,omitempty"`
	DevicesWithCatchupDue          uint32                                    `json:"devices_with_catchup_due,omitempty"`
	VolumesWithEnforcePlacementDue uint32                                    `json:"volumes_with_enforce_placement_due,omitempty"`
	SystemHealth                   HealthManagerStatus_SystemHealth          `json:"system_health,omitempty"`
	SystemHealthReason             []string                                  `json:"system_health_reason,omitempty"`
}

type HealthManagerStatus_MaintenanceWindowMode

type HealthManagerStatus_MaintenanceWindowMode string
const (
	HealthManagerStatus_MaintenanceWindowMode_ACTIVE                  HealthManagerStatus_MaintenanceWindowMode = "ACTIVE"
	HealthManagerStatus_MaintenanceWindowMode_ALWAYS                  HealthManagerStatus_MaintenanceWindowMode = "ALWAYS"
	HealthManagerStatus_MaintenanceWindowMode_HEALTH_MANAGER_DISABLED HealthManagerStatus_MaintenanceWindowMode = "HEALTH_MANAGER_DISABLED"
	HealthManagerStatus_MaintenanceWindowMode_SCHEDULED               HealthManagerStatus_MaintenanceWindowMode = "SCHEDULED"
)

type HealthManagerStatus_SystemHealth

type HealthManagerStatus_SystemHealth string
const (
	HealthManagerStatus_SystemHealth_DEGRADED HealthManagerStatus_SystemHealth = "DEGRADED"
	HealthManagerStatus_SystemHealth_HEALTHY  HealthManagerStatus_SystemHealth = "HEALTHY"
)

type ImplicitLockingMode

type ImplicitLockingMode string
const (
	ImplicitLockingMode_FILE_BLOCKING     ImplicitLockingMode = "FILE_BLOCKING"
	ImplicitLockingMode_FILE_NON_BLOCKING ImplicitLockingMode = "FILE_NON_BLOCKING"
	ImplicitLockingMode_IO_BLOCKING       ImplicitLockingMode = "IO_BLOCKING"
	ImplicitLockingMode_IO_NON_BLOCKING   ImplicitLockingMode = "IO_NON_BLOCKING"
	ImplicitLockingMode_NO_LOCKING        ImplicitLockingMode = "NO_LOCKING"
)

type ImportConfigurationRequest

type ImportConfigurationRequest struct {
	//Type of the configuration to be edited
	ConfigurationType ConfigurationType `json:"configuration_type,omitempty"`
	// Name of the configuration to be edited
	ConfigurationName string `json:"configuration_name,omitempty"`
	// Textual representation of the configuration. The configuration is being deleted if this is empty.
	ProtoDump string `json:"proto_dump,omitempty"`
	// contains filtered or unexported fields
}

type ImportConfigurationResponse

type ImportConfigurationResponse struct {
}

type Label

type Label struct {
	// Visibility of this label. Currently all labels are visible system-wide to super users.
	Namespace Label_Namespace `json:"namespace,omitempty"`
	// Type of entity to which the label belongs.
	EntityType Label_EntityType `json:"entity_type,omitempty"`
	// Id of the entity to which the label belongs. Labels can only be set for existing entities.
	EntityId string `json:"entity_id,omitempty"`
	// Name of the label, must be a valid ascii string.
	Name string `json:"name,omitempty"`
	// Value of label.
	Value string `json:"value,omitempty"`
}

type Label_EntityType

type Label_EntityType string
const (
	Label_EntityType_SERVICE Label_EntityType = "SERVICE"
	Label_EntityType_TENANT  Label_EntityType = "TENANT"
	Label_EntityType_VOLUME  Label_EntityType = "VOLUME"
)

type Label_Namespace

type Label_Namespace string
const (
	Label_Namespace_SYSTEM Label_Namespace = "SYSTEM"
)

type ListCaRequest

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

type ListCaResponse

type ListCaResponse struct {
	// List of certificate authorities
	Ca []*CertificateAuthority `json:"ca,omitempty"`
}

type ListCertificatesRequest

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

type ListCertificatesResponse

type ListCertificatesResponse struct {
	// List of certificate records
	Certificate []*CertificateRecord `json:"certificate,omitempty"`
}

type ListCsrRequest

type ListCsrRequest struct {
	// Limit to state
	State CsrState `json:"state,omitempty"`
	// contains filtered or unexported fields
}

type ListCsrResponse

type ListCsrResponse struct {
	// List of open CSRs
	Csr []*CertificateSigningRequest `json:"csr,omitempty"`
}

type ListRegistryReplicasRequest

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

type ListRegistryReplicasResponse

type ListRegistryReplicasResponse struct {
	// A list all DIR device IDs that are currently acting as replicas.
	DeviceIds []string `json:"device_ids,omitempty"`
}

type ListSnapshotsRequest

type ListSnapshotsRequest struct {
	// Volume uuid
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// contains filtered or unexported fields
}

type ListSnapshotsResponse

type ListSnapshotsResponse struct {
	// Snapshots
	Snapshot []*VolumeSnapshot `json:"snapshot,omitempty"`
}

type LostLockBehavior

type LostLockBehavior string
const (
	LostLockBehavior_BLOCK_IO         LostLockBehavior = "BLOCK_IO"
	LostLockBehavior_IO_ERROR         LostLockBehavior = "IO_ERROR"
	LostLockBehavior_KILL_APPLICATION LostLockBehavior = "KILL_APPLICATION"
)

type MakeDeviceRequest

type MakeDeviceRequest struct {
	HandleId   string                        `json:"handle_id,omitempty"`
	DeviceType MakeDeviceSettings_DeviceType `json:"device_type,omitempty"`
	FsType     MakeDeviceSettings_FsType     `json:"fs_type,omitempty"`
	Comment    string                        `json:"comment,omitempty"`
	// contains filtered or unexported fields
}

type MakeDeviceResponse

type MakeDeviceResponse struct {
	// ID of the created task
	TaskId     string `json:"task_id,omitempty"`
	HostName   string `json:"host_name,omitempty"`
	DeviceName string `json:"device_name,omitempty"`
}

type MakeDeviceSettings

type MakeDeviceSettings struct {
	ServiceUuid string                        `json:"service_uuid,omitempty"`
	FsType      MakeDeviceSettings_FsType     `json:"fs_type,omitempty"`
	DeviceType  MakeDeviceSettings_DeviceType `json:"device_type,omitempty"`
	DevicePath  string                        `json:"device_path,omitempty"`
}

type MakeDeviceSettings_DeviceType

type MakeDeviceSettings_DeviceType string
const (
	MakeDeviceSettings_DeviceType_DATA     MakeDeviceSettings_DeviceType = "DATA"
	MakeDeviceSettings_DeviceType_METADATA MakeDeviceSettings_DeviceType = "METADATA"
	MakeDeviceSettings_DeviceType_REGISTRY MakeDeviceSettings_DeviceType = "REGISTRY"
)

type MakeDeviceSettings_FsType

type MakeDeviceSettings_FsType string
const (
	MakeDeviceSettings_FsType_EXT4 MakeDeviceSettings_FsType = "EXT4"
	MakeDeviceSettings_FsType_XFS  MakeDeviceSettings_FsType = "XFS"
)

type ModeOverride

type ModeOverride string
const (
	ModeOverride_AS_REQUESTED   ModeOverride = "AS_REQUESTED"
	ModeOverride_DISABLE_ALWAYS ModeOverride = "DISABLE_ALWAYS"
	ModeOverride_ENABLE_ALWAYS  ModeOverride = "ENABLE_ALWAYS"
)

type PageCacheMode

type PageCacheMode string
const (
	PageCacheMode_FLUSH_ALWAYS  PageCacheMode = "FLUSH_ALWAYS"
	PageCacheMode_KEEP_ALWAYS   PageCacheMode = "KEEP_ALWAYS"
	PageCacheMode_USE_HEURISTIC PageCacheMode = "USE_HEURISTIC"
)

type PlacementSettings

type PlacementSettings struct {
	//* Place on devices that have these tags
	RequiredDeviceTags PlacementSettings_Tags `json:"required_device_tags,omitempty"`
	//* Do not place on devices that have these tags
	ForbiddenDeviceTags PlacementSettings_Tags `json:"forbidden_device_tags,omitempty"`
	// Prefer placement on devices on the client machine.
	PreferClientLocalDevice bool `json:"prefer_client_local_device,omitempty"`
	// File replicas are placed to support MR locality and reduce bandwidth requirements.
	OptimizeForMapreduce bool `json:"optimize_for_mapreduce,omitempty"`
	// Do not place on devices within the same RACK/ROOM/CLUSTER/...
	FailureDomainType FailureDomainType                 `json:"failure_domain_type,omitempty"`
	PlacementMethod   PlacementSettings_PlacementMethod `json:"placement_method,omitempty"`
}

type PlacementSettings_PlacementMethod

type PlacementSettings_PlacementMethod string
const (
	PlacementSettings_PlacementMethod_AUTOMATIC_HDD_SSD PlacementSettings_PlacementMethod = "AUTOMATIC_HDD_SSD"
	PlacementSettings_PlacementMethod_TAG_BASED         PlacementSettings_PlacementMethod = "TAG_BASED"
)

type PlacementSettings_Tags

type PlacementSettings_Tags struct {
	Tags []string `json:"tags,omitempty"`
}

type PublishBucketVolumeRequest

type PublishBucketVolumeRequest struct {
	// The S3 exclusive bucket volume to publish.
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// Make the volume available as S3 bucket using the given name.
	BucketName string `json:"bucket_name,omitempty"`
	// contains filtered or unexported fields
}

type PublishBucketVolumeResponse

type PublishBucketVolumeResponse struct {
}

type QuobyteClient

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

func NewQuobyteClient

func NewQuobyteClient(url string, username string, password string) *QuobyteClient

NewQuobyteClient creates a new Quobyte API client

func (*QuobyteClient) AddCa

func (client *QuobyteClient) AddCa(request *AddCaRequest) (result *AddCaResponse, err error)

func (*QuobyteClient) AddCertificate

func (client *QuobyteClient) AddCertificate(request *AddCertificateRequest) (result *AddCertificateResponse, err error)

func (*QuobyteClient) AddCsr

func (client *QuobyteClient) AddCsr(request *AddCsrRequest) (result *AddCsrResponse, err error)

func (*QuobyteClient) AddRegistryReplica

func (client *QuobyteClient) AddRegistryReplica(request *AddRegistryReplicaRequest) (result *AddRegistryReplicaResponse, err error)

func (*QuobyteClient) CancelSupportDump

func (client *QuobyteClient) CancelSupportDump(request *CancelSupportDumpRequest) (result *CancelSupportDumpResponse, err error)

func (*QuobyteClient) CancelTask

func (client *QuobyteClient) CancelTask(request *CancelTaskRequest) (result *CancelTaskResponse, err error)

func (*QuobyteClient) ConfigureRule

func (client *QuobyteClient) ConfigureRule(request *ConfigureRuleRequest) (result *ConfigureRuleResponse, err error)

func (*QuobyteClient) CreateAccessKeyCredentials

func (client *QuobyteClient) CreateAccessKeyCredentials(request *CreateAccessKeyCredentialsRequest) (result *CreateAccessKeyCredentialsResponse, err error)

func (*QuobyteClient) CreateCopyFilesTask

func (client *QuobyteClient) CreateCopyFilesTask(request *CreateCopyFilesTaskRequest) (result *CreateTaskResponse, err error)

func (*QuobyteClient) CreateMirroredVolume

func (client *QuobyteClient) CreateMirroredVolume(request *CreateMirroredVolumeRequest) (result *CreateMirroredVolumeResponse, err error)

func (*QuobyteClient) CreateSnapshot

func (client *QuobyteClient) CreateSnapshot(request *CreateSnapshotRequest) (result *CreateSnapshotResponse, err error)

func (*QuobyteClient) CreateTask

func (client *QuobyteClient) CreateTask(request *CreateTaskRequest) (result *CreateTaskResponse, err error)

func (*QuobyteClient) CreateUser

func (client *QuobyteClient) CreateUser(request *CreateUserRequest) (result *CreateUserResponse, err error)

func (*QuobyteClient) CreateVolume

func (client *QuobyteClient) CreateVolume(request *CreateVolumeRequest) (result *CreateVolumeResponse, err error)

func (*QuobyteClient) DecideCsr

func (client *QuobyteClient) DecideCsr(request *DecideCsrRequest) (result *DecideCsrResponse, err error)

func (*QuobyteClient) DeleteAccessKeyCredentials

func (client *QuobyteClient) DeleteAccessKeyCredentials(request *DeleteAccessKeyCredentialsRequest) (result *DeleteAccessKeyCredentialsResponse, err error)

func (*QuobyteClient) DeleteCa

func (client *QuobyteClient) DeleteCa(request *DeleteCaRequest) (result *DeleteCaResponse, err error)

func (*QuobyteClient) DeleteCertificate

func (client *QuobyteClient) DeleteCertificate(request *DeleteCertificateRequest) (result *DeleteCertificateResponse, err error)

func (*QuobyteClient) DeleteConfiguration

func (client *QuobyteClient) DeleteConfiguration(request *DeleteConfigurationRequest) (result *DeleteConfigurationResponse, err error)

func (*QuobyteClient) DeleteCsr

func (client *QuobyteClient) DeleteCsr(request *DeleteCsrRequest) (result *DeleteCsrResponse, err error)

func (*QuobyteClient) DeleteSnapshot

func (client *QuobyteClient) DeleteSnapshot(request *DeleteSnapshotRequest) (result *DeleteSnapshotResponse, err error)

func (*QuobyteClient) DeleteTenant

func (client *QuobyteClient) DeleteTenant(request *DeleteTenantRequest) (result *DeleteTenantResponse, err error)

func (*QuobyteClient) DeleteUser

func (client *QuobyteClient) DeleteUser(request *DeleteUserRequest) (result *DeleteUserResponse, err error)

func (*QuobyteClient) DeleteVolume

func (client *QuobyteClient) DeleteVolume(request *DeleteVolumeRequest) (result *DeleteVolumeResponse, err error)

func (*QuobyteClient) DeleteVolumeByName

func (client *QuobyteClient) DeleteVolumeByName(volumeName, tenant string) error

DeleteVolumeByName deletes a volume by a given name

func (*QuobyteClient) DeleteVolumeByResolvingNamesToUUID

func (client *QuobyteClient) DeleteVolumeByResolvingNamesToUUID(volume, tenant string) error

DeleteVolumeByResolvingNamesToUUID deletes the volume by resolving the volume name and tenant name to respective UUID if required. This method should be used if the given volume, tenant information is name or UUID.

func (*QuobyteClient) DeregisterService

func (client *QuobyteClient) DeregisterService(request *DeregisterServiceRequest) (result *DeregisterServiceResponse, err error)

func (*QuobyteClient) DisconnectMirroredVolume

func (client *QuobyteClient) DisconnectMirroredVolume(request *DisconnectMirroredVolumeRequest) (result *DisconnectMirroredVolumeResponse, err error)

func (*QuobyteClient) EraseVolume

func (client *QuobyteClient) EraseVolume(request *EraseVolumeRequest) (result *EraseVolumeResponse, err error)

func (*QuobyteClient) ExportCertificate

func (client *QuobyteClient) ExportCertificate(request *ExportCertificateRequest) (result *ExportCertificateResponse, err error)

func (*QuobyteClient) ExportConfiguration

func (client *QuobyteClient) ExportConfiguration(request *ExportConfigurationRequest) (result *ExportConfigurationResponse, err error)

func (*QuobyteClient) ExportVolume

func (client *QuobyteClient) ExportVolume(request *ExportVolumeRequest) (result *ExportVolumeResponse, err error)

func (*QuobyteClient) GenerateAsyncSupportDump

func (client *QuobyteClient) GenerateAsyncSupportDump(request *GenerateAsyncSupportDumpRequest) (result *GenerateAsyncSupportDumpResponse, err error)

func (*QuobyteClient) GetAPIRetryPolicy

func (client *QuobyteClient) GetAPIRetryPolicy() string

func (*QuobyteClient) GetAccounting

func (client *QuobyteClient) GetAccounting(request *GetAccountingRequest) (result *GetAccountingResponse, err error)

func (*QuobyteClient) GetAuditLog

func (client *QuobyteClient) GetAuditLog(request *GetAuditLogRequest) (result *GetAuditLogResponse, err error)

func (*QuobyteClient) GetCertificateSubject

func (client *QuobyteClient) GetCertificateSubject(request *GetCertificateSubjectRequest) (result *GetCertificateSubjectResponse, err error)

func (*QuobyteClient) GetClientList

func (client *QuobyteClient) GetClientList(request *GetClientListRequest) (result *GetClientListResponse, err error)

func (*QuobyteClient) GetConfiguration

func (client *QuobyteClient) GetConfiguration(request *GetConfigurationRequest) (result *GetConfigurationResponse, err error)

func (*QuobyteClient) GetDeviceIds

func (client *QuobyteClient) GetDeviceIds(request *GetDeviceIdsRequest) (result *GetDeviceIdsResponse, err error)

func (*QuobyteClient) GetDeviceList

func (client *QuobyteClient) GetDeviceList(request *GetDeviceListRequest) (result *GetDeviceListResponse, err error)

func (*QuobyteClient) GetDeviceNetworkEndpoints

func (client *QuobyteClient) GetDeviceNetworkEndpoints(request *GetDeviceNetworkEndpointsRequest) (result *GetDeviceNetworkEndpointsResponse, err error)

func (*QuobyteClient) GetDeviceTags

func (client *QuobyteClient) GetDeviceTags(request *GetDeviceTagsRequest) (result *GetDeviceTagsResponse, err error)

func (*QuobyteClient) GetEffectiveVolumeConfiguration

func (client *QuobyteClient) GetEffectiveVolumeConfiguration(request *GetEffectiveVolumeConfigurationRequest) (result *GetEffectiveVolumeConfigurationResponse, err error)

func (*QuobyteClient) GetFileMetadataDump

func (client *QuobyteClient) GetFileMetadataDump(request *GetFileMetadataDumpRequest) (result *GetFileMetadataDumpResponse, err error)

func (*QuobyteClient) GetFiringRules

func (client *QuobyteClient) GetFiringRules(request *GetFiringRulesRequest) (result *GetFiringRulesResponse, err error)

func (*QuobyteClient) GetHealthManagerStatus

func (client *QuobyteClient) GetHealthManagerStatus(request *GetHealthManagerStatusRequest) (result *GetHealthManagerStatusResponse, err error)

func (*QuobyteClient) GetInformation

func (client *QuobyteClient) GetInformation(request *GetInformationRequest) (result *GetInformationResponse, err error)

func (*QuobyteClient) GetLabels

func (client *QuobyteClient) GetLabels(request *GetLabelsRequest) (result *GetLabelsResponse, err error)

func (*QuobyteClient) GetLatestEvent

func (client *QuobyteClient) GetLatestEvent(request *GetLatestEventRequest) (result *GetLatestEventResponse, err error)

func (*QuobyteClient) GetLicense

func (client *QuobyteClient) GetLicense(request *GetLicenseRequest) (result *GetLicenseResponse, err error)

func (*QuobyteClient) GetQuota

func (client *QuobyteClient) GetQuota(request *GetQuotaRequest) (result *GetQuotaResponse, err error)

func (*QuobyteClient) GetRules

func (client *QuobyteClient) GetRules(request *GetRulesRequest) (result *GetRulesResponse, err error)

func (*QuobyteClient) GetServiceDump

func (client *QuobyteClient) GetServiceDump(request *GetServiceDumpRequest) (result *GetServiceDumpResponse, err error)

func (*QuobyteClient) GetServices

func (client *QuobyteClient) GetServices(request *GetServicesRequest) (result *GetServicesResponse, err error)

func (*QuobyteClient) GetSupportDump

func (client *QuobyteClient) GetSupportDump(request *GetSupportDumpRequest) (result *GetSupportDumpResponse, err error)

func (*QuobyteClient) GetSupportDumpStatus

func (client *QuobyteClient) GetSupportDumpStatus(request *GetSupportDumpStatusRequest) (result *GetSupportDumpStatusResponse, err error)

func (*QuobyteClient) GetSystemStatistics

func (client *QuobyteClient) GetSystemStatistics(request *GetSystemStatisticsRequest) (result *GetSystemStatisticsResponse, err error)

func (*QuobyteClient) GetTaskList

func (client *QuobyteClient) GetTaskList(request *GetTaskListRequest) (result *GetTaskListResponse, err error)

func (*QuobyteClient) GetTenant

func (client *QuobyteClient) GetTenant(request *GetTenantRequest) (result *GetTenantResponse, err error)

func (*QuobyteClient) GetTenantMap

func (client *QuobyteClient) GetTenantMap() (map[string]string, error)

GetTenantMap returns a map that contains all tenant names and there ID's

func (*QuobyteClient) GetTenantUUID

func (client *QuobyteClient) GetTenantUUID(tenant string) (string, error)

GetTenantUUID resolves the tenatnUUID for the given name This method should be used when it is not clear if the given string is Tenant UUID or Name.

func (*QuobyteClient) GetUnformattedDevices

func (client *QuobyteClient) GetUnformattedDevices(request *GetUnformattedDevicesRequest) (result *GetUnformattedDevicesResponse, err error)

func (*QuobyteClient) GetUsers

func (client *QuobyteClient) GetUsers(request *GetUsersRequest) (result *GetUsersResponse, err error)

func (*QuobyteClient) GetVolumeList

func (client *QuobyteClient) GetVolumeList(request *GetVolumeListRequest) (result *GetVolumeListResponse, err error)

func (*QuobyteClient) GetVolumeUUID

func (client *QuobyteClient) GetVolumeUUID(volume, tenant string) (string, error)

GetVolumeUUID resolves the volumeUUID for the given volume and tenant name. This method should be used when it is not clear if the given string is volume UUID or Name.

func (*QuobyteClient) ImportConfiguration

func (client *QuobyteClient) ImportConfiguration(request *ImportConfigurationRequest) (result *ImportConfigurationResponse, err error)

func (*QuobyteClient) ListCa

func (client *QuobyteClient) ListCa(request *ListCaRequest) (result *ListCaResponse, err error)

func (*QuobyteClient) ListCertificates

func (client *QuobyteClient) ListCertificates(request *ListCertificatesRequest) (result *ListCertificatesResponse, err error)

func (*QuobyteClient) ListCsr

func (client *QuobyteClient) ListCsr(request *ListCsrRequest) (result *ListCsrResponse, err error)

func (*QuobyteClient) ListRegistryReplicas

func (client *QuobyteClient) ListRegistryReplicas(request *ListRegistryReplicasRequest) (result *ListRegistryReplicasResponse, err error)

func (*QuobyteClient) ListSnapshots

func (client *QuobyteClient) ListSnapshots(request *ListSnapshotsRequest) (result *ListSnapshotsResponse, err error)

func (*QuobyteClient) MakeDevice

func (client *QuobyteClient) MakeDevice(request *MakeDeviceRequest) (result *MakeDeviceResponse, err error)

func (*QuobyteClient) PublishBucketVolume

func (client *QuobyteClient) PublishBucketVolume(request *PublishBucketVolumeRequest) (result *PublishBucketVolumeResponse, err error)

func (*QuobyteClient) RegenerateDatabase

func (client *QuobyteClient) RegenerateDatabase(request *RegenerateDatabaseRequest) (result *RegenerateDatabaseResponse, err error)

func (*QuobyteClient) RemoveRegistryReplica

func (client *QuobyteClient) RemoveRegistryReplica(request *RemoveRegistryReplicaRequest) (result *RemoveRegistryReplicaResponse, err error)

func (*QuobyteClient) ResolveGlobalFileId

func (client *QuobyteClient) ResolveGlobalFileId(request *ResolveGlobalFileIdRequest) (result *ResolveGlobalFileIdResponse, err error)

func (*QuobyteClient) ResolveTenantName

func (client *QuobyteClient) ResolveTenantName(request *ResolveTenantNameRequest) (result *ResolveTenantNameResponse, err error)

func (*QuobyteClient) ResolveTenantNameToUUID

func (client *QuobyteClient) ResolveTenantNameToUUID(name string) (string, error)

ResolveTenantNameToUUID Returns UUID for given name, error if not found.

func (*QuobyteClient) ResolveVolumeName

func (client *QuobyteClient) ResolveVolumeName(request *ResolveVolumeNameRequest) (result *ResolveVolumeNameResponse, err error)

func (*QuobyteClient) ResolveVolumeNameToUUID

func (client *QuobyteClient) ResolveVolumeNameToUUID(volumeName, tenant string) (string, error)

ResolveVolumeNameToUUID resolves a volume name to a UUID

func (*QuobyteClient) ResumeTask

func (client *QuobyteClient) ResumeTask(request *ResumeTaskRequest) (result *ResumeTaskResponse, err error)

func (*QuobyteClient) RetryTask

func (client *QuobyteClient) RetryTask(request *RetryTaskRequest) (result *RetryTaskResponse, err error)

func (*QuobyteClient) RevokeCertificate

func (client *QuobyteClient) RevokeCertificate(request *RevokeCertificateRequest) (result *RevokeCertificateResponse, err error)

func (*QuobyteClient) SetAPIRetryPolicy

func (client *QuobyteClient) SetAPIRetryPolicy(retry string)

func (*QuobyteClient) SetCertificateOwner

func (client *QuobyteClient) SetCertificateOwner(request *SetCertificateOwnerRequest) (result *SetCertificateOwnerResponse, err error)

func (*QuobyteClient) SetCertificateSubject

func (client *QuobyteClient) SetCertificateSubject(request *SetCertificateSubjectRequest) (result *SetCertificateSubjectResponse, err error)

func (*QuobyteClient) SetConfiguration

func (client *QuobyteClient) SetConfiguration(request *SetConfigurationRequest) (result *SetConfigurationResponse, err error)

func (*QuobyteClient) SetLabels

func (client *QuobyteClient) SetLabels(request *SetLabelsRequest) (result *SetLabelsResponse, err error)

func (*QuobyteClient) SetQuota

func (client *QuobyteClient) SetQuota(request *SetQuotaRequest) (result *SetQuotaResponse, err error)

func (*QuobyteClient) SetTenant

func (client *QuobyteClient) SetTenant(request *SetTenantRequest) (result *SetTenantResponse, err error)

func (*QuobyteClient) SetTransport

func (client *QuobyteClient) SetTransport(t http.RoundTripper)

func (*QuobyteClient) SetVolumeQuota

func (client *QuobyteClient) SetVolumeQuota(volumeUUID string, quotaSize uint64) error

SetVolumeQuota sets a Quota to the specified Volume

func (*QuobyteClient) UnpublishBucketVolume

func (client *QuobyteClient) UnpublishBucketVolume(request *UnpublishBucketVolumeRequest) (result *UnpublishBucketVolumeResponse, err error)

func (*QuobyteClient) UpdateDevice

func (client *QuobyteClient) UpdateDevice(request *UpdateDeviceRequest) (result *UpdateDeviceResponse, err error)

func (*QuobyteClient) UpdateUser

func (client *QuobyteClient) UpdateUser(request *UpdateUserRequest) (result *UpdateUserResponse, err error)

func (*QuobyteClient) UpdateVolume

func (client *QuobyteClient) UpdateVolume(request *UpdateVolumeRequest) (result *UpdateVolumeResponse, err error)

func (*QuobyteClient) VerifyLicense

func (client *QuobyteClient) VerifyLicense(request *VerifyLicenseRequest) (result *VerifyLicenseResponse, err error)

type QuorumReadMode

type QuorumReadMode string
const (
	//  elect primary after read (if file is larger than first read)
	QuorumReadMode_FIRST_READ QuorumReadMode = "FIRST_READ"
	//  regular primary election + read
	QuorumReadMode_OFF QuorumReadMode = "OFF"
)

type Quota

type Quota struct {
	// Global identifier of this quota pool configuration (should be empty for new quotas)
	Id string `json:"id,omitempty"`
	// One consuming entity (Quota applies to the first consumer only; the list structure is kept for backward-compatibility).
	Consumer []*ConsumingEntity `json:"consumer,omitempty"`
	// One or several resource limits
	Limits []*Resource `json:"limits,omitempty"`
	// Optional list of current quota usage (field is ignored for set/import quota)
	CurrentUsage []*Resource `json:"current_usage,omitempty"`
}

type QuotaPoolConfiguration

type QuotaPoolConfiguration struct {
	// One or several resource limits
	Resource []*Resource `json:"resource,omitempty"`
	// One consuming entity (Quota applies to the first consumer only; the list structure is kept for backward-compatibility).
	Consumer []*ConsumingEntity `json:"consumer,omitempty"`
	//Global identifier of this quota pool configuration
	Id string `json:"id,omitempty"`
}

type RebalanceSettings

type RebalanceSettings struct {
	// If device disk space usage is below this threshold (5 to overutilized_threshold_percentage) the device is considered underutilized.
	UnderutilizedThresholdPercentage uint32 `json:"underutilized_threshold_percentage,omitempty"`
	// If device disk space usage exceeds this threshold (underutilized_threshold_percentage to 95) the device is considered overutilized.
	OverutilizedThresholdPercentage uint32 `json:"overutilized_threshold_percentage,omitempty"`
	MaxBytesToMove                  int64  `json:"max_bytes_to_move,omitempty"`
}

type RegenerateDatabaseRequest

type RegenerateDatabaseRequest struct {
	Databasetype RegenerateDatabaseRequest_DatabaseType `json:"databaseType,omitempty"`
	// Database identifier, like a volume UUID for VOLUME_ACCOUNTING database type for example.
	DatabaseIdentifier string `json:"database_identifier,omitempty"`
	// contains filtered or unexported fields
}

type RegenerateDatabaseRequest_DatabaseType

type RegenerateDatabaseRequest_DatabaseType string
const (
	RegenerateDatabaseRequest_DatabaseType_VOLUME_ACCOUNTING RegenerateDatabaseRequest_DatabaseType = "VOLUME_ACCOUNTING"
)

type RegenerateDatabaseResponse

type RegenerateDatabaseResponse struct {
}

type RemoveRegistryReplicaRequest

type RemoveRegistryReplicaRequest struct {
	// A string containing the device ID of the replica to remove.
	DeviceId string `json:"device_id,omitempty"`
	// Optional comment field for auditing.
	Comment string `json:"comment,omitempty"`
	// contains filtered or unexported fields
}

type RemoveRegistryReplicaResponse

type RemoveRegistryReplicaResponse struct {
}

type ResolveGlobalFileIdRequest

type ResolveGlobalFileIdRequest struct {
	GlobalFileId string `json:"global_file_id,omitempty"`
	// contains filtered or unexported fields
}

type ResolveGlobalFileIdResponse

type ResolveGlobalFileIdResponse struct {
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// path relative to volume uuid
	File string `json:"file,omitempty"`
}

type ResolveTenantNameRequest

type ResolveTenantNameRequest struct {
	TenantName string `json:"tenant_name,omitempty"`
	// contains filtered or unexported fields
}

type ResolveTenantNameResponse

type ResolveTenantNameResponse struct {
	TenantId string `json:"tenant_id,omitempty"`
}

type ResolveVolumeNameRequest

type ResolveVolumeNameRequest struct {
	VolumeName string `json:"volume_name,omitempty"`
	// Optional tenant domain for the volume
	TenantDomain string `json:"tenant_domain,omitempty"`
	// contains filtered or unexported fields
}

type ResolveVolumeNameResponse

type ResolveVolumeNameResponse struct {
	VolumeUuid         string   `json:"volume_uuid,omitempty"`
	ObsoleteVolumeUuid []string `json:"OBSOLETE_volume_uuid,omitempty"`
}

type Resource

type Resource struct {
	//Type of the resource
	Type Resource_Type `json:"type,omitempty"`
	//Value of the resource
	Value uint64 `json:"value,omitempty"`
	// Only set for Quota@GetQuotaResponse
	LimitType Resource_LimitType `json:"limit_type,omitempty"`
}

type Resource_LimitType

type Resource_LimitType string
const (
	Resource_LimitType_DEFAULT_QUOTA Resource_LimitType = "DEFAULT_QUOTA"
	Resource_LimitType_DERIVED       Resource_LimitType = "DERIVED"
	Resource_LimitType_LICENSE       Resource_LimitType = "LICENSE"
	Resource_LimitType_QUOTA         Resource_LimitType = "QUOTA"
)

type Resource_Type

type Resource_Type string
const (
	Resource_Type_DIRECTORY_COUNT     Resource_Type = "DIRECTORY_COUNT"
	Resource_Type_FILE_COUNT          Resource_Type = "FILE_COUNT"
	Resource_Type_LOGICAL_DISK_SPACE  Resource_Type = "LOGICAL_DISK_SPACE"
	Resource_Type_OPEN_FILE_COUNT     Resource_Type = "OPEN_FILE_COUNT"
	Resource_Type_PHYSICAL_DISK_SPACE Resource_Type = "PHYSICAL_DISK_SPACE"
	Resource_Type_SPINDLE_TIME        Resource_Type = "SPINDLE_TIME"
	Resource_Type_SYMLINK_COUNT       Resource_Type = "SYMLINK_COUNT"
	Resource_Type_VOLUME_COUNT        Resource_Type = "VOLUME_COUNT"
)

type RestrictTime

type RestrictTime struct {
	// 0-24
	RestrictToHours []int32 `json:"restrict_to_hours,omitempty"`
	// 0=Sun, 1=Mon, ...
	RestrictToWeekdays []int32 `json:"restrict_to_weekdays,omitempty"`
	// 0-53, restrict to weeks of year.
	RestrictToWeekOfYear []int32 `json:"restrict_to_week_of_year,omitempty"`
}

type ResumeTaskRequest

type ResumeTaskRequest struct {
	// List of one or more IDs of the tasks to be resumed
	TaskId []string `json:"task_id,omitempty"`
	// contains filtered or unexported fields
}

type ResumeTaskResponse

type ResumeTaskResponse struct {
}

type RetryTaskRequest

type RetryTaskRequest struct {
	// List of one or more IDs of the tasks to be restarted
	TaskId []string `json:"task_id,omitempty"`
	// contains filtered or unexported fields
}

type RetryTaskResponse

type RetryTaskResponse struct {
}

type RevokeCertificateRequest

type RevokeCertificateRequest struct {
	// Certificate fingerprint to revoke
	Fingerprint string `json:"fingerprint,omitempty"`
	// Reason to revoke according to RFC 5280
	CrlReason CrlReason `json:"crl_reason,omitempty"`
	// contains filtered or unexported fields
}

type RevokeCertificateResponse

type RevokeCertificateResponse struct {
}

type RpcRetryMode

type RpcRetryMode string
const (
	RpcRetryMode_RETRY_FOREVER             RpcRetryMode = "RETRY_FOREVER"
	RpcRetryMode_RETRY_FOREVER_UNLESS_FULL RpcRetryMode = "RETRY_FOREVER_UNLESS_FULL"
	RpcRetryMode_RETRY_INTERACTIVE         RpcRetryMode = "RETRY_INTERACTIVE"
	RpcRetryMode_RETRY_NEVER               RpcRetryMode = "RETRY_NEVER"
)

type RuleAction

type RuleAction struct {
	ActionType         RuleAction_ActionType `json:"action_type,omitempty"`
	NotifyEmailAddress []string              `json:"notify_email_address,omitempty"`
}

type RuleAction_ActionType

type RuleAction_ActionType string
const (
	RuleAction_ActionType_DO_NOTHING                         RuleAction_ActionType = "DO_NOTHING"
	RuleAction_ActionType_NOTIFY                             RuleAction_ActionType = "NOTIFY"
	RuleAction_ActionType_OBSOLETE_CLEANUP_DEVICE            RuleAction_ActionType = "OBSOLETE_CLEANUP_DEVICE"
	RuleAction_ActionType_OBSOLETE_ENFORCE_FILE_PLACEMENT    RuleAction_ActionType = "OBSOLETE_ENFORCE_FILE_PLACEMENT"
	RuleAction_ActionType_OBSOLETE_ENFORCE_VOLUME_PLACEMENT  RuleAction_ActionType = "OBSOLETE_ENFORCE_VOLUME_PLACEMENT"
	RuleAction_ActionType_OBSOLETE_MANAGE_REGISTRY_REPLICAS  RuleAction_ActionType = "OBSOLETE_MANAGE_REGISTRY_REPLICAS"
	RuleAction_ActionType_OBSOLETE_REBALANCE_DEVICE          RuleAction_ActionType = "OBSOLETE_REBALANCE_DEVICE"
	RuleAction_ActionType_OBSOLETE_REGENERATE_DEVICE         RuleAction_ActionType = "OBSOLETE_REGENERATE_DEVICE"
	RuleAction_ActionType_OBSOLETE_SCRUB_VOLUME              RuleAction_ActionType = "OBSOLETE_SCRUB_VOLUME"
	RuleAction_ActionType_OBSOLETE_SET_DEVICE_DISCONNECTED   RuleAction_ActionType = "OBSOLETE_SET_DEVICE_DISCONNECTED"
	RuleAction_ActionType_OBSOLETE_SET_DEVICE_OFFLINE        RuleAction_ActionType = "OBSOLETE_SET_DEVICE_OFFLINE"
	RuleAction_ActionType_OBSOLETE_TRIGGER_VOLUME_CHECKPOINT RuleAction_ActionType = "OBSOLETE_TRIGGER_VOLUME_CHECKPOINT"
	RuleAction_ActionType_RESET_VOLUME_ACCOUNTING            RuleAction_ActionType = "RESET_VOLUME_ACCOUNTING"
	RuleAction_ActionType_UNREGISTER_SERVICE                 RuleAction_ActionType = "UNREGISTER_SERVICE"
)

type RuleConfiguration

type RuleConfiguration struct {
	RuleIdentifier string `json:"rule_identifier,omitempty"`
	// A flag indicating whether the rule is enabled.
	Enabled bool `json:"enabled,omitempty"`
	// Number of seconds to wait before alerting.
	AlertAfterSeconds int32 `json:"alert_after_seconds,omitempty"`
	// Time restrictions for alerting.
	RestrictTime RestrictTime `json:"restrict_time,omitempty"`
	// Actions to take when alerting.
	Actions []*RuleAction `json:"actions,omitempty"`
}

type RuleDescriptor

type RuleDescriptor struct {
	RuleIdentifier     string             `json:"rule_identifier,omitempty"`
	AlertConfiguration AlertConfiguration `json:"alert_configuration,omitempty"`
	SensorIdentifier   string             `json:"sensor_identifier,omitempty"`
	SensorParameters   []string           `json:"sensor_parameters,omitempty"`
	// The description of the sensor's working (with placeholders)
	SensorDescription string `json:"sensor_description,omitempty"`
	// The description of what state has been detected (with placeholders)
	SensorMessage string `json:"sensor_message,omitempty"`
	// What the user should do manually
	SensorSuggestedAction string        `json:"sensor_suggested_action,omitempty"`
	Actions               []*RuleAction `json:"actions,omitempty"`
	// The set of supported actions for the rule.
	SupportedActions []*RuleAction           `json:"supported_actions,omitempty"`
	Severity         FiringRule_RuleSeverity `json:"severity,omitempty"`
}

type ScrubSettings

type ScrubSettings struct {
	// Obsolete since release 2.6.
	SkipOpenFiles bool `json:"skip_open_files,omitempty"`
}

type ServiceDescription

type ServiceDescription struct {
	ServiceUuid string `json:"service_uuid,omitempty"`
	ServiceName string `json:"service_name,omitempty"`
	// The service's network addresses.
	NetworkAddresses []*ServiceDescription_NetworkEndpoint `json:"network_addresses,omitempty"`
	// HTTP status page server endpoint.
	StatusServer ServiceDescription_NetworkEndpoint `json:"status_server,omitempty"`
	// service type
	ServiceType ServiceType `json:"service_type,omitempty"`
	// service's last seen time stamp in ms
	LastSeenTimestampMs uint64 `json:"last_seen_timestamp_ms,omitempty"`
	// service availability
	IsAvailable bool `json:"is_available,omitempty"`
	// Service has a registered network location
	IsRegistered       bool                 `json:"is_registered,omitempty"`
	IsPrimary          bool                 `json:"is_primary,omitempty"`
	FailureDomainInfos []*FailureDomainInfo `json:"failure_domain_infos,omitempty"`
	//additional service information
	AdditionalServiceAddress ServiceDescription_NetworkEndpoint `json:"additional_service_address,omitempty"`
}

type ServiceDescription_NetworkEndpoint

type ServiceDescription_NetworkEndpoint struct {
	Protocol ServiceDescription_NetworkEndpoint_Protocol `json:"protocol,omitempty"`
	//IP address of the server.
	IpAddress string `json:"ip_address,omitempty"`
	// TCP/UDP port number.
	Port int32 `json:"port,omitempty"`
}

type ServiceDescription_NetworkEndpoint_Protocol

type ServiceDescription_NetworkEndpoint_Protocol string
const (
	ServiceDescription_NetworkEndpoint_Protocol_HTTP  ServiceDescription_NetworkEndpoint_Protocol = "HTTP"
	ServiceDescription_NetworkEndpoint_Protocol_HTTPS ServiceDescription_NetworkEndpoint_Protocol = "HTTPS"
	ServiceDescription_NetworkEndpoint_Protocol_NFS   ServiceDescription_NetworkEndpoint_Protocol = "NFS"
	ServiceDescription_NetworkEndpoint_Protocol_PLAIN ServiceDescription_NetworkEndpoint_Protocol = "PLAIN"
)

type ServiceStatusServerNetworkEndpoint

type ServiceStatusServerNetworkEndpoint struct {
	// related to HTTP status server FQDN or IP address of the server.
	Hostname string `json:"hostname,omitempty"`
	// TCP/UDP port number.
	Port int32 `json:"port,omitempty"`
	// service type.
	ServiceType ServiceType `json:"service_type,omitempty"`
	// service's last seen time stamp in ms
	LastSeenTimestampMs uint64 `json:"last_seen_timestamp_ms,omitempty"`
	// service availability
	IsAvailable bool `json:"is_available,omitempty"`
	//service uuid
	ServiceUuid string `json:"service_uuid,omitempty"`
	// service name (display host name)
	ServiceName string `json:"service_name,omitempty"`
	IsPrimary   bool   `json:"is_primary,omitempty"`
}

type ServiceType

type ServiceType string
const (
	ServiceType_API_PROXY ServiceType = "API_PROXY"
	//  Clients and proxies.
	ServiceType_CLIENT            ServiceType = "CLIENT"
	ServiceType_DIRECTORY_SERVICE ServiceType = "DIRECTORY_SERVICE"
	ServiceType_METADATA_SERVICE  ServiceType = "METADATA_SERVICE"
	ServiceType_NFS_PROXY         ServiceType = "NFS_PROXY"
	ServiceType_S3_PROXY          ServiceType = "S3_PROXY"
	ServiceType_STORAGE_SERVICE   ServiceType = "STORAGE_SERVICE"
	ServiceType_WEBCONSOLE        ServiceType = "WEBCONSOLE"
)

type SetCertificateOwnerRequest

type SetCertificateOwnerRequest struct {
	// Certificate certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// Tenant id
	TenantId string `json:"tenant_id,omitempty"`
	// contains filtered or unexported fields
}

type SetCertificateOwnerResponse

type SetCertificateOwnerResponse struct {
}

type SetCertificateSubjectRequest

type SetCertificateSubjectRequest struct {
	// X.509 certificate fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// Certificate subject description
	Subject CertificateSubject `json:"subject,omitempty"`
	// contains filtered or unexported fields
}

type SetCertificateSubjectResponse

type SetCertificateSubjectResponse struct {
}

type SetConfigurationRequest

type SetConfigurationRequest struct {
	ConfigurationType          ConfigurationType          `json:"configuration_type,omitempty"`
	ConfigurationName          string                     `json:"configuration_name,omitempty"`
	VolumeConfiguration        VolumeConfiguration        `json:"volume_configuration,omitempty"`
	FailureDomainConfiguration FailureDomainConfiguration `json:"failure_domain_configuration,omitempty"`
	UserConfiguration          UserConfiguration          `json:"user_configuration,omitempty"`
	SystemConfiguration        SystemConfiguration        `json:"system_configuration,omitempty"`
	RuleConfiguration          RuleConfiguration          `json:"rule_configuration,omitempty"`
	// Obsolete since release 1.4. Use setTenant() instead.
	TenantConfiguration TenantDomainConfiguration `json:"tenant_configuration,omitempty"`
	// contains filtered or unexported fields
}

type SetConfigurationResponse

type SetConfigurationResponse struct {
}

type SetLabelsRequest

type SetLabelsRequest struct {
	// Labels with empty values will be deleted.
	Data []*Label `json:"data,omitempty"`
	// contains filtered or unexported fields
}

type SetLabelsResponse

type SetLabelsResponse struct {
}

type SetQuotaRequest

type SetQuotaRequest struct {
	Quotas []*Quota `json:"quotas,omitempty"`
	// contains filtered or unexported fields
}

type SetQuotaResponse

type SetQuotaResponse struct {
}

type SetTenantRequest

type SetTenantRequest struct {
	Tenant TenantDomainConfiguration `json:"tenant,omitempty"`
	// contains filtered or unexported fields
}

type SetTenantResponse

type SetTenantResponse struct {
	TenantId string `json:"tenant_id,omitempty"`
}

type SubjectList

type SubjectList struct {
	Type SubjectList_Type `json:"type,omitempty"`
	// in case of UNFORMATTED_DEVICE subjectId = serviceUuid.concat(path)
	SubjectId []string `json:"subject_id,omitempty"`
	// is relevant for UNFORMATTED_DEVICE case
	Devicetype MakeDeviceSettings_DeviceType `json:"deviceType,omitempty"`
}

type SubjectList_Type

type SubjectList_Type string
const (
	SubjectList_Type_DEVICE             SubjectList_Type = "DEVICE"
	SubjectList_Type_TASK               SubjectList_Type = "TASK"
	SubjectList_Type_UNFORMATTED_DEVICE SubjectList_Type = "UNFORMATTED_DEVICE"
	SubjectList_Type_VOLUME             SubjectList_Type = "VOLUME"
)

type SystemConfiguration

type SystemConfiguration struct {
	Smtp SystemConfiguration_SmtpServerConfig `json:"smtp,omitempty"`
	// Configuration for the Quobyte network
	Network SystemConfiguration_NetworkConfig `json:"network,omitempty"`
	// Configuration for the LDAP user database
	Ldap SystemConfiguration_LdapServerConfig `json:"ldap,omitempty"`
	// Configuration for user authentication
	Security SystemConfiguration_SecurityConfig `json:"security,omitempty"`
	//License key for this installation
	LicenseKey string `json:"license_key,omitempty"`
	// Configuration for the Keystone user database
	Keystone SystemConfiguration_KeystoneConfig `json:"keystone,omitempty"`
	Registry SystemConfiguration_RegistryConfig `json:"registry,omitempty"`
	// If enabled Quobyte services might perform optimizations for lower latency of sequential workloads at the cost of CPU and power consumption.
	EnableLowLatencyMode bool                                         `json:"enable_low_latency_mode,omitempty"`
	S3Proxy              SystemConfiguration_S3ProxyConfig            `json:"s3_proxy,omitempty"`
	QnsConfig            SystemConfiguration_QuobyteNameServiceConfig `json:"qns_config,omitempty"`
	HealthManagerConfig  SystemConfiguration_HealthManagerConfig      `json:"health_manager_config,omitempty"`
	ClientConfiguration  SystemConfiguration_ClientConfiguration      `json:"client_configuration,omitempty"`
}

type SystemConfiguration_CatchupPolicy

type SystemConfiguration_CatchupPolicy struct {
	Enable bool `json:"enable,omitempty"`
}

type SystemConfiguration_CleanupPolicy

type SystemConfiguration_CleanupPolicy struct {
	Enable bool `json:"enable,omitempty"`
	// min time between a successful cleanup and the scheduling of a new task
	IntervalS uint64 `json:"interval_s,omitempty"`
	// if true, cleanup tasks will only be started during maintenance window
	RestrictToMaintenanceWindow bool `json:"restrict_to_maintenance_window,omitempty"`
	// max parallel cleanup tasks scheduled per service
	LimitMaxTasksPerService uint32 `json:"limit_max_tasks_per_service,omitempty"`
	// global max parallel cleanup tasks scheduled by health manager
	LimitMaxTasks uint32 `json:"limit_max_tasks,omitempty"`
}

type SystemConfiguration_ClientConfiguration

type SystemConfiguration_ClientConfiguration struct {
	EnableMinidumpUploads bool `json:"enable_minidump_uploads,omitempty"`
}

type SystemConfiguration_EnforcePlacementPolicy

type SystemConfiguration_EnforcePlacementPolicy struct {
	Enable                      bool   `json:"enable,omitempty"`
	RestrictToMaintenanceWindow bool   `json:"restrict_to_maintenance_window,omitempty"`
	IntervalS                   uint64 `json:"interval_s,omitempty"`
}

type SystemConfiguration_FstrimPolicy

type SystemConfiguration_FstrimPolicy struct {
	Enable bool `json:"enable,omitempty"`
	// min time between a successful fstrim and the scheduling of a new task
	IntervalS uint64 `json:"interval_s,omitempty"`
	// if true, fstrim tasks will only be started during maintenance window
	RestrictToMaintenanceWindow bool `json:"restrict_to_maintenance_window,omitempty"`
	// max parallel fstrim tasks scheduled per service
	LimitMaxTasksPerService uint32 `json:"limit_max_tasks_per_service,omitempty"`
	// global max parallel fstrim tasks scheduled by health manager
	LimitMaxTasks uint32 `json:"limit_max_tasks,omitempty"`
}

type SystemConfiguration_HandleDefectiveDevicesPolicy

type SystemConfiguration_HandleDefectiveDevicesPolicy struct {
	// disables the execution of the rule
	Enable bool `json:"enable,omitempty"`
	// action to be taken on defective devices. Default is to set device to REGENERATE
	Action SystemConfiguration_HandleDefectiveDevicesPolicy_Action `json:"action,omitempty"`
	// don't start more regenerate tasks if limit_max_tasks regenerate tasks are already running
	LimitMaxTasks uint32 `json:"limit_max_tasks,omitempty"`
}

type SystemConfiguration_HandleDefectiveDevicesPolicy_Action

type SystemConfiguration_HandleDefectiveDevicesPolicy_Action string
const (
	SystemConfiguration_HandleDefectiveDevicesPolicy_Action_NO_ACTION         SystemConfiguration_HandleDefectiveDevicesPolicy_Action = "NO_ACTION"
	SystemConfiguration_HandleDefectiveDevicesPolicy_Action_REGENERATE_DEVICE SystemConfiguration_HandleDefectiveDevicesPolicy_Action = "REGENERATE_DEVICE"
	SystemConfiguration_HandleDefectiveDevicesPolicy_Action_TAKE_OFFLINE      SystemConfiguration_HandleDefectiveDevicesPolicy_Action = "TAKE_OFFLINE"
)

type SystemConfiguration_HealthManagerConfig

type SystemConfiguration_HealthManagerConfig struct {
	Enable bool `json:"enable,omitempty"`
	// Some policies are restricted to run during a maintenance window. Define this window here.
	MaintenanceWindow                  []*RestrictTime                                        `json:"maintenance_window,omitempty"`
	RebalancePolicy                    SystemConfiguration_RebalancePolicy                    `json:"rebalance_policy,omitempty"`
	CatchupPolicy                      SystemConfiguration_CatchupPolicy                      `json:"catchup_policy,omitempty"`
	FstrimPolicy                       SystemConfiguration_FstrimPolicy                       `json:"fstrim_policy,omitempty"`
	CleanupPolicy                      SystemConfiguration_CleanupPolicy                      `json:"cleanup_policy,omitempty"`
	HandleDefectiveDevicesPolicy       SystemConfiguration_HandleDefectiveDevicesPolicy       `json:"handle_defective_devices_policy,omitempty"`
	UpdateStatesOfDrainedDevicesPolicy SystemConfiguration_UpdateStatesOfDrainedDevicesPolicy `json:"update_states_of_drained_devices_policy,omitempty"`
	ScrubPolicy                        SystemConfiguration_ScrubPolicy                        `json:"scrub_policy,omitempty"`
	RegenerateUnavailableDevicesPolicy SystemConfiguration_RegenerateUnavailableDevicesPolicy `json:"regenerate_unavailable_devices_policy,omitempty"`
	EnforcePlacementPolicy             SystemConfiguration_EnforcePlacementPolicy             `json:"enforce_placement_policy,omitempty"`
	TieringPolicy                      SystemConfiguration_TieringPolicy                      `json:"tiering_policy,omitempty"`
}

type SystemConfiguration_KeystoneConfig

type SystemConfiguration_KeystoneConfig struct {
	//Name of the Keystone server
	Hostname string `json:"hostname,omitempty"`
	//Admin port of the Keystone identity API (default is 35357)
	Port int32 `json:"port,omitempty"`
	// ID of a Keystone admin user
	AdminUserId string `json:"admin_user_id,omitempty"`
	// Password for the Keystone user
	AdminPassword string `json:"admin_password,omitempty"`
	//ID of the Keystone project used for Quobyte
	QuobyteProjectId string `json:"quobyte_project_id,omitempty"`
	// Mapping S3 accounts to Openstack tenant projects rather than domains
	AlternativeMapping bool `json:"alternative_mapping,omitempty"`
}

type SystemConfiguration_LdapServerConfig

type SystemConfiguration_LdapServerConfig struct {
	//The LDAP server URL
	Url string `json:"url,omitempty"`
	//The LDAP base DN
	BaseDn string `json:"base_dn,omitempty"`
	//The LDAP bind user credentials DN
	BindUserDn string `json:"bind_user_dn,omitempty"`
	// The LDAP bind user credentials secret
	BindUserSecret string `json:"bind_user_secret,omitempty"`
	// Source from where the user role should be obtained
	UserAttributesSource SystemConfiguration_LdapServerConfig_DataSource `json:"user_attributes_source,omitempty"`
	// mapping of ldap groups to user attributes (if role_source==LDAP_GROUP_MEMBERSHIP)
	GroupsToAttributesMapping []*GroupsToAttributesMapping `json:"groups_to_attributes_mapping,omitempty"`
	//Relative distinguished names (RDN) for groups used for the LDAP_GROUP_MEMBERSHIP search.
	GroupRdn []string `json:"group_rdn,omitempty"`
	//Attribute name of user RDN
	UserRdnAttributeName string `json:"user_rdn_attribute_name,omitempty"`
	// Enables/disables "referral-follow" feature for LDAP client (in case of multiple LDAP-servers should be enabled)
	ReferralFollow bool `json:"referral_follow,omitempty"`
}

type SystemConfiguration_LdapServerConfig_DataSource

type SystemConfiguration_LdapServerConfig_DataSource string
const (
	SystemConfiguration_LdapServerConfig_DataSource_LDAP_ATTRIBUTE        SystemConfiguration_LdapServerConfig_DataSource = "LDAP_ATTRIBUTE"
	SystemConfiguration_LdapServerConfig_DataSource_LDAP_GROUP_MEMBERSHIP SystemConfiguration_LdapServerConfig_DataSource = "LDAP_GROUP_MEMBERSHIP"
	SystemConfiguration_LdapServerConfig_DataSource_LOCAL_DATABASE        SystemConfiguration_LdapServerConfig_DataSource = "LOCAL_DATABASE"
)

type SystemConfiguration_NetworkConfig

type SystemConfiguration_NetworkConfig struct {
	//White-listed networks for service-service communication
	EnabledServiceNetworks []string `json:"enabled_service_networks,omitempty"`
	//White-listed networks for client-service communication (if empty, the service network is used)
	EnabledClientNetworks []string `json:"enabled_client_networks,omitempty"`
}

type SystemConfiguration_QuobyteNameServiceConfig

type SystemConfiguration_QuobyteNameServiceConfig struct {
	Id     string `json:"id,omitempty"`
	Secret string `json:"secret,omitempty"`
}

type SystemConfiguration_RebalancePolicy

type SystemConfiguration_RebalancePolicy struct {
	// disables the execution of the rule
	Enable bool `json:"enable,omitempty"`
	// parameter for dynamic threshold of "device too full" detection. The emptiest and the fullest device are determined and if (fullest% - emptiest% > keep_usage_within_band_fraction * 100), a rebalance is started for the fullest devices until all device fills are in the rebalance_band again.
	KeepUsageWithinBandFraction float32 `json:"keep_usage_within_band_fraction,omitempty"`
	// rebalance tasks for data devices are started with one source device and multiple targets. limit_max_tasks sets the limits the number of source devices rebalancing in parallel
	LimitMaxRebalanceDataDeviceTasks uint32 `json:"limit_max_rebalance_data_device_tasks,omitempty"`
	// if true, rebalance tasks will only be started during maintenance window
	RestrictToMaintenanceWindow bool `json:"restrict_to_maintenance_window,omitempty"`
	// minimal time between a successful rebalance task and a retry
	RetrySuccessfulPeriodS uint64 `json:"retry_successful_period_s,omitempty"`
	// minimal time between an unsuccessful rebalance task and a retry
	RetryFailedPeriodS uint64 `json:"retry_failed_period_s,omitempty"`
	// rebalance tasks will max move X bytes of the device's content to enable shorter turn-around times.
	MaxBytesToMove int64 `json:"max_bytes_to_move,omitempty"`
}

type SystemConfiguration_RegenerateUnavailableDevicesPolicy

type SystemConfiguration_RegenerateUnavailableDevicesPolicy struct {
	Enable bool `json:"enable,omitempty"`
	// Grace period after the device was detected to be unavailable until a remove device task is started.
	DeviceUnavailableGracePeriodS uint64 `json:"device_unavailable_grace_period_s,omitempty"`
	RestrictToMaintenanceWindow   bool   `json:"restrict_to_maintenance_window,omitempty"`
	// don't start more regenerate tasks if limit_max_tasks regenerate tasks are already running
	LimitMaxTasks uint32 `json:"limit_max_tasks,omitempty"`
}

type SystemConfiguration_RegistryConfig

type SystemConfiguration_RegistryConfig struct {
	// Desired number of replicas for the registry
	ReplicationFactor uint32 `json:"replication_factor,omitempty"`
}

type SystemConfiguration_S3ProxyConfig

type SystemConfiguration_S3ProxyConfig struct {
	Ldap               SystemConfiguration_LdapServerConfig                 `json:"ldap,omitempty"`
	Keystone           SystemConfiguration_KeystoneConfig                   `json:"keystone,omitempty"`
	AuthenticationType SystemConfiguration_S3ProxyConfig_AuthenticationType `json:"authentication_type,omitempty"`
	HttpPort           int32                                                `json:"http_port,omitempty"`
	HttpsPort          int32                                                `json:"https_port,omitempty"`
	RedirectToHttps    bool                                                 `json:"redirect_to_https,omitempty"`
	Hostname           []string                                             `json:"hostname,omitempty"`
	// Enables the S3 browser UI when set, accessible as subdomain of one of the configured hosts, i.e. http[s]://<browser_bucket_name>.<hostname>/index.html
	BrowserBucketName string `json:"browser_bucket_name,omitempty"`
}

type SystemConfiguration_S3ProxyConfig_AuthenticationType

type SystemConfiguration_S3ProxyConfig_AuthenticationType string
const (
	SystemConfiguration_S3ProxyConfig_AuthenticationType_KEYSTONE               SystemConfiguration_S3ProxyConfig_AuthenticationType = "KEYSTONE"
	SystemConfiguration_S3ProxyConfig_AuthenticationType_LDAP                   SystemConfiguration_S3ProxyConfig_AuthenticationType = "LDAP"
	SystemConfiguration_S3ProxyConfig_AuthenticationType_PASSWORD_FILE          SystemConfiguration_S3ProxyConfig_AuthenticationType = "PASSWORD_FILE"
	SystemConfiguration_S3ProxyConfig_AuthenticationType_REGISTRY_USER_DATABASE SystemConfiguration_S3ProxyConfig_AuthenticationType = "REGISTRY_USER_DATABASE"
)

type SystemConfiguration_ScrubPolicy

type SystemConfiguration_ScrubPolicy struct {
	// disables the execution of the rule
	Enable bool `json:"enable,omitempty"`
	// min time between the last successful scrub of a volume and the scheduling of a new task
	IntervalS uint64 `json:"interval_s,omitempty"`
	// if true, scrub tasks will only be started during maintenance mode
	RestrictToMaintenanceWindow bool `json:"restrict_to_maintenance_window,omitempty"`
	// limit how many scrub subtasks will be run in parallel.
	LimitMaxTasks int32 `json:"limit_max_tasks,omitempty"`
}

type SystemConfiguration_SecurityConfig

type SystemConfiguration_SecurityConfig struct {
	//The user database to use ("DB", "LDAP" or "KEYSTONE")
	UserDatabase string `json:"user_database,omitempty"`
	// Global lifetime restriction (sec) for access keys. If not set or 0 - no global restriction
	MaxAccessKeyLifetimeS int64 `json:"max_access_key_lifetime_s,omitempty"`
}

type SystemConfiguration_SmtpServerConfig

type SystemConfiguration_SmtpServerConfig struct {
	Host          string `json:"host,omitempty"`
	Port          int32  `json:"port,omitempty"`
	Username      string `json:"username,omitempty"`
	Password      string `json:"password,omitempty"`
	UseTls        bool   `json:"use_tls,omitempty"`
	DefaultSender string `json:"default_sender,omitempty"`
}

type SystemConfiguration_TieringPolicy

type SystemConfiguration_TieringPolicy struct {
	Enable                      bool  `json:"enable,omitempty"`
	RestrictToMaintenanceWindow bool  `json:"restrict_to_maintenance_window,omitempty"`
	IntervalS                   int64 `json:"interval_s,omitempty"`
}

type SystemConfiguration_UpdateStatesOfDrainedDevicesPolicy

type SystemConfiguration_UpdateStatesOfDrainedDevicesPolicy struct {
	Enable bool `json:"enable,omitempty"`
}

type SystemStatistics

type SystemStatistics struct {
	// Number of tasks in the system. Number of FINISHED tasks might only contain recently completed tasks
	TaskCounts []*SystemStatistics_TaskCount `json:"task_counts,omitempty"`
	//Number of registered devices
	RegisteredDeviceCount int32 `json:"registered_device_count,omitempty"`
	//Number of devices currently not registered with a service
	UnassociatedDeviceCount int32 `json:"unassociated_device_count,omitempty"`
	//Number of devices that are {ONLINE,OFFLINE,DRAIN} but are not available (service down or unassociated)
	UnavailableDeviceCount int32 `json:"unavailable_device_count,omitempty"`
	//Number of devices that are considered gone for good
	DecommissionedDevice int32 `json:"decommissioned_device,omitempty"`
	// Number of volumes in the system.
	VolumeCount int32 `json:"volume_count,omitempty"`
	// Overall physical storage capacity in bytes
	TotalPhysicalCapacity int64 `json:"total_physical_capacity,omitempty"`
	// Current overall physical usage in bytes
	TotalPhysicalUsage int64 `json:"total_physical_usage,omitempty"`
	// Overall logical storage capacity in bytes
	TotalLogicalCapacity int64 `json:"total_logical_capacity,omitempty"`
	// Current overall logical usage in bytes
	TotalLogicalUsage int64 `json:"total_logical_usage,omitempty"`
}

type SystemStatistics_TaskCount

type SystemStatistics_TaskCount struct {
	TaskState TaskState `json:"task_state,omitempty"`
	TaskCount int32     `json:"task_count,omitempty"`
	HasErrors bool      `json:"has_errors,omitempty"`
}

type TaskInfo

type TaskInfo struct {
	TaskId   string    `json:"task_id,omitempty"`
	TaskType TaskType  `json:"task_type,omitempty"`
	State    TaskState `json:"state,omitempty"`
	// Start date of task (ms since epoch), only set if the task is not SCHEDULED.
	BeginTimestampMs int64 `json:"begin_timestamp_ms,omitempty"`
	// Completion date of task (ms since epoch), only set if the task is FINISHED, CANCELLED, FAILED.
	EndTimestampMs int64 `json:"end_timestamp_ms,omitempty"`
	// Human readable error message is only set if state == FAILED.
	ErrorMessage string `json:"error_message,omitempty"`
	// Contains the 'why' of the running task.
	Comment string `json:"comment,omitempty"`
	// Scope.
	SuperTaskId string         `json:"super_task_id,omitempty"`
	Scope       []*SubjectList `json:"scope,omitempty"`
	// Progress indicators.
	Progress    TaskInfo_Progress       `json:"progress,omitempty"`
	Performance []*TaskInfo_Performance `json:"performance,omitempty"`
	// Listing of errorneous files/volumes (subtasks only).
	ErrorDetails       []*TaskInfo_ErrorDetails `json:"error_details,omitempty"`
	OwnerType          TaskInfo_OwnerType       `json:"owner_type,omitempty"`
	MakeDeviceSettings MakeDeviceSettings       `json:"make_device_settings,omitempty"`
	CopyFileSettings   CopyFilesSettings        `json:"copy_file_settings,omitempty"`
}

type TaskInfo_ErrorDetails

type TaskInfo_ErrorDetails struct {
	Description string   `json:"description,omitempty"`
	Item        []string `json:"item,omitempty"`
}

type TaskInfo_OwnerType

type TaskInfo_OwnerType string
const (
	TaskInfo_OwnerType_HEALTH_MANAGER TaskInfo_OwnerType = "HEALTH_MANAGER"
	TaskInfo_OwnerType_USER           TaskInfo_OwnerType = "USER"
)

type TaskInfo_Performance

type TaskInfo_Performance struct {
	Type      TaskInfo_Performance_Type `json:"type,omitempty"`
	PerSecond float32                   `json:"per_second,omitempty"`
	Processed uint64                    `json:"processed,omitempty"`
	Error     uint64                    `json:"error,omitempty"`
	Total     uint64                    `json:"total,omitempty"`
}

type TaskInfo_Performance_Type

type TaskInfo_Performance_Type string
const (
	TaskInfo_Performance_Type_BYTE     TaskInfo_Performance_Type = "BYTE"
	TaskInfo_Performance_Type_FILE     TaskInfo_Performance_Type = "FILE"
	TaskInfo_Performance_Type_REGISTRY TaskInfo_Performance_Type = "REGISTRY"
	TaskInfo_Performance_Type_VOLUME   TaskInfo_Performance_Type = "VOLUME"
)

type TaskInfo_Progress

type TaskInfo_Progress struct {
	// success_fraction, failure_fraction e [0;1[ success_fraction + failure_fraction <= 1
	SuccessFraction float32 `json:"success_fraction,omitempty"`
	FailureFraction float32 `json:"failure_fraction,omitempty"`
	TimeElapsedS    uint64  `json:"time_elapsed_s,omitempty"`
	// Long.MAX_VALUE if not started yet.
	EtaS                              uint64                                    `json:"eta_s,omitempty"`
	OperationsInFlightCount           int32                                     `json:"operations_in_flight_count,omitempty"`
	LongRunningOperation              []*TaskInfo_Progress_LongRunningOperation `json:"long_running_operation,omitempty"`
	CurrentLongRunningOperationsCount int32                                     `json:"current_long_running_operations_count,omitempty"`
	TotalLongRunningOperationsCount   int64                                     `json:"total_long_running_operations_count,omitempty"`
	HumanReadableSummary              string                                    `json:"human_readable_summary,omitempty"`
	AreAllSubjectOperationsOk         bool                                      `json:"are_all_subject_operations_ok,omitempty"`
	ObsoleteStalledBySubject          SubjectList                               `json:"OBSOLETE_stalled_by_subject,omitempty"`
}

type TaskInfo_Progress_LongRunningOperation

type TaskInfo_Progress_LongRunningOperation struct {
	// Identifier of the operation, e.g. ADD_REPLICA.
	OperationId string `json:"operation_id,omitempty"`
	// The subject in question, e.g. a certain file.
	Subject string `json:"subject,omitempty"`
	// The operation's RPC target(s), e.g. volume or device UUID(s).
	RpcTarget []string `json:"rpc_target,omitempty"`
	// Additional "free text" info about the operation.
	Details string `json:"details,omitempty"`
	// Timestamp in [ms] when the operation started.
	StartTimestampMs int64 `json:"start_timestamp_ms,omitempty"`
}

type TaskState

type TaskState string
const (
	TaskState_CANCELED   TaskState = "CANCELED"
	TaskState_CANCELLING TaskState = "CANCELLING"
	TaskState_FAILED     TaskState = "FAILED"
	TaskState_FINISHED   TaskState = "FINISHED"
	TaskState_RUNNING    TaskState = "RUNNING"
	TaskState_SCHEDULED  TaskState = "SCHEDULED"
)

type TaskType

type TaskType string
const (
	//  Synchronizes replica sets when devices were temporarily unavailable.
	TaskType_CATCH_UP TaskType = "CATCH_UP"
	//  Cleans up unreferenced data.
	TaskType_CLEANUP TaskType = "CLEANUP"
	//  Moves data from a device to other suitable devices.
	TaskType_CLEAR TaskType = "CLEAR"
	//  Copies, moves or recodes files certain files from a source to another.
	TaskType_COPY_FILES TaskType = "COPY_FILES"
	//  Safely remove a device from the Quobyte installation.
	TaskType_DRAIN TaskType = "DRAIN"
	//  Restores replica sets and replaces replicas of volume metadata and files
	//     according to the configured replication policy.
	TaskType_ENFORCE_PLACEMENT TaskType = "ENFORCE_PLACEMENT"
	//  Restores replica sets and replaces replicas of volume metadata according
	//     to the configured replication policy.
	TaskType_ENFORCE_VOLUME_PLACEMENT TaskType = "ENFORCE_VOLUME_PLACEMENT"
	//  Erases volume file data and database, and deletes volume from registry
	//     afterwards.
	TaskType_ERASE_VOLUME TaskType = "ERASE_VOLUME"
	TaskType_FSTRIM       TaskType = "FSTRIM"
	TaskType_MAKE_DEVICE  TaskType = "MAKE_DEVICE"
	//  Moves replicas from overutilized devices to underutilized devices.
	TaskType_REBALANCE TaskType = "REBALANCE"
	//  Regenerates replicas located at an inaccessible device.
	TaskType_REGENERATE TaskType = "REGENERATE"
	//  Reads file system data and checks for CRC errors.
	TaskType_SCRUB TaskType = "SCRUB"
	//  Move replicas according to there configured replication policy between
	//     device classes.
	TaskType_TIERING TaskType = "TIERING"
)

type TenantDomainConfiguration

type TenantDomainConfiguration struct {
	//UUID of the tenant domain
	TenantId string `json:"tenant_id,omitempty"`
	//Name of the tenant domain
	Name string `json:"name,omitempty"`
	//List of one or more IP networks belonging to the domain. Notation: <address>/<netmask length>
	RestrictToNetwork []string `json:"restrict_to_network,omitempty"`
	// List of one or more volumes accessible in the domain
	VolumeAccess []*TenantDomainConfiguration_VolumeAccess `json:"volume_access,omitempty"`
}

type TenantDomainConfiguration_VolumeAccess

type TenantDomainConfiguration_VolumeAccess struct {
	// UUID of the volume to grant access to (e.g "c858ffe2-4fa1-4c78-adbf-54c211734883")
	VolumeUuid string `json:"volume_uuid,omitempty"`
	//IP network to limit accessibility to. Notation: <address>/<netmask length>
	RestrictToNetwork string `json:"restrict_to_network,omitempty"`
	// True if only read-access is allowed
	ReadOnly bool `json:"read_only,omitempty"`
}

type UnformattedDevice

type UnformattedDevice struct {
	ServiceUuid string `json:"service_uuid,omitempty"`
	// e.g. /dev/sda
	DiskName string `json:"disk_name,omitempty"`
	// e.g. sdd, hdd or smr
	Type        DeviceHardwareType `json:"type,omitempty"`
	Model       string             `json:"model,omitempty"`
	Serial      string             `json:"serial,omitempty"`
	Hostname    string             `json:"hostname,omitempty"`
	SizeInBytes uint64             `json:"size_in_bytes,omitempty"`
	HandleId    string             `json:"handle_id,omitempty"`
}

type UnpublishBucketVolumeRequest

type UnpublishBucketVolumeRequest struct {
	// The S3 exclusive bucket volume to unpublish.
	VolumeUuid          string `json:"volume_uuid,omitempty"`
	ObsoleteBucketName  string `json:"OBSOLETE_bucket_name,omitempty"`
	ObsoleteBucketOwner string `json:"OBSOLETE_bucket_owner,omitempty"`
	// contains filtered or unexported fields
}

type UnpublishBucketVolumeResponse

type UnpublishBucketVolumeResponse struct {
}

type UpdateDeviceRequest

type UpdateDeviceRequest struct {
	// Device to update
	DeviceId uint64 `json:"device_id,omitempty"`
	// Set the device status, if set.
	SetDeviceStatus Device_Status `json:"set_device_status,omitempty"`
	// List of device tags to use, if update_device_tags is set.
	DeviceTags       []string `json:"device_tags,omitempty"`
	UpdateDeviceTags bool     `json:"update_device_tags,omitempty"`
	// Set draining mode.
	Draining bool `json:"draining,omitempty"`
	// Type to add or remove depending whether remove_device_type is set or not.
	DeviceType DeviceContent_ContentType `json:"device_type,omitempty"`
	// True if device shall be removed
	RemoveDeviceType bool `json:"remove_device_type,omitempty"`
	// For auditing (MGMTApi)
	Comment string `json:"comment,omitempty"`
	// Set the device LED, if set.
	SetLedStatus    Device_LEDStatus    `json:"set_led_status,omitempty"`
	SetDeviceHealth Device_DeviceHealth `json:"set_device_health,omitempty"`
	// contains filtered or unexported fields
}

type UpdateDeviceResponse

type UpdateDeviceResponse struct {
}

type UpdateUserRequest

type UpdateUserRequest struct {
	UserName    string   `json:"user_name,omitempty"`
	Password    string   `json:"password,omitempty"`
	Email       string   `json:"email,omitempty"`
	TenantId    string   `json:"tenant_id,omitempty"`
	Role        UserRole `json:"role,omitempty"`
	DeleteRoles bool     `json:"delete_roles,omitempty"`
	// contains filtered or unexported fields
}

type UpdateUserResponse

type UpdateUserResponse struct {
	UserConfiguration UserConfiguration `json:"user_configuration,omitempty"`
}

type UpdateVolumeRequest

type UpdateVolumeRequest struct {
	//UUID of the volume to change.
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// New name for the volume.
	Name string `json:"name,omitempty"`
	// UUID of the device where a replica should be added
	AddReplicaDeviceId uint64 `json:"add_replica_device_id,omitempty"`
	// UUID of the device from where a replica should be removed
	RemoveReplicaDeviceId uint64 `json:"remove_replica_device_id,omitempty"`
	// ID of the preferred primary replica device.
	PreferredPrimaryReplicaDeviceId uint64 `json:"preferred_primary_replica_device_id,omitempty"`
	// Whether any set preferred primary replica device should be removed.
	RemovePreferredPrimaryReplicaDevice bool `json:"remove_preferred_primary_replica_device,omitempty"`
	// Name of the configuration to be used for the volume
	SetConfigurationName string `json:"set_configuration_name,omitempty"`
	// Only for mirrored volume:
	RemoteRegistryTarget []string `json:"remote_registry_target,omitempty"`
	// Use publishVolume() instead.
	ObsoleteBucketName   string `json:"OBSOLETE_bucket_name,omitempty"`
	ObsoleteBucketOwner  string `json:"OBSOLETE_bucket_owner,omitempty"`
	ObsoleteBucketDomain string `json:"OBSOLETE_bucket_domain,omitempty"`
	// contains filtered or unexported fields
}

type UpdateVolumeResponse

type UpdateVolumeResponse struct {
}

type UserConfiguration

type UserConfiguration struct {
	//ID (name) of the user
	Id string `json:"id,omitempty"`
	// Hash method for password encryption (e.g."SALTED_SHA512")
	HashMethod HashMethod `json:"hash_method,omitempty"`
	//Hash of the user password
	PasswordHash string `json:"password_hash,omitempty"`
	//Salt value used for encryption
	Salt string `json:"salt,omitempty"`
	//Email address od the user
	Email string `json:"email,omitempty"`
	//Role of the user
	Role                 []*UserRole `json:"role,omitempty"`
	TenantId             string      `json:"tenant_id,omitempty"`
	LastLoginTimestampMs int64       `json:"last_login_timestamp_ms,omitempty"`
	// Access key credentials
	AccessKeyCredentials []*AccessKeyCredentials `json:"access_key_credentials,omitempty"`
}

type UserCredentials

type UserCredentials struct {
	//Client-system user name
	Username string `json:"username,omitempty"`
	//List of one or more client-system group names
	Groups []string `json:"groups,omitempty"`
	//The tenant domain of the given user. Defaults to an empty string for the default domain
	TenantDomain string `json:"tenant_domain,omitempty"`
	//Active user role
	UserRole UserRole `json:"user_role,omitempty"`
}

type UserDatabase

type UserDatabase string
const (
	//  Internal Quobyte database
	UserDatabase_DB UserDatabase = "DB"
	//  OpenStack Keystone identity service
	UserDatabase_KEYSTONE UserDatabase = "KEYSTONE"
	//  LDAP directory
	UserDatabase_LDAP UserDatabase = "LDAP"
)

type UserRole

type UserRole string
const (
	UserRole_DOMAIN_ADMIN               UserRole = "DOMAIN_ADMIN"
	UserRole_DOMAIN_ADMIN_READONLY      UserRole = "DOMAIN_ADMIN_READONLY"
	UserRole_FILESYSTEM_ADMIN           UserRole = "FILESYSTEM_ADMIN"
	UserRole_FILESYSTEM_ADMIN_READONLY  UserRole = "FILESYSTEM_ADMIN_READONLY"
	UserRole_HARDWARE_OPERATOR          UserRole = "HARDWARE_OPERATOR"
	UserRole_OBSOLETE_UNPRIVILEGED_USER UserRole = "OBSOLETE_UNPRIVILEGED_USER"
	UserRole_SUPER_USER                 UserRole = "SUPER_USER"
	UserRole_SUPER_USER_READONLY        UserRole = "SUPER_USER_READONLY"
)

type VerifyLicenseRequest

type VerifyLicenseRequest struct {
	Key string `json:"key,omitempty"`
	// contains filtered or unexported fields
}

type VerifyLicenseResponse

type VerifyLicenseResponse struct {
	ObsoleteValid      bool                                     `json:"OBSOLETE_valid,omitempty"`
	VerificationResult VerifyLicenseResponse_VerificationResult `json:"verification_result,omitempty"`
}

type VerifyLicenseResponse_VerificationResult

type VerifyLicenseResponse_VerificationResult string
const (
	VerifyLicenseResponse_VerificationResult_EXPIRED    VerifyLicenseResponse_VerificationResult = "EXPIRED"
	VerifyLicenseResponse_VerificationResult_INVALID    VerifyLicenseResponse_VerificationResult = "INVALID"
	VerifyLicenseResponse_VerificationResult_OK         VerifyLicenseResponse_VerificationResult = "OK"
	VerifyLicenseResponse_VerificationResult_SUPERSEDED VerifyLicenseResponse_VerificationResult = "SUPERSEDED"
)

type Volume

type Volume struct {
	VolumeUuid       string    `json:"volume_uuid,omitempty"`
	Name             string    `json:"name,omitempty"`
	ReplicaDeviceIds []*uint64 `json:"replica_device_ids,omitempty"`
	// Not set if no replica device is preferred.
	PreferredPrimaryReplicaDeviceId uint64 `json:"preferred_primary_replica_device_id,omitempty"`
	QuotaDiskSpaceBytes             uint64 `json:"quota_disk_space_bytes,omitempty"`
	UsedDiskSpaceBytes              uint64 `json:"used_disk_space_bytes,omitempty"`
	FileCount                       uint64 `json:"file_count,omitempty"`
	DirectoryCount                  uint64 `json:"directory_count,omitempty"`
	// Usage statistics.
	ObsoleteVolumeMetrics VolumeMetrics `json:"OBSOLETE_volume_metrics,omitempty"`
	ConfigurationName     string        `json:"configuration_name,omitempty"`
	TenantDomain          string        `json:"tenant_domain,omitempty"`
	// Set of devices that contain files of this volume.
	DeviceSpread []*uint64 `json:"device_spread,omitempty"`
	// Timestamp of last successful scrub.
	LastSuccessfulScrubMs   uint64   `json:"last_successful_scrub_ms,omitempty"`
	PrimaryDeviceId         uint64   `json:"primary_device_id,omitempty"`
	UsedLogicalSpaceBytes   uint64   `json:"used_logical_space_bytes,omitempty"`
	BucketNames             []string `json:"bucket_names,omitempty"`
	Isexclusivevolumebucket bool     `json:"isExclusiveVolumeBucket,omitempty"`
	// states if the bucket is default within tenant
	TenantDefault bool `json:"tenant_default,omitempty"`
	// Optional source for async replication. If set, all metadata and data of the volume will be retrieved from the volume on the Quobyte installation associated with this source.
	AsyncReplicationSource   AsyncReplicationSource   `json:"async_replication_source,omitempty"`
	AsyncReplicationProgress AsyncReplicationProgress `json:"async_replication_progress,omitempty"`
	LastAccessTimestampS     int64                    `json:"last_access_timestamp_s,omitempty"`
}

type VolumeConfiguration

type VolumeConfiguration struct {
	//Name of the configuration
	ConfigurationName string `json:"configuration_name,omitempty"`
	// Inheritance: use the named configuration and overwrite it with anything set in this config  (e.g."BASE")
	BaseConfiguration string `json:"base_configuration,omitempty"`
	// Configuration for the related metadata
	VolumeMetadataConfiguration VolumeMetadataConfiguration `json:"volume_metadata_configuration,omitempty"`
	// Textual representation of the basic configuration
	DefaultConfig ConfigurationStatement `json:"default_config,omitempty"`
	// Optional list of one or more refinements of the basic configuration
	Refinement                 []*ConfigurationRefinement     `json:"refinement,omitempty"`
	SnapshotConfiguration      VolumeSnapshotConfiguration    `json:"snapshot_configuration,omitempty"`
	MetadataCacheConfiguration FileMetadataCacheConfiguration `json:"metadata_cache_configuration,omitempty"`
	// Definition of security critical behaviour
	SecurityConfiguration VolumeSecurityConfiguration `json:"security_configuration,omitempty"`
	PrefetchConfiguration VolumePrefetchConfiguration `json:"prefetch_configuration,omitempty"`
	FileRetentionPolicy   FileRetentionPolicy         `json:"file_retention_policy,omitempty"`
}

type VolumeMappingInfo

type VolumeMappingInfo struct {
	VolumeUuid        string `json:"volume_uuid,omitempty"`
	VolumeName        string `json:"volume_name,omitempty"`
	TenantId          string `json:"tenant_id,omitempty"`
	ConfigurationName string `json:"configuration_name,omitempty"`
}

type VolumeMetadataConfiguration

type VolumeMetadataConfiguration struct {
	// The placement constraints for metadata replicas
	PlacementSettings PlacementSettings `json:"placement_settings,omitempty"`
	//The number of volume metadata replicas. Recommended: 3
	ReplicationFactor int32 `json:"replication_factor,omitempty"`
}

type VolumeMetrics

type VolumeMetrics struct {
	UpdateOperations     uint64  `json:"update_operations,omitempty"`
	UpdateOperationsRate float32 `json:"update_operations_rate,omitempty"`
	LookupOperations     uint64  `json:"lookup_operations,omitempty"`
	LookupOperationsRate float32 `json:"lookup_operations_rate,omitempty"`
}

type VolumePrefetchConfiguration

type VolumePrefetchConfiguration struct {
	// Regular expression that matches on the filenames that should trigger file prefetching.
	FileNameRegex string `json:"file_name_regex,omitempty"`
	// The index of the submatch within the regular expression that refers to the sequence number.
	RegexMatchIndex uint32 `json:"regex_match_index,omitempty"`
}

type VolumeSecurityConfiguration

type VolumeSecurityConfiguration struct {
	// Policy to handle unknown accounts
	UserAndGroupMappingPolicy VolumeSecurityConfiguration_MappingPolicy `json:"user_and_group_mapping_policy,omitempty"`
	// Additional groups that have superuser privileges on volume
	AdditionalPrivilegedGroups []string `json:"additional_privileged_groups,omitempty"`
	// Allow setting SUID and SGID without superuser privileges
	UnprivilegedUserCanSetSuid bool `json:"unprivileged_user_can_set_suid,omitempty"`
	// Allow chown without superuser privileges
	UnprivilegedUserCanChown bool `json:"unprivileged_user_can_chown,omitempty"`
	// Allow chgroup to foreign group without superuser privileges
	UnprivilegedUserCanChgrp bool `json:"unprivileged_user_can_chgrp,omitempty"`
	// Mode for files created by Windows clients (octal, default 0600)
	WindowsCreateMode int32 `json:"windows_create_mode,omitempty"`
	// Mode for directories created by Windows clients (octal, default 0700)
	WindowsDirectoryMode int32 `json:"windows_directory_mode,omitempty"`
	// Policy to select owning group for files created by Windows clients
	WindowsGroupSelection VolumeSecurityConfiguration_GroupSelectionPolicy `json:"windows_group_selection,omitempty"`
	// Used group if windows_group_selection=DEFAULT_GROUP is set
	WindowsDefaultGroup string `json:"windows_default_group,omitempty"`
	// Override mode for new files (octal), windows_create_mode ineffective when set
	OverrideCreateMode int32 `json:"override_create_mode,omitempty"`
	// Override mode for new directories (octal), windows_directory_mode ineffective when set
	OverrideDirectoryMode int32 `json:"override_directory_mode,omitempty"`
}

type VolumeSecurityConfiguration_GroupSelectionPolicy

type VolumeSecurityConfiguration_GroupSelectionPolicy string
const (
	VolumeSecurityConfiguration_GroupSelectionPolicy_DEFAULT_GROUP    VolumeSecurityConfiguration_GroupSelectionPolicy = "DEFAULT_GROUP"
	VolumeSecurityConfiguration_GroupSelectionPolicy_PARENT_DIRECTORY VolumeSecurityConfiguration_GroupSelectionPolicy = "PARENT_DIRECTORY"
	VolumeSecurityConfiguration_GroupSelectionPolicy_USERNAME         VolumeSecurityConfiguration_GroupSelectionPolicy = "USERNAME"
)

type VolumeSecurityConfiguration_MappingPolicy

type VolumeSecurityConfiguration_MappingPolicy string
const (
	VolumeSecurityConfiguration_MappingPolicy_DENY_UNKNOWN               VolumeSecurityConfiguration_MappingPolicy = "DENY_UNKNOWN"
	VolumeSecurityConfiguration_MappingPolicy_USE_NUMERIC_ID_FOR_UNKNOWN VolumeSecurityConfiguration_MappingPolicy = "USE_NUMERIC_ID_FOR_UNKNOWN"
)

type VolumeSnapshot

type VolumeSnapshot struct {
	// Volume uuid
	VolumeUuid string `json:"volume_uuid,omitempty"`
	// Snapshot version
	Version uint64 `json:"version,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty"`
	// Comment
	Comment string `json:"comment,omitempty"`
	// Create time
	Timestamp uint64 `json:"timestamp,omitempty"`
	// Pinned snapshot (will not be deleted by cleanup)
	Pinned bool `json:"pinned,omitempty"`
}

type VolumeSnapshotConfiguration

type VolumeSnapshotConfiguration struct {
	// Time span in seconds between two automatic snapshots.
	SnapshotIntervalS int32 `json:"snapshot_interval_s,omitempty"`
	// Maximum lifetime of an automatically created snapshot in seconds.
	SnapshotLifetimeS int32 `json:"snapshot_lifetime_s,omitempty"`
}

Jump to

Keyboard shortcuts

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