mirror of
https://github.com/restic/restic.git
synced 2024-09-18 08:50:14 +02:00
80 lines
2.0 KiB
Go
80 lines
2.0 KiB
Go
|
package storageservice
|
||
|
|
||
|
import (
|
||
|
"encoding/xml"
|
||
|
|
||
|
"github.com/Azure/azure-sdk-for-go/management"
|
||
|
)
|
||
|
|
||
|
// StorageServiceClient is used to perform operations on Azure Storage
|
||
|
type StorageServiceClient struct {
|
||
|
client management.Client
|
||
|
}
|
||
|
|
||
|
type ListStorageServicesResponse struct {
|
||
|
StorageServices []StorageServiceResponse `xml:"StorageService"`
|
||
|
}
|
||
|
|
||
|
type StorageServiceResponse struct {
|
||
|
URL string `xml:"Url"`
|
||
|
ServiceName string
|
||
|
StorageServiceProperties StorageServiceProperties
|
||
|
}
|
||
|
|
||
|
type StorageServiceProperties struct {
|
||
|
Description string
|
||
|
Location string
|
||
|
Label string
|
||
|
Status string
|
||
|
Endpoints []string `xml:"Endpoints>Endpoint"`
|
||
|
GeoReplicationEnabled string
|
||
|
GeoPrimaryRegion string
|
||
|
}
|
||
|
|
||
|
type GetStorageServiceKeysResponse struct {
|
||
|
URL string `xml:"Url"`
|
||
|
PrimaryKey string `xml:"StorageServiceKeys>Primary"`
|
||
|
SecondaryKey string `xml:"StorageServiceKeys>Secondary"`
|
||
|
}
|
||
|
|
||
|
type CreateStorageServiceInput struct {
|
||
|
XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateStorageServiceInput"`
|
||
|
StorageAccountCreateParameters
|
||
|
}
|
||
|
|
||
|
type StorageAccountCreateParameters struct {
|
||
|
ServiceName string
|
||
|
Description string `xml:",omitempty"`
|
||
|
Label string
|
||
|
AffinityGroup string `xml:",omitempty"`
|
||
|
Location string `xml:",omitempty"`
|
||
|
ExtendedProperties ExtendedPropertyList
|
||
|
AccountType AccountType
|
||
|
}
|
||
|
|
||
|
type AccountType string
|
||
|
|
||
|
const (
|
||
|
AccountTypeStandardLRS AccountType = "Standard_LRS"
|
||
|
AccountTypeStandardZRS AccountType = "Standard_ZRS"
|
||
|
AccountTypeStandardGRS AccountType = "Standard_GRS"
|
||
|
AccountTypeStandardRAGRS AccountType = "Standard_RAGRS"
|
||
|
AccountTypePremiumLRS AccountType = "Premium_LRS"
|
||
|
)
|
||
|
|
||
|
type ExtendedPropertyList struct {
|
||
|
ExtendedProperty []ExtendedProperty
|
||
|
}
|
||
|
|
||
|
type ExtendedProperty struct {
|
||
|
Name string
|
||
|
Value string
|
||
|
}
|
||
|
|
||
|
type AvailabilityResponse struct {
|
||
|
XMLName xml.Name `xml:"AvailabilityResponse"`
|
||
|
Xmlns string `xml:"xmlns,attr"`
|
||
|
Result bool
|
||
|
Reason string
|
||
|
}
|