167 lines
3.4 KiB
Go
167 lines
3.4 KiB
Go
package stpolicy
|
|
|
|
type ListStoragePolicies struct {
|
|
// List
|
|
Data []ItemStoragePolicy `json:"data"`
|
|
|
|
// Entry Count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
type ItemStoragePolicy struct {
|
|
// ID of the storage policy
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Name of the storage policy
|
|
Name string `json:"name"`
|
|
|
|
// Description of the storage policy
|
|
Description string `json:"description"`
|
|
|
|
// List of pools in SEP for storage policy
|
|
AccessSEPPools ListAccessSEPPools `json:"access_seps_pools"`
|
|
|
|
// Status of the storage policy
|
|
Status string `json:"status"`
|
|
|
|
// Max IOPS for the storage policy
|
|
LimitIOPS uint64 `json:"limit_iops"`
|
|
|
|
// ID of the replication profile
|
|
ReplicationProfileID uint64 `json:"replication_profile_id"`
|
|
|
|
// Storage policy ID
|
|
StoragePolicyID uint64 `json:"storage_policy_id"`
|
|
|
|
// Which accounts and resource groups use the storage policy
|
|
Usage Usage `json:"usage"`
|
|
}
|
|
|
|
type InfoStoragePolicy struct {
|
|
// ID of the storage policy
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Name of the storage policy
|
|
Name string `json:"name"`
|
|
|
|
// Description of the storage policy
|
|
Description string `json:"description"`
|
|
|
|
// List of pools in SEP for storage policy
|
|
AccessSEPPools ListAccessSEPPools `json:"access_seps_pools"`
|
|
|
|
// Status of the storage policy
|
|
Status string `json:"status"`
|
|
|
|
// Max IOPS for the storage policy
|
|
LimitIOPS uint64 `json:"limit_iops"`
|
|
|
|
// ID of the replication profile
|
|
ReplicationProfileID uint64 `json:"replication_profile_id"`
|
|
|
|
// ID of the storage policy
|
|
StoragePolicyID uint64 `json:"storage_policy_id"`
|
|
|
|
// Which accounts and resource groups use the storage policy
|
|
Usage Usage `json:"usage"`
|
|
}
|
|
|
|
type ListAccessSEPPools []AccessSEPPool
|
|
|
|
type AccessSEPPool struct {
|
|
// SEP ID
|
|
SEPID uint64 `json:"sep_id"`
|
|
|
|
// SEP name
|
|
Name string `json:"sep_name"`
|
|
|
|
// Pool names
|
|
PoolNames []string `json:"pool_names"`
|
|
|
|
// Technical status of the SEP
|
|
SepTechStatus string `json:"sep_tech_status"`
|
|
}
|
|
|
|
type Usage struct {
|
|
// List of accounts
|
|
Accounts []uint64 `json:"accounts"`
|
|
|
|
// List of resource groups
|
|
Resgroups []uint64 `json:"resgroups"`
|
|
}
|
|
|
|
type ListReplicationProfiles struct {
|
|
// List
|
|
Data []ItemReplicationProfile `json:"data"`
|
|
|
|
// Entry Count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
type ItemReplicationProfile struct {
|
|
// ID of the replication profile
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Name of the replication profile
|
|
Name string `json:"name"`
|
|
|
|
// Replication types
|
|
ReplicationType []string `json:"replication_type"`
|
|
|
|
// Max copy rate
|
|
MAXCopyRate uint64 `json:"max_copy_rate"`
|
|
|
|
// List of schedules
|
|
Schedules ListSchedules `json:"schedules"`
|
|
}
|
|
|
|
type InfoReplicationProfile struct {
|
|
// ID of the replication profile
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Name of the replication profile
|
|
Name string `json:"name"`
|
|
|
|
// Replication types
|
|
ReplicationType []string `json:"replication_type"`
|
|
|
|
// Max copy rate
|
|
MAXCopyRate uint64 `json:"max_copy_rate"`
|
|
|
|
// List of schedules
|
|
Schedules ListSchedules `json:"schedules"`
|
|
}
|
|
|
|
type ListSchedules []Schedule
|
|
|
|
type Schedule struct {
|
|
// Type of the schedule
|
|
Type string `json:"type"`
|
|
|
|
// Name of the schedule
|
|
Name string `json:"name"`
|
|
|
|
// Min interval
|
|
MINInterval uint64 `json:"min_interval"`
|
|
|
|
// Calendar of the schedule
|
|
Calendar Calendar `json:"calendar"`
|
|
}
|
|
|
|
type Calendar struct {
|
|
// Weekly schedule
|
|
Weekly map[string][]string `json:"weekly"`
|
|
}
|