2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-16 18:15:20 +00:00
restic/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/entities.go
2017-08-06 21:47:04 +02:00

135 lines
4.1 KiB
Go

package virtualmachinedisk
import (
"encoding/xml"
"github.com/Azure/azure-sdk-for-go/management"
)
// DiskClient is used to perform operations on Azure Disks
type DiskClient struct {
client management.Client
}
// CreateDiskParameters represents a disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type CreateDiskParameters struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"`
OS OperatingSystemType `xml:",omitempty"`
Label string
MediaLink string `xml:",omitempty"`
Name string
}
// UpdateDiskParameters represents a disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type UpdateDiskParameters struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"`
Label string `xml:",omitempty"`
Name string
ResizedSizeInGB int `xml:",omitempty"`
}
// ListDiskResponse represents a disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type ListDiskResponse struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disks"`
Disk []DiskResponse
}
// DiskResponse represents a disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type DiskResponse struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"`
AffinityGroup string
AttachedTo Resource
IsCorrupted bool
OS OperatingSystemType
Location string
LogicalDiskSizeInGB int
MediaLink string
Name string
SourceImageName string
CreatedTime string
IOType IOType
}
// Resource describes the resource details a disk is currently attached to
type Resource struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure AttachedTo"`
DeploymentName string
HostedServiceName string
RoleName string
}
// IOType represents an IO type
type IOType string
// These constants represent the possible IO types
const (
IOTypeProvisioned IOType = "Provisioned"
IOTypeStandard IOType = "Standard"
)
// OperatingSystemType represents an operating system type
type OperatingSystemType string
// These constants represent the valid operating system types
const (
OperatingSystemTypeNull OperatingSystemType = "NULL"
OperatingSystemTypeLinux OperatingSystemType = "Linux"
OperatingSystemTypeWindows OperatingSystemType = "Windows"
)
// CreateDataDiskParameters represents a data disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type CreateDataDiskParameters struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"`
HostCaching HostCachingType `xml:",omitempty"`
DiskLabel string `xml:",omitempty"`
DiskName string `xml:",omitempty"`
Lun int `xml:",omitempty"`
LogicalDiskSizeInGB int `xml:",omitempty"`
MediaLink string
SourceMediaLink string `xml:",omitempty"`
}
// UpdateDataDiskParameters represents a data disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type UpdateDataDiskParameters struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"`
HostCaching HostCachingType `xml:",omitempty"`
DiskName string
Lun int
MediaLink string
}
// DataDiskResponse represents a data disk
//
// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx
type DataDiskResponse struct {
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"`
HostCaching HostCachingType
DiskLabel string
DiskName string
Lun int
LogicalDiskSizeInGB int
MediaLink string
}
// HostCachingType represents a host caching type
type HostCachingType string
// These constants represent the valid host caching types
const (
HostCachingTypeNone HostCachingType = "None"
HostCachingTypeReadOnly HostCachingType = "ReadOnly"
HostCachingTypeReadWrite HostCachingType = "ReadWrite"
)