// Code generated by protoc-gen-go. // source: api/api.proto // DO NOT EDIT! package api import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import google_protobuf "go.pedge.io/pb/go/google/protobuf" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type Status int32 const ( Status_STATUS_NONE Status = 0 Status_STATUS_INIT Status = 1 Status_STATUS_OK Status = 2 Status_STATUS_OFFLINE Status = 3 Status_STATUS_ERROR Status = 4 Status_STATUS_NOT_IN_QUORUM Status = 5 Status_STATUS_DECOMMISSION Status = 6 Status_STATUS_MAINTENANCE Status = 7 Status_STATUS_STORAGE_DOWN Status = 8 Status_STATUS_STORAGE_DEGRADED Status = 9 Status_STATUS_NEEDS_REBOOT Status = 10 Status_STATUS_STORAGE_REBALANCE Status = 11 Status_STATUS_STORAGE_DRIVE_REPLACE Status = 12 // Add statuses before MAX and update the number for MAX Status_STATUS_MAX Status = 13 ) var Status_name = map[int32]string{ 0: "STATUS_NONE", 1: "STATUS_INIT", 2: "STATUS_OK", 3: "STATUS_OFFLINE", 4: "STATUS_ERROR", 5: "STATUS_NOT_IN_QUORUM", 6: "STATUS_DECOMMISSION", 7: "STATUS_MAINTENANCE", 8: "STATUS_STORAGE_DOWN", 9: "STATUS_STORAGE_DEGRADED", 10: "STATUS_NEEDS_REBOOT", 11: "STATUS_STORAGE_REBALANCE", 12: "STATUS_STORAGE_DRIVE_REPLACE", 13: "STATUS_MAX", } var Status_value = map[string]int32{ "STATUS_NONE": 0, "STATUS_INIT": 1, "STATUS_OK": 2, "STATUS_OFFLINE": 3, "STATUS_ERROR": 4, "STATUS_NOT_IN_QUORUM": 5, "STATUS_DECOMMISSION": 6, "STATUS_MAINTENANCE": 7, "STATUS_STORAGE_DOWN": 8, "STATUS_STORAGE_DEGRADED": 9, "STATUS_NEEDS_REBOOT": 10, "STATUS_STORAGE_REBALANCE": 11, "STATUS_STORAGE_DRIVE_REPLACE": 12, "STATUS_MAX": 13, } func (x Status) String() string { return proto.EnumName(Status_name, int32(x)) } func (Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type DriverType int32 const ( DriverType_DRIVER_TYPE_NONE DriverType = 0 DriverType_DRIVER_TYPE_FILE DriverType = 1 DriverType_DRIVER_TYPE_BLOCK DriverType = 2 DriverType_DRIVER_TYPE_OBJECT DriverType = 3 DriverType_DRIVER_TYPE_CLUSTERED DriverType = 4 DriverType_DRIVER_TYPE_GRAPH DriverType = 5 ) var DriverType_name = map[int32]string{ 0: "DRIVER_TYPE_NONE", 1: "DRIVER_TYPE_FILE", 2: "DRIVER_TYPE_BLOCK", 3: "DRIVER_TYPE_OBJECT", 4: "DRIVER_TYPE_CLUSTERED", 5: "DRIVER_TYPE_GRAPH", } var DriverType_value = map[string]int32{ "DRIVER_TYPE_NONE": 0, "DRIVER_TYPE_FILE": 1, "DRIVER_TYPE_BLOCK": 2, "DRIVER_TYPE_OBJECT": 3, "DRIVER_TYPE_CLUSTERED": 4, "DRIVER_TYPE_GRAPH": 5, } func (x DriverType) String() string { return proto.EnumName(DriverType_name, int32(x)) } func (DriverType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } type FSType int32 const ( FSType_FS_TYPE_NONE FSType = 0 FSType_FS_TYPE_BTRFS FSType = 1 FSType_FS_TYPE_EXT4 FSType = 2 FSType_FS_TYPE_FUSE FSType = 3 FSType_FS_TYPE_NFS FSType = 4 FSType_FS_TYPE_VFS FSType = 5 FSType_FS_TYPE_XFS FSType = 6 FSType_FS_TYPE_ZFS FSType = 7 ) var FSType_name = map[int32]string{ 0: "FS_TYPE_NONE", 1: "FS_TYPE_BTRFS", 2: "FS_TYPE_EXT4", 3: "FS_TYPE_FUSE", 4: "FS_TYPE_NFS", 5: "FS_TYPE_VFS", 6: "FS_TYPE_XFS", 7: "FS_TYPE_ZFS", } var FSType_value = map[string]int32{ "FS_TYPE_NONE": 0, "FS_TYPE_BTRFS": 1, "FS_TYPE_EXT4": 2, "FS_TYPE_FUSE": 3, "FS_TYPE_NFS": 4, "FS_TYPE_VFS": 5, "FS_TYPE_XFS": 6, "FS_TYPE_ZFS": 7, } func (x FSType) String() string { return proto.EnumName(FSType_name, int32(x)) } func (FSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } type GraphDriverChangeType int32 const ( GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_NONE GraphDriverChangeType = 0 GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_MODIFIED GraphDriverChangeType = 1 GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_ADDED GraphDriverChangeType = 2 GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_DELETED GraphDriverChangeType = 3 ) var GraphDriverChangeType_name = map[int32]string{ 0: "GRAPH_DRIVER_CHANGE_TYPE_NONE", 1: "GRAPH_DRIVER_CHANGE_TYPE_MODIFIED", 2: "GRAPH_DRIVER_CHANGE_TYPE_ADDED", 3: "GRAPH_DRIVER_CHANGE_TYPE_DELETED", } var GraphDriverChangeType_value = map[string]int32{ "GRAPH_DRIVER_CHANGE_TYPE_NONE": 0, "GRAPH_DRIVER_CHANGE_TYPE_MODIFIED": 1, "GRAPH_DRIVER_CHANGE_TYPE_ADDED": 2, "GRAPH_DRIVER_CHANGE_TYPE_DELETED": 3, } func (x GraphDriverChangeType) String() string { return proto.EnumName(GraphDriverChangeType_name, int32(x)) } func (GraphDriverChangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } type SeverityType int32 const ( SeverityType_SEVERITY_TYPE_NONE SeverityType = 0 SeverityType_SEVERITY_TYPE_ALARM SeverityType = 1 SeverityType_SEVERITY_TYPE_WARNING SeverityType = 2 SeverityType_SEVERITY_TYPE_NOTIFY SeverityType = 3 ) var SeverityType_name = map[int32]string{ 0: "SEVERITY_TYPE_NONE", 1: "SEVERITY_TYPE_ALARM", 2: "SEVERITY_TYPE_WARNING", 3: "SEVERITY_TYPE_NOTIFY", } var SeverityType_value = map[string]int32{ "SEVERITY_TYPE_NONE": 0, "SEVERITY_TYPE_ALARM": 1, "SEVERITY_TYPE_WARNING": 2, "SEVERITY_TYPE_NOTIFY": 3, } func (x SeverityType) String() string { return proto.EnumName(SeverityType_name, int32(x)) } func (SeverityType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } type ResourceType int32 const ( ResourceType_RESOURCE_TYPE_NONE ResourceType = 0 ResourceType_RESOURCE_TYPE_VOLUME ResourceType = 1 ResourceType_RESOURCE_TYPE_NODE ResourceType = 2 ResourceType_RESOURCE_TYPE_CLUSTER ResourceType = 3 ResourceType_RESOURCE_TYPE_DRIVE ResourceType = 4 ) var ResourceType_name = map[int32]string{ 0: "RESOURCE_TYPE_NONE", 1: "RESOURCE_TYPE_VOLUME", 2: "RESOURCE_TYPE_NODE", 3: "RESOURCE_TYPE_CLUSTER", 4: "RESOURCE_TYPE_DRIVE", } var ResourceType_value = map[string]int32{ "RESOURCE_TYPE_NONE": 0, "RESOURCE_TYPE_VOLUME": 1, "RESOURCE_TYPE_NODE": 2, "RESOURCE_TYPE_CLUSTER": 3, "RESOURCE_TYPE_DRIVE": 4, } func (x ResourceType) String() string { return proto.EnumName(ResourceType_name, int32(x)) } func (ResourceType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } type AlertActionType int32 const ( AlertActionType_ALERT_ACTION_TYPE_NONE AlertActionType = 0 AlertActionType_ALERT_ACTION_TYPE_DELETE AlertActionType = 1 AlertActionType_ALERT_ACTION_TYPE_CREATE AlertActionType = 2 AlertActionType_ALERT_ACTION_TYPE_UPDATE AlertActionType = 3 ) var AlertActionType_name = map[int32]string{ 0: "ALERT_ACTION_TYPE_NONE", 1: "ALERT_ACTION_TYPE_DELETE", 2: "ALERT_ACTION_TYPE_CREATE", 3: "ALERT_ACTION_TYPE_UPDATE", } var AlertActionType_value = map[string]int32{ "ALERT_ACTION_TYPE_NONE": 0, "ALERT_ACTION_TYPE_DELETE": 1, "ALERT_ACTION_TYPE_CREATE": 2, "ALERT_ACTION_TYPE_UPDATE": 3, } func (x AlertActionType) String() string { return proto.EnumName(AlertActionType_name, int32(x)) } func (AlertActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } type VolumeActionParam int32 const ( VolumeActionParam_VOLUME_ACTION_PARAM_NONE VolumeActionParam = 0 // Maps to the boolean value false VolumeActionParam_VOLUME_ACTION_PARAM_OFF VolumeActionParam = 1 // Maps to the boolean value true. VolumeActionParam_VOLUME_ACTION_PARAM_ON VolumeActionParam = 2 ) var VolumeActionParam_name = map[int32]string{ 0: "VOLUME_ACTION_PARAM_NONE", 1: "VOLUME_ACTION_PARAM_OFF", 2: "VOLUME_ACTION_PARAM_ON", } var VolumeActionParam_value = map[string]int32{ "VOLUME_ACTION_PARAM_NONE": 0, "VOLUME_ACTION_PARAM_OFF": 1, "VOLUME_ACTION_PARAM_ON": 2, } func (x VolumeActionParam) String() string { return proto.EnumName(VolumeActionParam_name, int32(x)) } func (VolumeActionParam) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } type CosType int32 const ( CosType_NONE CosType = 0 CosType_LOW CosType = 1 CosType_MEDIUM CosType = 2 CosType_HIGH CosType = 3 ) var CosType_name = map[int32]string{ 0: "NONE", 1: "LOW", 2: "MEDIUM", 3: "HIGH", } var CosType_value = map[string]int32{ "NONE": 0, "LOW": 1, "MEDIUM": 2, "HIGH": 3, } func (x CosType) String() string { return proto.EnumName(CosType_name, int32(x)) } func (CosType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } // VolumeState represents the state of a volume. type VolumeState int32 const ( VolumeState_VOLUME_STATE_NONE VolumeState = 0 // Volume is transitioning to new state VolumeState_VOLUME_STATE_PENDING VolumeState = 1 // Volume is ready to be assigned to a container VolumeState_VOLUME_STATE_AVAILABLE VolumeState = 2 // Volume is attached to container VolumeState_VOLUME_STATE_ATTACHED VolumeState = 3 // Volume is detached but associated with a container VolumeState_VOLUME_STATE_DETACHED VolumeState = 4 // Volume detach is in progress VolumeState_VOLUME_STATE_DETATCHING VolumeState = 5 // Volume is in error state VolumeState_VOLUME_STATE_ERROR VolumeState = 6 // Volume is deleted, it will remain in this state // while resources are asynchronously reclaimed VolumeState_VOLUME_STATE_DELETED VolumeState = 7 ) var VolumeState_name = map[int32]string{ 0: "VOLUME_STATE_NONE", 1: "VOLUME_STATE_PENDING", 2: "VOLUME_STATE_AVAILABLE", 3: "VOLUME_STATE_ATTACHED", 4: "VOLUME_STATE_DETACHED", 5: "VOLUME_STATE_DETATCHING", 6: "VOLUME_STATE_ERROR", 7: "VOLUME_STATE_DELETED", } var VolumeState_value = map[string]int32{ "VOLUME_STATE_NONE": 0, "VOLUME_STATE_PENDING": 1, "VOLUME_STATE_AVAILABLE": 2, "VOLUME_STATE_ATTACHED": 3, "VOLUME_STATE_DETACHED": 4, "VOLUME_STATE_DETATCHING": 5, "VOLUME_STATE_ERROR": 6, "VOLUME_STATE_DELETED": 7, } func (x VolumeState) String() string { return proto.EnumName(VolumeState_name, int32(x)) } func (VolumeState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } // VolumeStatus represents a health status for a volume. type VolumeStatus int32 const ( VolumeStatus_VOLUME_STATUS_NONE VolumeStatus = 0 // Volume is not present VolumeStatus_VOLUME_STATUS_NOT_PRESENT VolumeStatus = 1 // Volume is healthy VolumeStatus_VOLUME_STATUS_UP VolumeStatus = 2 // Volume is in fail mode VolumeStatus_VOLUME_STATUS_DOWN VolumeStatus = 3 // Volume is up but with degraded performance // In a RAID group, this may indicate a problem with one or more drives VolumeStatus_VOLUME_STATUS_DEGRADED VolumeStatus = 4 ) var VolumeStatus_name = map[int32]string{ 0: "VOLUME_STATUS_NONE", 1: "VOLUME_STATUS_NOT_PRESENT", 2: "VOLUME_STATUS_UP", 3: "VOLUME_STATUS_DOWN", 4: "VOLUME_STATUS_DEGRADED", } var VolumeStatus_value = map[string]int32{ "VOLUME_STATUS_NONE": 0, "VOLUME_STATUS_NOT_PRESENT": 1, "VOLUME_STATUS_UP": 2, "VOLUME_STATUS_DOWN": 3, "VOLUME_STATUS_DEGRADED": 4, } func (x VolumeStatus) String() string { return proto.EnumName(VolumeStatus_name, int32(x)) } func (VolumeStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } type StorageMedium int32 const ( // Magnetic spinning disk. StorageMedium_STORAGE_MEDIUM_MAGNETIC StorageMedium = 0 // SSD disk StorageMedium_STORAGE_MEDIUM_SSD StorageMedium = 1 // NVME disk StorageMedium_STORAGE_MEDIUM_NVME StorageMedium = 2 ) var StorageMedium_name = map[int32]string{ 0: "STORAGE_MEDIUM_MAGNETIC", 1: "STORAGE_MEDIUM_SSD", 2: "STORAGE_MEDIUM_NVME", } var StorageMedium_value = map[string]int32{ "STORAGE_MEDIUM_MAGNETIC": 0, "STORAGE_MEDIUM_SSD": 1, "STORAGE_MEDIUM_NVME": 2, } func (x StorageMedium) String() string { return proto.EnumName(StorageMedium_name, int32(x)) } func (StorageMedium) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } type ClusterNotify int32 const ( // Node is down ClusterNotify_CLUSTER_NOTIFY_DOWN ClusterNotify = 0 ) var ClusterNotify_name = map[int32]string{ 0: "CLUSTER_NOTIFY_DOWN", } var ClusterNotify_value = map[string]int32{ "CLUSTER_NOTIFY_DOWN": 0, } func (x ClusterNotify) String() string { return proto.EnumName(ClusterNotify_name, int32(x)) } func (ClusterNotify) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } // StorageResource groups properties of a storage device. type StorageResource struct { // Id is the LUN identifier. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // Path device path for this storage resource. Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` // Storage medium. Medium StorageMedium `protobuf:"varint,3,opt,name=medium,enum=openstorage.api.StorageMedium" json:"medium,omitempty"` // True if this device is online. Online bool `protobuf:"varint,4,opt,name=online" json:"online,omitempty"` // IOPS Iops uint64 `protobuf:"varint,5,opt,name=iops" json:"iops,omitempty"` // SeqWrite SeqWrite float64 `protobuf:"fixed64,6,opt,name=seq_write,json=seqWrite" json:"seq_write,omitempty"` // SeqRead SeqRead float64 `protobuf:"fixed64,7,opt,name=seq_read,json=seqRead" json:"seq_read,omitempty"` // RandRW RandRW float64 `protobuf:"fixed64,8,opt,name=randRW" json:"randRW,omitempty"` // Total size in bytes. Size uint64 `protobuf:"varint,9,opt,name=size" json:"size,omitempty"` // Physical Bytes used. Used uint64 `protobuf:"varint,10,opt,name=used" json:"used,omitempty"` // True if this device is rotational. RotationSpeed string `protobuf:"bytes,11,opt,name=rotation_speed,json=rotationSpeed" json:"rotation_speed,omitempty"` // Timestamp of last time this device was scanned. LastScan *google_protobuf.Timestamp `protobuf:"bytes,12,opt,name=last_scan,json=lastScan" json:"last_scan,omitempty"` } func (m *StorageResource) Reset() { *m = StorageResource{} } func (m *StorageResource) String() string { return proto.CompactTextString(m) } func (*StorageResource) ProtoMessage() {} func (*StorageResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (m *StorageResource) GetId() string { if m != nil { return m.Id } return "" } func (m *StorageResource) GetPath() string { if m != nil { return m.Path } return "" } func (m *StorageResource) GetMedium() StorageMedium { if m != nil { return m.Medium } return StorageMedium_STORAGE_MEDIUM_MAGNETIC } func (m *StorageResource) GetOnline() bool { if m != nil { return m.Online } return false } func (m *StorageResource) GetIops() uint64 { if m != nil { return m.Iops } return 0 } func (m *StorageResource) GetSeqWrite() float64 { if m != nil { return m.SeqWrite } return 0 } func (m *StorageResource) GetSeqRead() float64 { if m != nil { return m.SeqRead } return 0 } func (m *StorageResource) GetRandRW() float64 { if m != nil { return m.RandRW } return 0 } func (m *StorageResource) GetSize() uint64 { if m != nil { return m.Size } return 0 } func (m *StorageResource) GetUsed() uint64 { if m != nil { return m.Used } return 0 } func (m *StorageResource) GetRotationSpeed() string { if m != nil { return m.RotationSpeed } return "" } func (m *StorageResource) GetLastScan() *google_protobuf.Timestamp { if m != nil { return m.LastScan } return nil } // VolumeLocator is a structure that is attached to a volume // and is used to carry opaque metadata. type VolumeLocator struct { // User friendly identifier Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // A set of name-value pairs that acts as search filters VolumeLabels map[string]string `protobuf:"bytes,2,rep,name=volume_labels,json=volumeLabels" json:"volume_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *VolumeLocator) Reset() { *m = VolumeLocator{} } func (m *VolumeLocator) String() string { return proto.CompactTextString(m) } func (*VolumeLocator) ProtoMessage() {} func (*VolumeLocator) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (m *VolumeLocator) GetName() string { if m != nil { return m.Name } return "" } func (m *VolumeLocator) GetVolumeLabels() map[string]string { if m != nil { return m.VolumeLabels } return nil } type Source struct { // A volume id, if specified will create a clone of the parent. Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"` // Seed will seed the volume from the specified URI // Any additional config for the source comes from the labels in the spec Seed string `protobuf:"bytes,2,opt,name=seed" json:"seed,omitempty"` } func (m *Source) Reset() { *m = Source{} } func (m *Source) String() string { return proto.CompactTextString(m) } func (*Source) ProtoMessage() {} func (*Source) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (m *Source) GetParent() string { if m != nil { return m.Parent } return "" } func (m *Source) GetSeed() string { if m != nil { return m.Seed } return "" } // VolumeSpec has the properties needed to create a volume. type VolumeSpec struct { // Ephemeral storage Ephemeral bool `protobuf:"varint,1,opt,name=ephemeral" json:"ephemeral,omitempty"` // Thin provisioned volume size in bytes Size uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"` // Format disk with this FSType Format FSType `protobuf:"varint,3,opt,name=format,enum=openstorage.api.FSType" json:"format,omitempty"` // Block size for filesystem BlockSize int64 `protobuf:"varint,4,opt,name=block_size,json=blockSize" json:"block_size,omitempty"` // Specifies the number of nodes that are // allowed to fail, and yet data is available // A value of 0 implies that data is not erasure coded, // a failure of a node will lead to data loss HaLevel int64 `protobuf:"varint,5,opt,name=ha_level,json=haLevel" json:"ha_level,omitempty"` // The COS, 1 to 9 Cos CosType `protobuf:"varint,6,opt,name=cos,enum=openstorage.api.CosType" json:"cos,omitempty"` // Perform dedupe on this disk Dedupe bool `protobuf:"varint,7,opt,name=dedupe" json:"dedupe,omitempty"` // SnapshotInterval in minutes, set to 0 to disable snapshots SnapshotInterval uint32 `protobuf:"varint,8,opt,name=snapshot_interval,json=snapshotInterval" json:"snapshot_interval,omitempty"` // Volume configuration labels VolumeLabels map[string]string `protobuf:"bytes,9,rep,name=volume_labels,json=volumeLabels" json:"volume_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Shared is true if this volume can be remotely accessed. Shared bool `protobuf:"varint,10,opt,name=shared" json:"shared,omitempty"` // ReplicaSet is the desired replicaSet the volume want to be placed. ReplicaSet *ReplicaSet `protobuf:"bytes,11,opt,name=replica_set,json=replicaSet" json:"replica_set,omitempty"` // Specifies the number of parts the volume can be aggregated from. AggregationLevel uint32 `protobuf:"varint,12,opt,name=aggregation_level,json=aggregationLevel" json:"aggregation_level,omitempty"` // Encrypted is true if this volume will be cryptographically secured. Encrypted bool `protobuf:"varint,13,opt,name=encrypted" json:"encrypted,omitempty"` // User passphrase if this is an encrypted volume Passphrase string `protobuf:"bytes,14,opt,name=passphrase" json:"passphrase,omitempty"` // SnapshotSchedule SnapshotSchedule string `protobuf:"bytes,15,opt,name=snapshot_schedule,json=snapshotSchedule" json:"snapshot_schedule,omitempty"` // Scale allows autocreation of volumes. Scale uint32 `protobuf:"varint,16,opt,name=scale" json:"scale,omitempty"` } func (m *VolumeSpec) Reset() { *m = VolumeSpec{} } func (m *VolumeSpec) String() string { return proto.CompactTextString(m) } func (*VolumeSpec) ProtoMessage() {} func (*VolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (m *VolumeSpec) GetEphemeral() bool { if m != nil { return m.Ephemeral } return false } func (m *VolumeSpec) GetSize() uint64 { if m != nil { return m.Size } return 0 } func (m *VolumeSpec) GetFormat() FSType { if m != nil { return m.Format } return FSType_FS_TYPE_NONE } func (m *VolumeSpec) GetBlockSize() int64 { if m != nil { return m.BlockSize } return 0 } func (m *VolumeSpec) GetHaLevel() int64 { if m != nil { return m.HaLevel } return 0 } func (m *VolumeSpec) GetCos() CosType { if m != nil { return m.Cos } return CosType_NONE } func (m *VolumeSpec) GetDedupe() bool { if m != nil { return m.Dedupe } return false } func (m *VolumeSpec) GetSnapshotInterval() uint32 { if m != nil { return m.SnapshotInterval } return 0 } func (m *VolumeSpec) GetVolumeLabels() map[string]string { if m != nil { return m.VolumeLabels } return nil } func (m *VolumeSpec) GetShared() bool { if m != nil { return m.Shared } return false } func (m *VolumeSpec) GetReplicaSet() *ReplicaSet { if m != nil { return m.ReplicaSet } return nil } func (m *VolumeSpec) GetAggregationLevel() uint32 { if m != nil { return m.AggregationLevel } return 0 } func (m *VolumeSpec) GetEncrypted() bool { if m != nil { return m.Encrypted } return false } func (m *VolumeSpec) GetPassphrase() string { if m != nil { return m.Passphrase } return "" } func (m *VolumeSpec) GetSnapshotSchedule() string { if m != nil { return m.SnapshotSchedule } return "" } func (m *VolumeSpec) GetScale() uint32 { if m != nil { return m.Scale } return 0 } // Set of machine IDs (nodes) to which part of this volume is erasure coded - for clustered storage arrays type ReplicaSet struct { Nodes []string `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"` } func (m *ReplicaSet) Reset() { *m = ReplicaSet{} } func (m *ReplicaSet) String() string { return proto.CompactTextString(m) } func (*ReplicaSet) ProtoMessage() {} func (*ReplicaSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (m *ReplicaSet) GetNodes() []string { if m != nil { return m.Nodes } return nil } // List of name value mapping of driver specific runtime information. type RuntimeStateMap struct { RuntimeState map[string]string `protobuf:"bytes,1,rep,name=runtime_state,json=runtimeState" json:"runtime_state,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *RuntimeStateMap) Reset() { *m = RuntimeStateMap{} } func (m *RuntimeStateMap) String() string { return proto.CompactTextString(m) } func (*RuntimeStateMap) ProtoMessage() {} func (*RuntimeStateMap) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *RuntimeStateMap) GetRuntimeState() map[string]string { if m != nil { return m.RuntimeState } return nil } // Volume represents a live, created volume. type Volume struct { // Self referential volume ID Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Source *Source `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"` Readonly bool `protobuf:"varint,3,opt,name=readonly" json:"readonly,omitempty"` // User specified locator Locator *VolumeLocator `protobuf:"bytes,4,opt,name=locator" json:"locator,omitempty"` // Volume creation time Ctime *google_protobuf.Timestamp `protobuf:"bytes,5,opt,name=ctime" json:"ctime,omitempty"` // User specified VolumeSpec Spec *VolumeSpec `protobuf:"bytes,6,opt,name=spec" json:"spec,omitempty"` // Volume usage Usage uint64 `protobuf:"varint,7,opt,name=usage" json:"usage,omitempty"` // Time when an integrity check for run LastScan *google_protobuf.Timestamp `protobuf:"bytes,8,opt,name=last_scan,json=lastScan" json:"last_scan,omitempty"` // Format FSType type if any Format FSType `protobuf:"varint,9,opt,name=format,enum=openstorage.api.FSType" json:"format,omitempty"` Status VolumeStatus `protobuf:"varint,10,opt,name=status,enum=openstorage.api.VolumeStatus" json:"status,omitempty"` State VolumeState `protobuf:"varint,11,opt,name=state,enum=openstorage.api.VolumeState" json:"state,omitempty"` // Machine ID (node) on which this volume is attached // Machine ID is a node instance identifier for clustered systems. AttachedOn string `protobuf:"bytes,12,opt,name=attached_on,json=attachedOn" json:"attached_on,omitempty"` DevicePath string `protobuf:"bytes,14,opt,name=device_path,json=devicePath" json:"device_path,omitempty"` AttachPath []string `protobuf:"bytes,15,rep,name=attach_path,json=attachPath" json:"attach_path,omitempty"` // List of ReplicaSets which provide storage for this volume, for clustered storage arrays ReplicaSets []*ReplicaSet `protobuf:"bytes,16,rep,name=replica_sets,json=replicaSets" json:"replica_sets,omitempty"` // Last recorded error Error string `protobuf:"bytes,17,opt,name=error" json:"error,omitempty"` // List of name value mapping of driver specific runtime information. RuntimeState []*RuntimeStateMap `protobuf:"bytes,18,rep,name=runtime_state,json=runtimeState" json:"runtime_state,omitempty"` SecureDevicePath string `protobuf:"bytes,19,opt,name=secure_device_path,json=secureDevicePath" json:"secure_device_path,omitempty"` // BackgroundProcessing is true if volume is attached but not by the user BackgroundProcessing bool `protobuf:"varint,20,opt,name=background_processing,json=backgroundProcessing" json:"background_processing,omitempty"` } func (m *Volume) Reset() { *m = Volume{} } func (m *Volume) String() string { return proto.CompactTextString(m) } func (*Volume) ProtoMessage() {} func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (m *Volume) GetId() string { if m != nil { return m.Id } return "" } func (m *Volume) GetSource() *Source { if m != nil { return m.Source } return nil } func (m *Volume) GetReadonly() bool { if m != nil { return m.Readonly } return false } func (m *Volume) GetLocator() *VolumeLocator { if m != nil { return m.Locator } return nil } func (m *Volume) GetCtime() *google_protobuf.Timestamp { if m != nil { return m.Ctime } return nil } func (m *Volume) GetSpec() *VolumeSpec { if m != nil { return m.Spec } return nil } func (m *Volume) GetUsage() uint64 { if m != nil { return m.Usage } return 0 } func (m *Volume) GetLastScan() *google_protobuf.Timestamp { if m != nil { return m.LastScan } return nil } func (m *Volume) GetFormat() FSType { if m != nil { return m.Format } return FSType_FS_TYPE_NONE } func (m *Volume) GetStatus() VolumeStatus { if m != nil { return m.Status } return VolumeStatus_VOLUME_STATUS_NONE } func (m *Volume) GetState() VolumeState { if m != nil { return m.State } return VolumeState_VOLUME_STATE_NONE } func (m *Volume) GetAttachedOn() string { if m != nil { return m.AttachedOn } return "" } func (m *Volume) GetDevicePath() string { if m != nil { return m.DevicePath } return "" } func (m *Volume) GetAttachPath() []string { if m != nil { return m.AttachPath } return nil } func (m *Volume) GetReplicaSets() []*ReplicaSet { if m != nil { return m.ReplicaSets } return nil } func (m *Volume) GetError() string { if m != nil { return m.Error } return "" } func (m *Volume) GetRuntimeState() []*RuntimeStateMap { if m != nil { return m.RuntimeState } return nil } func (m *Volume) GetSecureDevicePath() string { if m != nil { return m.SecureDevicePath } return "" } func (m *Volume) GetBackgroundProcessing() bool { if m != nil { return m.BackgroundProcessing } return false } type Stats struct { // Reads completed successfully Reads uint64 `protobuf:"varint,1,opt,name=reads" json:"reads,omitempty"` // Time spent in reads in ms ReadMs uint64 `protobuf:"varint,2,opt,name=read_ms,json=readMs" json:"read_ms,omitempty"` ReadBytes uint64 `protobuf:"varint,3,opt,name=read_bytes,json=readBytes" json:"read_bytes,omitempty"` // Writes completed successfully Writes uint64 `protobuf:"varint,4,opt,name=writes" json:"writes,omitempty"` // Time spent in writes in ms WriteMs uint64 `protobuf:"varint,5,opt,name=write_ms,json=writeMs" json:"write_ms,omitempty"` WriteBytes uint64 `protobuf:"varint,6,opt,name=write_bytes,json=writeBytes" json:"write_bytes,omitempty"` // IOs curently in progress IoProgress uint64 `protobuf:"varint,7,opt,name=io_progress,json=ioProgress" json:"io_progress,omitempty"` // Time spent doing IOs ms IoMs uint64 `protobuf:"varint,8,opt,name=io_ms,json=ioMs" json:"io_ms,omitempty"` // BytesUsed BytesUsed uint64 `protobuf:"varint,9,opt,name=bytes_used,json=bytesUsed" json:"bytes_used,omitempty"` // Interval in ms during which stats were collected IntervalMs uint64 `protobuf:"varint,10,opt,name=interval_ms,json=intervalMs" json:"interval_ms,omitempty"` } func (m *Stats) Reset() { *m = Stats{} } func (m *Stats) String() string { return proto.CompactTextString(m) } func (*Stats) ProtoMessage() {} func (*Stats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (m *Stats) GetReads() uint64 { if m != nil { return m.Reads } return 0 } func (m *Stats) GetReadMs() uint64 { if m != nil { return m.ReadMs } return 0 } func (m *Stats) GetReadBytes() uint64 { if m != nil { return m.ReadBytes } return 0 } func (m *Stats) GetWrites() uint64 { if m != nil { return m.Writes } return 0 } func (m *Stats) GetWriteMs() uint64 { if m != nil { return m.WriteMs } return 0 } func (m *Stats) GetWriteBytes() uint64 { if m != nil { return m.WriteBytes } return 0 } func (m *Stats) GetIoProgress() uint64 { if m != nil { return m.IoProgress } return 0 } func (m *Stats) GetIoMs() uint64 { if m != nil { return m.IoMs } return 0 } func (m *Stats) GetBytesUsed() uint64 { if m != nil { return m.BytesUsed } return 0 } func (m *Stats) GetIntervalMs() uint64 { if m != nil { return m.IntervalMs } return 0 } type Alert struct { // Id for Alert Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` // Severity of the Alert Severity SeverityType `protobuf:"varint,2,opt,name=severity,enum=openstorage.api.SeverityType" json:"severity,omitempty"` // AlertType user defined alert type AlertType int64 `protobuf:"varint,3,opt,name=alert_type,json=alertType" json:"alert_type,omitempty"` // Message describing the Alert Message string `protobuf:"bytes,4,opt,name=message" json:"message,omitempty"` // Timestamp when Alert occured Timestamp *google_protobuf.Timestamp `protobuf:"bytes,5,opt,name=timestamp" json:"timestamp,omitempty"` // ResourceId where Alert occured ResourceId string `protobuf:"bytes,6,opt,name=resource_id,json=resourceId" json:"resource_id,omitempty"` // Resource where Alert occured Resource ResourceType `protobuf:"varint,7,opt,name=resource,enum=openstorage.api.ResourceType" json:"resource,omitempty"` // Cleared Flag Cleared bool `protobuf:"varint,8,opt,name=cleared" json:"cleared,omitempty"` // TTL in seconds for this Alert Ttl uint64 `protobuf:"varint,9,opt,name=ttl" json:"ttl,omitempty"` } func (m *Alert) Reset() { *m = Alert{} } func (m *Alert) String() string { return proto.CompactTextString(m) } func (*Alert) ProtoMessage() {} func (*Alert) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (m *Alert) GetId() int64 { if m != nil { return m.Id } return 0 } func (m *Alert) GetSeverity() SeverityType { if m != nil { return m.Severity } return SeverityType_SEVERITY_TYPE_NONE } func (m *Alert) GetAlertType() int64 { if m != nil { return m.AlertType } return 0 } func (m *Alert) GetMessage() string { if m != nil { return m.Message } return "" } func (m *Alert) GetTimestamp() *google_protobuf.Timestamp { if m != nil { return m.Timestamp } return nil } func (m *Alert) GetResourceId() string { if m != nil { return m.ResourceId } return "" } func (m *Alert) GetResource() ResourceType { if m != nil { return m.Resource } return ResourceType_RESOURCE_TYPE_NONE } func (m *Alert) GetCleared() bool { if m != nil { return m.Cleared } return false } func (m *Alert) GetTtl() uint64 { if m != nil { return m.Ttl } return 0 } type Alerts struct { Alert []*Alert `protobuf:"bytes,1,rep,name=alert" json:"alert,omitempty"` } func (m *Alerts) Reset() { *m = Alerts{} } func (m *Alerts) String() string { return proto.CompactTextString(m) } func (*Alerts) ProtoMessage() {} func (*Alerts) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (m *Alerts) GetAlert() []*Alert { if m != nil { return m.Alert } return nil } type VolumeCreateRequest struct { // User specified volume name and labels Locator *VolumeLocator `protobuf:"bytes,1,opt,name=locator" json:"locator,omitempty"` // Source to create volume Source *Source `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"` // The storage spec for the volume Spec *VolumeSpec `protobuf:"bytes,3,opt,name=spec" json:"spec,omitempty"` } func (m *VolumeCreateRequest) Reset() { *m = VolumeCreateRequest{} } func (m *VolumeCreateRequest) String() string { return proto.CompactTextString(m) } func (*VolumeCreateRequest) ProtoMessage() {} func (*VolumeCreateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (m *VolumeCreateRequest) GetLocator() *VolumeLocator { if m != nil { return m.Locator } return nil } func (m *VolumeCreateRequest) GetSource() *Source { if m != nil { return m.Source } return nil } func (m *VolumeCreateRequest) GetSpec() *VolumeSpec { if m != nil { return m.Spec } return nil } type VolumeResponse struct { Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` } func (m *VolumeResponse) Reset() { *m = VolumeResponse{} } func (m *VolumeResponse) String() string { return proto.CompactTextString(m) } func (*VolumeResponse) ProtoMessage() {} func (*VolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *VolumeResponse) GetError() string { if m != nil { return m.Error } return "" } type VolumeCreateResponse struct { // ID of the newly created volume Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` VolumeResponse *VolumeResponse `protobuf:"bytes,2,opt,name=volume_response,json=volumeResponse" json:"volume_response,omitempty"` } func (m *VolumeCreateResponse) Reset() { *m = VolumeCreateResponse{} } func (m *VolumeCreateResponse) String() string { return proto.CompactTextString(m) } func (*VolumeCreateResponse) ProtoMessage() {} func (*VolumeCreateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *VolumeCreateResponse) GetId() string { if m != nil { return m.Id } return "" } func (m *VolumeCreateResponse) GetVolumeResponse() *VolumeResponse { if m != nil { return m.VolumeResponse } return nil } // VolumeStateAction specifies desired actions. type VolumeStateAction struct { // Attach or Detach volume Attach VolumeActionParam `protobuf:"varint,1,opt,name=attach,enum=openstorage.api.VolumeActionParam" json:"attach,omitempty"` // Mount or unmount volume Mount VolumeActionParam `protobuf:"varint,2,opt,name=mount,enum=openstorage.api.VolumeActionParam" json:"mount,omitempty"` MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath" json:"mount_path,omitempty"` // Device path returned in attach DevicePath string `protobuf:"bytes,4,opt,name=device_path,json=devicePath" json:"device_path,omitempty"` } func (m *VolumeStateAction) Reset() { *m = VolumeStateAction{} } func (m *VolumeStateAction) String() string { return proto.CompactTextString(m) } func (*VolumeStateAction) ProtoMessage() {} func (*VolumeStateAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *VolumeStateAction) GetAttach() VolumeActionParam { if m != nil { return m.Attach } return VolumeActionParam_VOLUME_ACTION_PARAM_NONE } func (m *VolumeStateAction) GetMount() VolumeActionParam { if m != nil { return m.Mount } return VolumeActionParam_VOLUME_ACTION_PARAM_NONE } func (m *VolumeStateAction) GetMountPath() string { if m != nil { return m.MountPath } return "" } func (m *VolumeStateAction) GetDevicePath() string { if m != nil { return m.DevicePath } return "" } type VolumeSetRequest struct { // User specified volume name and labels Locator *VolumeLocator `protobuf:"bytes,1,opt,name=locator" json:"locator,omitempty"` // The storage spec for the volume Spec *VolumeSpec `protobuf:"bytes,2,opt,name=spec" json:"spec,omitempty"` // State modification on this volume. Action *VolumeStateAction `protobuf:"bytes,3,opt,name=action" json:"action,omitempty"` } func (m *VolumeSetRequest) Reset() { *m = VolumeSetRequest{} } func (m *VolumeSetRequest) String() string { return proto.CompactTextString(m) } func (*VolumeSetRequest) ProtoMessage() {} func (*VolumeSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (m *VolumeSetRequest) GetLocator() *VolumeLocator { if m != nil { return m.Locator } return nil } func (m *VolumeSetRequest) GetSpec() *VolumeSpec { if m != nil { return m.Spec } return nil } func (m *VolumeSetRequest) GetAction() *VolumeStateAction { if m != nil { return m.Action } return nil } type VolumeSetResponse struct { Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"` VolumeResponse *VolumeResponse `protobuf:"bytes,2,opt,name=volume_response,json=volumeResponse" json:"volume_response,omitempty"` } func (m *VolumeSetResponse) Reset() { *m = VolumeSetResponse{} } func (m *VolumeSetResponse) String() string { return proto.CompactTextString(m) } func (*VolumeSetResponse) ProtoMessage() {} func (*VolumeSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *VolumeSetResponse) GetVolume() *Volume { if m != nil { return m.Volume } return nil } func (m *VolumeSetResponse) GetVolumeResponse() *VolumeResponse { if m != nil { return m.VolumeResponse } return nil } type SnapCreateRequest struct { // volume id Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Locator *VolumeLocator `protobuf:"bytes,2,opt,name=locator" json:"locator,omitempty"` Readonly bool `protobuf:"varint,3,opt,name=readonly" json:"readonly,omitempty"` } func (m *SnapCreateRequest) Reset() { *m = SnapCreateRequest{} } func (m *SnapCreateRequest) String() string { return proto.CompactTextString(m) } func (*SnapCreateRequest) ProtoMessage() {} func (*SnapCreateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } func (m *SnapCreateRequest) GetId() string { if m != nil { return m.Id } return "" } func (m *SnapCreateRequest) GetLocator() *VolumeLocator { if m != nil { return m.Locator } return nil } func (m *SnapCreateRequest) GetReadonly() bool { if m != nil { return m.Readonly } return false } type SnapCreateResponse struct { VolumeCreateResponse *VolumeCreateResponse `protobuf:"bytes,1,opt,name=volume_create_response,json=volumeCreateResponse" json:"volume_create_response,omitempty"` } func (m *SnapCreateResponse) Reset() { *m = SnapCreateResponse{} } func (m *SnapCreateResponse) String() string { return proto.CompactTextString(m) } func (*SnapCreateResponse) ProtoMessage() {} func (*SnapCreateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *SnapCreateResponse) GetVolumeCreateResponse() *VolumeCreateResponse { if m != nil { return m.VolumeCreateResponse } return nil } type VolumeInfo struct { VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"` Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` Storage *VolumeSpec `protobuf:"bytes,3,opt,name=storage" json:"storage,omitempty"` } func (m *VolumeInfo) Reset() { *m = VolumeInfo{} } func (m *VolumeInfo) String() string { return proto.CompactTextString(m) } func (*VolumeInfo) ProtoMessage() {} func (*VolumeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } func (m *VolumeInfo) GetVolumeId() string { if m != nil { return m.VolumeId } return "" } func (m *VolumeInfo) GetPath() string { if m != nil { return m.Path } return "" } func (m *VolumeInfo) GetStorage() *VolumeSpec { if m != nil { return m.Storage } return nil } // GraphDriverChanges represent a list of changes between the filesystem layers // specified by the ID and Parent. // Parent may be an empty string, in which // case there is no parent. // Where the Path is the filesystem path within the layered filesystem type GraphDriverChanges struct { Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` Kind GraphDriverChangeType `protobuf:"varint,2,opt,name=kind,enum=openstorage.api.GraphDriverChangeType" json:"kind,omitempty"` } func (m *GraphDriverChanges) Reset() { *m = GraphDriverChanges{} } func (m *GraphDriverChanges) String() string { return proto.CompactTextString(m) } func (*GraphDriverChanges) ProtoMessage() {} func (*GraphDriverChanges) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (m *GraphDriverChanges) GetPath() string { if m != nil { return m.Path } return "" } func (m *GraphDriverChanges) GetKind() GraphDriverChangeType { if m != nil { return m.Kind } return GraphDriverChangeType_GRAPH_DRIVER_CHANGE_TYPE_NONE } type ClusterResponse struct { Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` } func (m *ClusterResponse) Reset() { *m = ClusterResponse{} } func (m *ClusterResponse) String() string { return proto.CompactTextString(m) } func (*ClusterResponse) ProtoMessage() {} func (*ClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (m *ClusterResponse) GetError() string { if m != nil { return m.Error } return "" } type ActiveRequest struct { ReqestKV map[int64]string `protobuf:"bytes,1,rep,name=ReqestKV,json=reqestKV" json:"ReqestKV,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *ActiveRequest) Reset() { *m = ActiveRequest{} } func (m *ActiveRequest) String() string { return proto.CompactTextString(m) } func (*ActiveRequest) ProtoMessage() {} func (*ActiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (m *ActiveRequest) GetReqestKV() map[int64]string { if m != nil { return m.ReqestKV } return nil } type ActiveRequests struct { RequestCount int64 `protobuf:"varint,1,opt,name=RequestCount,json=requestCount" json:"RequestCount,omitempty"` ActiveRequest []*ActiveRequest `protobuf:"bytes,2,rep,name=ActiveRequest,json=activeRequest" json:"ActiveRequest,omitempty"` } func (m *ActiveRequests) Reset() { *m = ActiveRequests{} } func (m *ActiveRequests) String() string { return proto.CompactTextString(m) } func (*ActiveRequests) ProtoMessage() {} func (*ActiveRequests) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } func (m *ActiveRequests) GetRequestCount() int64 { if m != nil { return m.RequestCount } return 0 } func (m *ActiveRequests) GetActiveRequest() []*ActiveRequest { if m != nil { return m.ActiveRequest } return nil } func init() { proto.RegisterType((*StorageResource)(nil), "openstorage.api.StorageResource") proto.RegisterType((*VolumeLocator)(nil), "openstorage.api.VolumeLocator") proto.RegisterType((*Source)(nil), "openstorage.api.Source") proto.RegisterType((*VolumeSpec)(nil), "openstorage.api.VolumeSpec") proto.RegisterType((*ReplicaSet)(nil), "openstorage.api.ReplicaSet") proto.RegisterType((*RuntimeStateMap)(nil), "openstorage.api.RuntimeStateMap") proto.RegisterType((*Volume)(nil), "openstorage.api.Volume") proto.RegisterType((*Stats)(nil), "openstorage.api.Stats") proto.RegisterType((*Alert)(nil), "openstorage.api.Alert") proto.RegisterType((*Alerts)(nil), "openstorage.api.Alerts") proto.RegisterType((*VolumeCreateRequest)(nil), "openstorage.api.VolumeCreateRequest") proto.RegisterType((*VolumeResponse)(nil), "openstorage.api.VolumeResponse") proto.RegisterType((*VolumeCreateResponse)(nil), "openstorage.api.VolumeCreateResponse") proto.RegisterType((*VolumeStateAction)(nil), "openstorage.api.VolumeStateAction") proto.RegisterType((*VolumeSetRequest)(nil), "openstorage.api.VolumeSetRequest") proto.RegisterType((*VolumeSetResponse)(nil), "openstorage.api.VolumeSetResponse") proto.RegisterType((*SnapCreateRequest)(nil), "openstorage.api.SnapCreateRequest") proto.RegisterType((*SnapCreateResponse)(nil), "openstorage.api.SnapCreateResponse") proto.RegisterType((*VolumeInfo)(nil), "openstorage.api.VolumeInfo") proto.RegisterType((*GraphDriverChanges)(nil), "openstorage.api.GraphDriverChanges") proto.RegisterType((*ClusterResponse)(nil), "openstorage.api.ClusterResponse") proto.RegisterType((*ActiveRequest)(nil), "openstorage.api.ActiveRequest") proto.RegisterType((*ActiveRequests)(nil), "openstorage.api.ActiveRequests") proto.RegisterEnum("openstorage.api.Status", Status_name, Status_value) proto.RegisterEnum("openstorage.api.DriverType", DriverType_name, DriverType_value) proto.RegisterEnum("openstorage.api.FSType", FSType_name, FSType_value) proto.RegisterEnum("openstorage.api.GraphDriverChangeType", GraphDriverChangeType_name, GraphDriverChangeType_value) proto.RegisterEnum("openstorage.api.SeverityType", SeverityType_name, SeverityType_value) proto.RegisterEnum("openstorage.api.ResourceType", ResourceType_name, ResourceType_value) proto.RegisterEnum("openstorage.api.AlertActionType", AlertActionType_name, AlertActionType_value) proto.RegisterEnum("openstorage.api.VolumeActionParam", VolumeActionParam_name, VolumeActionParam_value) proto.RegisterEnum("openstorage.api.CosType", CosType_name, CosType_value) proto.RegisterEnum("openstorage.api.VolumeState", VolumeState_name, VolumeState_value) proto.RegisterEnum("openstorage.api.VolumeStatus", VolumeStatus_name, VolumeStatus_value) proto.RegisterEnum("openstorage.api.StorageMedium", StorageMedium_name, StorageMedium_value) proto.RegisterEnum("openstorage.api.ClusterNotify", ClusterNotify_name, ClusterNotify_value) } func init() { proto.RegisterFile("api/api.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 2538 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x59, 0xdd, 0x72, 0xe3, 0x48, 0x15, 0x5e, 0xf9, 0xdf, 0xc7, 0xb1, 0xa3, 0xe9, 0xc9, 0x64, 0x34, 0xff, 0x59, 0x17, 0xbb, 0xa4, 0xcc, 0x92, 0x6c, 0x65, 0x7f, 0x18, 0x16, 0x0a, 0x4a, 0xb1, 0xe5, 0xc4, 0xac, 0xff, 0x68, 0xc9, 0x99, 0xdd, 0xa5, 0x28, 0x95, 0xc6, 0xee, 0x49, 0xc4, 0xd8, 0x92, 0x46, 0x2d, 0x87, 0xca, 0xbe, 0x00, 0x37, 0x14, 0x5c, 0x41, 0x15, 0x57, 0x3c, 0xc0, 0x5e, 0x51, 0x5c, 0x51, 0x3c, 0xc1, 0x5e, 0x50, 0xc5, 0x1b, 0xf0, 0x0c, 0xbc, 0x01, 0xd5, 0x3f, 0xb2, 0x25, 0xdb, 0x99, 0xc9, 0x14, 0x7b, 0xa7, 0xf3, 0x9d, 0xd3, 0xa7, 0xfb, 0xfc, 0x9f, 0x38, 0x50, 0x75, 0x02, 0xf7, 0xd0, 0x09, 0xdc, 0x83, 0x20, 0xf4, 0x23, 0x1f, 0x6d, 0xfb, 0x01, 0xf1, 0x68, 0xe4, 0x87, 0xce, 0x39, 0x39, 0x70, 0x02, 0xf7, 0xfe, 0x93, 0x73, 0xdf, 0x3f, 0x9f, 0x92, 0x43, 0xce, 0x7e, 0x3e, 0x7f, 0x71, 0x18, 0xb9, 0x33, 0x42, 0x23, 0x67, 0x16, 0x88, 0x13, 0xf5, 0xff, 0x66, 0x60, 0xdb, 0x14, 0x07, 0x30, 0xa1, 0xfe, 0x3c, 0x1c, 0x13, 0x54, 0x83, 0x8c, 0x3b, 0xd1, 0x94, 0x3d, 0x65, 0xbf, 0x8c, 0x33, 0xee, 0x04, 0x21, 0xc8, 0x05, 0x4e, 0x74, 0xa1, 0x65, 0x38, 0xc2, 0xbf, 0xd1, 0xa7, 0x50, 0x98, 0x91, 0x89, 0x3b, 0x9f, 0x69, 0xd9, 0x3d, 0x65, 0xbf, 0x76, 0xf4, 0xf8, 0x60, 0xe5, 0xea, 0x03, 0xa9, 0xb5, 0xc7, 0xa5, 0xb0, 0x94, 0x46, 0xbb, 0x50, 0xf0, 0xbd, 0xa9, 0xeb, 0x11, 0x2d, 0xb7, 0xa7, 0xec, 0x97, 0xb0, 0xa4, 0xd8, 0x1d, 0xae, 0x1f, 0x50, 0x2d, 0xbf, 0xa7, 0xec, 0xe7, 0x30, 0xff, 0x46, 0x0f, 0xa0, 0x4c, 0xc9, 0x2b, 0xfb, 0xb7, 0xa1, 0x1b, 0x11, 0xad, 0xb0, 0xa7, 0xec, 0x2b, 0xb8, 0x44, 0xc9, 0xab, 0x67, 0x8c, 0x46, 0xf7, 0x80, 0x7d, 0xdb, 0x21, 0x71, 0x26, 0x5a, 0x91, 0xf3, 0x8a, 0x94, 0xbc, 0xc2, 0xc4, 0x99, 0xb0, 0x3b, 0x42, 0xc7, 0x9b, 0xe0, 0x67, 0x5a, 0x89, 0x33, 0x24, 0xc5, 0xee, 0xa0, 0xee, 0xd7, 0x44, 0x2b, 0x8b, 0x3b, 0xd8, 0x37, 0xc3, 0xe6, 0x94, 0x4c, 0x34, 0x10, 0x18, 0xfb, 0x46, 0xef, 0x41, 0x2d, 0xf4, 0x23, 0x27, 0x72, 0x7d, 0xcf, 0xa6, 0x01, 0x21, 0x13, 0xad, 0xc2, 0x2d, 0xaf, 0xc6, 0xa8, 0xc9, 0x40, 0xf4, 0x23, 0x28, 0x4f, 0x1d, 0x1a, 0xd9, 0x74, 0xec, 0x78, 0xda, 0xd6, 0x9e, 0xb2, 0x5f, 0x39, 0xba, 0x7f, 0x20, 0xfc, 0x7d, 0x10, 0xfb, 0xfb, 0xc0, 0x8a, 0xfd, 0x8d, 0x4b, 0x4c, 0xd8, 0x1c, 0x3b, 0x5e, 0xfd, 0x9f, 0x0a, 0x54, 0xcf, 0xfc, 0xe9, 0x7c, 0x46, 0xba, 0xfe, 0xd8, 0x89, 0xfc, 0x90, 0xbd, 0xc2, 0x73, 0x66, 0x44, 0xfa, 0x9c, 0x7f, 0xa3, 0x11, 0x54, 0x2f, 0xb9, 0x90, 0x3d, 0x75, 0x9e, 0x93, 0x29, 0xd5, 0x32, 0x7b, 0xd9, 0xfd, 0xca, 0xd1, 0x87, 0x6b, 0x8e, 0x4e, 0xa9, 0x8a, 0x29, 0x7e, 0xc4, 0xf0, 0xa2, 0xf0, 0x0a, 0x6f, 0x5d, 0x26, 0xa0, 0xfb, 0x3f, 0x87, 0x5b, 0x6b, 0x22, 0x48, 0x85, 0xec, 0x4b, 0x72, 0x25, 0xaf, 0x67, 0x9f, 0x68, 0x07, 0xf2, 0x97, 0xce, 0x74, 0x4e, 0x64, 0xd0, 0x05, 0xf1, 0x59, 0xe6, 0xa9, 0x52, 0xff, 0x18, 0x0a, 0xa6, 0xc8, 0x93, 0x5d, 0x28, 0x04, 0x4e, 0x48, 0xbc, 0x48, 0x1e, 0x94, 0x14, 0xf7, 0x33, 0xf3, 0x9a, 0xcc, 0x17, 0xf6, 0x5d, 0xff, 0x7b, 0x1e, 0x40, 0xdc, 0x6b, 0x06, 0x64, 0x8c, 0x1e, 0x42, 0x99, 0x04, 0x17, 0x64, 0x46, 0x42, 0x67, 0xca, 0x4f, 0x97, 0xf0, 0x12, 0x58, 0x04, 0x2a, 0x93, 0x08, 0xd4, 0x21, 0x14, 0x5e, 0xf8, 0xe1, 0xcc, 0x89, 0x64, 0xc2, 0xdd, 0x5d, 0xf3, 0x43, 0xdb, 0xb4, 0xae, 0x02, 0x82, 0xa5, 0x18, 0x7a, 0x04, 0xf0, 0x7c, 0xea, 0x8f, 0x5f, 0xda, 0x5c, 0x15, 0xcb, 0xb6, 0x2c, 0x2e, 0x73, 0xc4, 0x64, 0xfa, 0xee, 0x41, 0xe9, 0xc2, 0xb1, 0xa7, 0xe4, 0x92, 0x4c, 0x79, 0xd2, 0x65, 0x71, 0xf1, 0xc2, 0xe9, 0x32, 0x12, 0x35, 0x20, 0x3b, 0xf6, 0x29, 0xcf, 0xb8, 0xda, 0x91, 0xb6, 0x76, 0x4f, 0xd3, 0xa7, 0xfc, 0x22, 0x26, 0xc4, 0x7c, 0x30, 0x21, 0x93, 0x79, 0x40, 0x78, 0x12, 0x96, 0xb0, 0xa4, 0xd0, 0x0f, 0xe0, 0x16, 0xf5, 0x9c, 0x80, 0x5e, 0xf8, 0x91, 0xed, 0x7a, 0x11, 0x09, 0x2f, 0x9d, 0x29, 0x4f, 0xc7, 0x2a, 0x56, 0x63, 0x46, 0x47, 0xe2, 0x08, 0xaf, 0x86, 0xba, 0xcc, 0x43, 0xfd, 0xc3, 0x6b, 0x42, 0xcd, 0x3c, 0xf8, 0xa6, 0x38, 0xb3, 0x87, 0xd1, 0x0b, 0x27, 0x94, 0xa9, 0x5d, 0xc2, 0x92, 0x42, 0x3f, 0x85, 0x4a, 0x48, 0x82, 0xa9, 0x3b, 0x76, 0x6c, 0x4a, 0x22, 0x9e, 0xd9, 0x95, 0xa3, 0x07, 0x6b, 0x37, 0x61, 0x21, 0x63, 0x92, 0x08, 0x43, 0xb8, 0xf8, 0x66, 0x66, 0x39, 0xe7, 0xe7, 0x21, 0x39, 0x17, 0xd5, 0x21, 0xdc, 0xb7, 0x25, 0xcc, 0x4a, 0x30, 0x84, 0x1f, 0x59, 0x90, 0xbd, 0x71, 0x78, 0x15, 0x44, 0x64, 0xa2, 0x55, 0x65, 0x90, 0x63, 0x00, 0x3d, 0x06, 0x08, 0x1c, 0x4a, 0x83, 0x8b, 0xd0, 0xa1, 0x44, 0xab, 0xf1, 0x5c, 0x49, 0x20, 0x29, 0x0f, 0xd2, 0xf1, 0x05, 0x99, 0xcc, 0xa7, 0x44, 0xdb, 0xe6, 0x62, 0x0b, 0x0f, 0x9a, 0x12, 0x67, 0xe9, 0x4a, 0xc7, 0xce, 0x94, 0x68, 0x2a, 0x7f, 0x8b, 0x20, 0xfe, 0xff, 0x5c, 0xaf, 0x03, 0x2c, 0x1d, 0xc1, 0xe4, 0x3c, 0x7f, 0x42, 0xa8, 0xa6, 0xec, 0x65, 0x99, 0x1c, 0x27, 0xea, 0xdf, 0x28, 0xb0, 0x8d, 0xe7, 0x1e, 0x6b, 0xac, 0x66, 0xe4, 0x44, 0xa4, 0xe7, 0x04, 0xe8, 0x19, 0x54, 0x43, 0x01, 0xd9, 0x94, 0x61, 0xfc, 0x44, 0xe5, 0xe8, 0x68, 0xdd, 0xcd, 0xe9, 0x83, 0x29, 0x5a, 0x46, 0x35, 0x4c, 0x40, 0xcc, 0xa2, 0x35, 0x91, 0xb7, 0xb2, 0xe8, 0xdf, 0x05, 0x28, 0x08, 0x9f, 0xac, 0xb5, 0xf9, 0x43, 0x28, 0x88, 0x01, 0xc0, 0x4f, 0x55, 0x36, 0x54, 0x98, 0xa8, 0x7b, 0x2c, 0xc5, 0xd0, 0x7d, 0x28, 0xb1, 0xf6, 0xeb, 0x7b, 0xd3, 0x2b, 0x5e, 0x94, 0x25, 0xbc, 0xa0, 0xd1, 0x53, 0x28, 0x4e, 0x45, 0x47, 0xe2, 0xa5, 0x57, 0xd9, 0x30, 0x20, 0x52, 0x7d, 0x0b, 0xc7, 0xe2, 0xe8, 0x43, 0xc8, 0x8f, 0x99, 0x81, 0xbc, 0x2a, 0x5f, 0xdf, 0x52, 0x85, 0x20, 0x3a, 0x84, 0x1c, 0x0d, 0xc8, 0x98, 0x17, 0xec, 0xa6, 0x5c, 0x5e, 0x56, 0x0d, 0xe6, 0x82, 0xcc, 0x3d, 0x73, 0xea, 0x9c, 0x8b, 0x9a, 0xcd, 0x61, 0x41, 0xa4, 0xfb, 0x79, 0xe9, 0xe6, 0xfd, 0x3c, 0xd1, 0x9a, 0xca, 0x37, 0x6b, 0x4d, 0x9f, 0x40, 0x81, 0xa5, 0xc5, 0x9c, 0xf2, 0xda, 0xac, 0x1d, 0x3d, 0xba, 0xee, 0xc9, 0x5c, 0x08, 0x4b, 0x61, 0x74, 0x04, 0x79, 0x91, 0x4d, 0x15, 0x7e, 0xea, 0xe1, 0x6b, 0x4e, 0x11, 0x2c, 0x44, 0xd1, 0x13, 0xa8, 0x38, 0x51, 0xe4, 0xb0, 0x3a, 0xb1, 0x7d, 0x31, 0xa6, 0xca, 0x18, 0x62, 0x68, 0xe0, 0x31, 0x81, 0x09, 0xb9, 0x74, 0xc7, 0xc4, 0xe6, 0x33, 0x5e, 0xd6, 0xa1, 0x80, 0x86, 0x6c, 0xd2, 0x2f, 0x34, 0x08, 0x81, 0x6d, 0x9e, 0xfb, 0x52, 0x03, 0x17, 0xf8, 0x19, 0x6c, 0x25, 0x3a, 0x0a, 0xd5, 0x54, 0x9e, 0xeb, 0xaf, 0x6d, 0x29, 0x95, 0x65, 0x4b, 0xa1, 0x2c, 0x1a, 0x24, 0x0c, 0xfd, 0x50, 0xbb, 0x25, 0x92, 0x95, 0x13, 0xc8, 0x58, 0x2d, 0x21, 0xc4, 0xd5, 0xee, 0xbd, 0xa9, 0x84, 0xd2, 0x05, 0x83, 0x3e, 0x00, 0x44, 0xc9, 0x78, 0x1e, 0x12, 0x3b, 0x69, 0xe5, 0x6d, 0xd9, 0x46, 0x38, 0xa7, 0xb5, 0xb4, 0xf5, 0x23, 0xb8, 0xf3, 0xdc, 0x19, 0xbf, 0x3c, 0x0f, 0xfd, 0xb9, 0x37, 0xb1, 0x83, 0xd0, 0x1f, 0x13, 0x4a, 0x5d, 0xef, 0x5c, 0xdb, 0xe1, 0xe9, 0xbd, 0xb3, 0x64, 0x0e, 0x17, 0xbc, 0xfa, 0x5f, 0x33, 0x90, 0x67, 0x97, 0x71, 0x4b, 0x58, 0x01, 0x50, 0x5e, 0x54, 0x39, 0x2c, 0x08, 0x74, 0x17, 0x8a, 0xec, 0xc3, 0x9e, 0x51, 0x39, 0xd0, 0x0a, 0x8c, 0xec, 0x51, 0x36, 0xa1, 0x38, 0xe3, 0xf9, 0x55, 0x44, 0x28, 0xaf, 0xa0, 0x1c, 0x2e, 0x33, 0xe4, 0x98, 0x01, 0xac, 0x83, 0xf3, 0xd5, 0x87, 0xf2, 0x0a, 0xca, 0x61, 0x49, 0xb1, 0xc9, 0xc5, 0xbf, 0x98, 0x42, 0xb1, 0x2e, 0x15, 0x39, 0xdd, 0xa3, 0x2c, 0x56, 0x82, 0x25, 0x54, 0x16, 0x38, 0x17, 0x38, 0x24, 0x74, 0x3e, 0x81, 0x8a, 0xeb, 0x33, 0xc3, 0xce, 0x43, 0x42, 0xa9, 0xcc, 0x7f, 0x70, 0xfd, 0xa1, 0x44, 0xd0, 0x6d, 0xc8, 0xbb, 0x3e, 0xd3, 0x5c, 0x8a, 0x17, 0x31, 0xf1, 0x50, 0xae, 0xd0, 0xe6, 0xab, 0x92, 0x58, 0x9f, 0xca, 0x1c, 0x19, 0xb1, 0x7d, 0x89, 0x29, 0x95, 0xa3, 0x8c, 0x9d, 0x04, 0xa9, 0x54, 0x42, 0x3d, 0x5a, 0xff, 0x57, 0x06, 0xf2, 0xfa, 0x94, 0x84, 0x51, 0xa2, 0xe7, 0x64, 0x79, 0xcf, 0xf9, 0x31, 0xdb, 0xe2, 0x2e, 0x49, 0xe8, 0x46, 0x57, 0xdc, 0x39, 0x9b, 0x6a, 0xc1, 0x94, 0x02, 0xbc, 0x84, 0x16, 0xe2, 0xec, 0x51, 0x0e, 0xd3, 0x69, 0x47, 0x57, 0x01, 0xe1, 0xde, 0xcb, 0xe2, 0x32, 0x47, 0x98, 0x20, 0xd2, 0xa0, 0x38, 0x23, 0x94, 0x57, 0x79, 0x8e, 0x47, 0x3b, 0x26, 0xd1, 0x53, 0x28, 0x2f, 0xb6, 0xe0, 0x1b, 0x34, 0x99, 0xa5, 0x30, 0x33, 0x34, 0x94, 0x4b, 0xb2, 0xed, 0x4e, 0xb8, 0x7b, 0xcb, 0x6c, 0x3c, 0x0a, 0xa8, 0xc3, 0xcd, 0x89, 0x29, 0xee, 0xdb, 0x4d, 0xe6, 0xc4, 0x6b, 0xb6, 0x30, 0x27, 0x16, 0x67, 0xef, 0x1d, 0x4f, 0x09, 0x1f, 0xd8, 0x25, 0x9e, 0x6c, 0x31, 0xc9, 0xda, 0x7b, 0x14, 0x4d, 0xa5, 0xdb, 0xd9, 0x67, 0xfd, 0x53, 0x28, 0x70, 0x77, 0x52, 0xf4, 0x01, 0xe4, 0xb9, 0xc9, 0x72, 0xc0, 0xec, 0xae, 0xdd, 0xc6, 0xe5, 0xb0, 0x10, 0xaa, 0xff, 0x4d, 0x81, 0xdb, 0xa2, 0x47, 0x34, 0x43, 0xc2, 0x9a, 0x04, 0x79, 0x35, 0x27, 0x34, 0x4a, 0x36, 0x6b, 0xe5, 0xed, 0x9a, 0xf5, 0x5b, 0xcf, 0x8c, 0xb8, 0x57, 0x67, 0x6f, 0xd8, 0xab, 0xeb, 0xef, 0x43, 0x4d, 0x60, 0x98, 0xd0, 0xc0, 0xf7, 0x28, 0x59, 0xf6, 0x0b, 0x25, 0xd1, 0x2f, 0xea, 0x01, 0xec, 0xa4, 0x4d, 0x93, 0xd2, 0xab, 0x53, 0xee, 0x14, 0xb6, 0xe5, 0xae, 0x15, 0x4a, 0x11, 0xf9, 0xf4, 0x27, 0xd7, 0xbc, 0x25, 0xd6, 0x84, 0x6b, 0x97, 0x29, 0xba, 0xfe, 0xad, 0x12, 0xaf, 0x17, 0xbc, 0xd5, 0xe8, 0x63, 0xb6, 0xf9, 0xa0, 0xcf, 0xa0, 0x20, 0x7a, 0x23, 0xbf, 0xb3, 0x76, 0x54, 0xbf, 0x46, 0xad, 0x10, 0x1f, 0x3a, 0xa1, 0x33, 0xc3, 0xf2, 0x04, 0x7a, 0x0a, 0xf9, 0x99, 0x3f, 0xf7, 0x22, 0x59, 0x0a, 0x37, 0x39, 0x2a, 0x0e, 0xb0, 0x62, 0xe0, 0x1f, 0xa2, 0xbd, 0x65, 0xb9, 0xb5, 0x65, 0x8e, 0xc4, 0x3d, 0x3c, 0xd9, 0xfe, 0x72, 0xab, 0x4d, 0xbe, 0xfe, 0x0f, 0x05, 0x54, 0x69, 0x0b, 0x89, 0xbe, 0x8b, 0xb4, 0x10, 0x51, 0xce, 0xdc, 0x74, 0x22, 0x33, 0xaf, 0x71, 0xab, 0x64, 0x62, 0xd4, 0x5f, 0x37, 0xdb, 0x84, 0xfd, 0x58, 0x9e, 0xa8, 0xff, 0x61, 0x19, 0x07, 0xf6, 0x76, 0x19, 0xf7, 0x43, 0x28, 0x88, 0x78, 0xc9, 0xb7, 0xdf, 0xbd, 0x2e, 0xbc, 0x52, 0xec, 0x3b, 0x4c, 0x8c, 0x2b, 0xb8, 0x65, 0x7a, 0x4e, 0x90, 0xae, 0xb1, 0xd5, 0x3c, 0x4c, 0x38, 0x37, 0xf3, 0x76, 0xce, 0x7d, 0xcd, 0xda, 0x55, 0x7f, 0x05, 0x28, 0x79, 0xb5, 0xf4, 0xc5, 0xaf, 0x60, 0x57, 0x9a, 0x36, 0xe6, 0x8c, 0xa5, 0x85, 0xc2, 0x37, 0xef, 0x5d, 0x73, 0x75, 0x5a, 0x0d, 0xde, 0xb9, 0xdc, 0x80, 0xd6, 0xa3, 0xf8, 0x0f, 0xbb, 0x8e, 0xf7, 0xc2, 0x67, 0x7f, 0xb3, 0xcb, 0xab, 0x16, 0xd6, 0x96, 0x04, 0xd0, 0xd9, 0xfc, 0x43, 0xc2, 0x27, 0x50, 0x94, 0x17, 0xdf, 0xa4, 0x27, 0xc4, 0xb2, 0xf5, 0x09, 0xa0, 0x93, 0xd0, 0x09, 0x2e, 0x5a, 0xa1, 0x7b, 0x49, 0xc2, 0xe6, 0x85, 0xe3, 0x9d, 0x13, 0xba, 0xb8, 0x40, 0x49, 0x5c, 0xf0, 0x19, 0xe4, 0x5e, 0xba, 0xde, 0x44, 0xd6, 0xd4, 0xfb, 0x6b, 0xda, 0xd7, 0xd4, 0xf0, 0xc6, 0xcc, 0xcf, 0xd4, 0xbf, 0x0f, 0xdb, 0xcd, 0xe9, 0x9c, 0x46, 0x24, 0x7c, 0x43, 0xf7, 0xf9, 0xb3, 0x02, 0x55, 0x96, 0x96, 0x97, 0x8b, 0x78, 0x9f, 0x42, 0x09, 0x93, 0x57, 0x84, 0x46, 0x9f, 0x9f, 0xc9, 0xe6, 0xfc, 0xc1, 0x7a, 0x73, 0x4e, 0x9e, 0x38, 0x88, 0xc5, 0xc5, 0xde, 0x5f, 0x0a, 0x25, 0x79, 0xff, 0x27, 0x50, 0x4d, 0xb1, 0x92, 0xfb, 0x7e, 0xf6, 0x4d, 0xfb, 0xfe, 0xd7, 0x50, 0x4b, 0xdd, 0x42, 0x51, 0x1d, 0xb6, 0xe4, 0x77, 0x93, 0xf7, 0x1a, 0xa1, 0x66, 0x2b, 0x4c, 0x60, 0xa8, 0xb5, 0x62, 0x8d, 0xfc, 0xed, 0xe1, 0xf1, 0xeb, 0x2d, 0xc0, 0x55, 0x27, 0x49, 0x36, 0xbe, 0xcd, 0x40, 0x41, 0xac, 0xb0, 0x68, 0x1b, 0x2a, 0xa6, 0xa5, 0x5b, 0x23, 0xd3, 0xee, 0x0f, 0xfa, 0x86, 0xfa, 0x4e, 0x02, 0xe8, 0xf4, 0x3b, 0x96, 0xaa, 0xa0, 0x2a, 0x94, 0x25, 0x30, 0xf8, 0x5c, 0xcd, 0x20, 0x04, 0xb5, 0x98, 0x6c, 0xb7, 0xbb, 0x9d, 0xbe, 0xa1, 0x66, 0x91, 0x0a, 0x5b, 0x12, 0x33, 0x30, 0x1e, 0x60, 0x35, 0x87, 0x34, 0xd8, 0x59, 0xa8, 0xb5, 0xec, 0x4e, 0xdf, 0xfe, 0xe5, 0x68, 0x80, 0x47, 0x3d, 0x35, 0x8f, 0xee, 0xc2, 0x6d, 0xc9, 0x69, 0x19, 0xcd, 0x41, 0xaf, 0xd7, 0x31, 0xcd, 0xce, 0xa0, 0xaf, 0x16, 0xd0, 0x2e, 0x20, 0xc9, 0xe8, 0xe9, 0x9d, 0xbe, 0x65, 0xf4, 0xf5, 0x7e, 0xd3, 0x50, 0x8b, 0x89, 0x03, 0xa6, 0x35, 0xc0, 0xfa, 0x89, 0x61, 0xb7, 0x06, 0xcf, 0xfa, 0x6a, 0x09, 0x3d, 0x80, 0xbb, 0xab, 0x0c, 0xe3, 0x04, 0xeb, 0x2d, 0xa3, 0xa5, 0x96, 0x13, 0xa7, 0xfa, 0x86, 0xd1, 0x32, 0x6d, 0x6c, 0x1c, 0x0f, 0x06, 0x96, 0x0a, 0xe8, 0x21, 0x68, 0x2b, 0xa7, 0xb0, 0x71, 0xac, 0x77, 0xf9, 0x65, 0x15, 0xb4, 0x07, 0x0f, 0x57, 0x75, 0xe2, 0xce, 0x19, 0x93, 0x19, 0x76, 0xf5, 0xa6, 0xa1, 0x6e, 0xa1, 0x1a, 0xc0, 0xe2, 0x99, 0x5f, 0xa8, 0xd5, 0xc6, 0x5f, 0x14, 0x00, 0x91, 0xa4, 0x7c, 0xbb, 0xd9, 0x01, 0x95, 0x9f, 0xc0, 0xb6, 0xf5, 0xe5, 0xd0, 0x88, 0x9d, 0xba, 0x82, 0xb6, 0x3b, 0x5d, 0x43, 0x55, 0xd0, 0x1d, 0xb8, 0x95, 0x44, 0x8f, 0xbb, 0x83, 0x26, 0xf3, 0xf0, 0x2e, 0xa0, 0x24, 0x3c, 0x38, 0xfe, 0x85, 0xd1, 0xb4, 0xd4, 0x2c, 0xba, 0x07, 0x77, 0x92, 0x78, 0xb3, 0x3b, 0x32, 0x2d, 0x03, 0x1b, 0x2d, 0x35, 0xb7, 0xaa, 0xe9, 0x04, 0xeb, 0xc3, 0x53, 0x35, 0xdf, 0xf8, 0x93, 0x02, 0x05, 0xf1, 0x17, 0x0e, 0x0b, 0x51, 0xdb, 0x4c, 0xbd, 0xe9, 0x16, 0x54, 0x63, 0xe4, 0xd8, 0xc2, 0x6d, 0x53, 0x55, 0x92, 0x42, 0xc6, 0x17, 0xd6, 0xc7, 0x6a, 0x26, 0x89, 0xb4, 0x47, 0x26, 0x8b, 0xf5, 0x36, 0x54, 0x16, 0x8a, 0xda, 0xa6, 0x9a, 0x4b, 0x02, 0x67, 0x6d, 0x53, 0xcd, 0x27, 0x81, 0x2f, 0xda, 0xa6, 0x5a, 0x48, 0x02, 0x5f, 0xb5, 0x4d, 0xb5, 0xd8, 0xf8, 0x46, 0x81, 0x3b, 0x1b, 0xab, 0x1b, 0xbd, 0x0b, 0x8f, 0xf8, 0xe3, 0x6d, 0x69, 0x4e, 0xf3, 0x54, 0xef, 0x9f, 0x18, 0xa9, 0x77, 0xbf, 0x07, 0xef, 0x5e, 0x2b, 0xd2, 0x1b, 0xb4, 0x3a, 0xed, 0x8e, 0xd1, 0x52, 0x15, 0x54, 0x87, 0xc7, 0xd7, 0x8a, 0xe9, 0x2d, 0x96, 0x24, 0x19, 0xf4, 0x3d, 0xd8, 0xbb, 0x56, 0xa6, 0x65, 0x74, 0x0d, 0xcb, 0x68, 0xa9, 0xd9, 0x46, 0x04, 0x5b, 0xc9, 0x4d, 0x97, 0x27, 0xaa, 0x71, 0x66, 0xe0, 0x8e, 0xf5, 0x65, 0xea, 0x61, 0x2c, 0xe5, 0x52, 0xb8, 0xde, 0xd5, 0x71, 0x4f, 0x55, 0x58, 0xe0, 0xd2, 0x8c, 0x67, 0x3a, 0xee, 0x77, 0xfa, 0x27, 0x6a, 0x86, 0xd7, 0xc9, 0x8a, 0x2e, 0xab, 0xd3, 0xfe, 0x52, 0xcd, 0x36, 0x7e, 0xaf, 0xb0, 0x76, 0xb0, 0xdc, 0x48, 0xd9, 0xb5, 0xd8, 0x30, 0x07, 0x23, 0xdc, 0x4c, 0xfb, 0x43, 0x83, 0x9d, 0x34, 0x7e, 0x36, 0xe8, 0x8e, 0x7a, 0x2c, 0xbf, 0x36, 0x9c, 0x68, 0x19, 0x6a, 0x86, 0xbd, 0x27, 0x8d, 0xcb, 0x54, 0x52, 0xb3, 0xcc, 0x86, 0x34, 0x8b, 0x7b, 0x46, 0xcd, 0x35, 0x7e, 0xa7, 0xc0, 0x36, 0x5f, 0x59, 0xc5, 0x8c, 0xe7, 0x2f, 0xba, 0x0f, 0xbb, 0x7a, 0xd7, 0xc0, 0x96, 0xad, 0x37, 0xad, 0xce, 0xa0, 0x9f, 0x7a, 0xd5, 0x43, 0xd0, 0xd6, 0x79, 0xc2, 0xa7, 0xaa, 0xb2, 0x99, 0xdb, 0xc4, 0x86, 0x6e, 0xb1, 0xf7, 0x6d, 0xe4, 0x8e, 0x86, 0x2d, 0xc6, 0xcd, 0x36, 0x7e, 0x13, 0x2f, 0x15, 0x89, 0x6d, 0x8b, 0x1d, 0x11, 0x66, 0xc7, 0x67, 0x86, 0x3a, 0xd6, 0x7b, 0xf1, 0x63, 0x1e, 0xc0, 0xdd, 0x4d, 0xdc, 0x41, 0xbb, 0xad, 0x2a, 0xcc, 0x8a, 0x8d, 0xcc, 0xbe, 0x9a, 0x69, 0x1c, 0x41, 0x51, 0xfe, 0xa8, 0x88, 0x4a, 0x90, 0x93, 0xda, 0x8a, 0x90, 0xed, 0x0e, 0x9e, 0xa9, 0x0a, 0x02, 0x28, 0xf4, 0x8c, 0x56, 0x67, 0xd4, 0x53, 0x33, 0x8c, 0x7d, 0xda, 0x39, 0x39, 0x55, 0xb3, 0x8d, 0xff, 0x28, 0x50, 0x49, 0xec, 0x44, 0xac, 0x36, 0xa5, 0x7e, 0xd6, 0x37, 0x92, 0x61, 0x4b, 0xc1, 0x43, 0xa3, 0xdf, 0x62, 0x39, 0x91, 0x7c, 0x90, 0xe0, 0xe8, 0x67, 0x7a, 0xa7, 0xab, 0x1f, 0x77, 0x65, 0xe8, 0xd2, 0x3c, 0xcb, 0xd2, 0x9b, 0xa7, 0x2c, 0x4d, 0xd7, 0x58, 0x2d, 0x43, 0xb2, 0x72, 0x09, 0xfb, 0x97, 0x2c, 0xab, 0x79, 0xca, 0xae, 0xcb, 0xb3, 0x2c, 0x49, 0x31, 0x45, 0x0b, 0x2f, 0xac, 0x3d, 0x30, 0x2e, 0x88, 0x62, 0xe3, 0x8f, 0x0a, 0x6c, 0x25, 0x7f, 0x07, 0x59, 0x51, 0xb1, 0x9c, 0x25, 0x8f, 0xe0, 0xde, 0x2a, 0x6e, 0xd9, 0x43, 0x6c, 0x98, 0x46, 0x9f, 0x4d, 0x96, 0x1d, 0x50, 0xd3, 0xec, 0xd1, 0x50, 0xb4, 0xbf, 0x34, 0xca, 0xdb, 0x7d, 0x76, 0xc5, 0x2d, 0x7c, 0x7e, 0xc8, 0x6e, 0x9f, 0x6b, 0xfc, 0x1a, 0xaa, 0xa9, 0xff, 0x6a, 0x88, 0xd9, 0x20, 0x1a, 0xb8, 0x08, 0x91, 0xdd, 0xd3, 0x4f, 0xfa, 0x86, 0xd5, 0x69, 0xaa, 0xef, 0x88, 0x49, 0x93, 0x62, 0x9a, 0x26, 0x6b, 0x19, 0x7c, 0x66, 0xa4, 0xf0, 0xfe, 0x59, 0xcf, 0x50, 0x33, 0x8d, 0x7d, 0xa8, 0xca, 0x6d, 0xa3, 0xef, 0x47, 0xee, 0x8b, 0x2b, 0x26, 0x29, 0x6b, 0x46, 0x16, 0xac, 0x78, 0xe4, 0x3b, 0xc7, 0x0f, 0xe1, 0xf6, 0xd8, 0x9f, 0xad, 0x4e, 0xe3, 0xa1, 0xf2, 0x55, 0xd6, 0x09, 0xdc, 0xe7, 0x05, 0xfe, 0x57, 0xec, 0x47, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x90, 0x7c, 0x3c, 0xe7, 0x1d, 0x1a, 0x00, 0x00, }