mirror of
https://github.com/restic/restic.git
synced 2024-09-04 18:47:23 +02:00
333 lines
11 KiB
Go
333 lines
11 KiB
Go
package media
|
|
|
|
// Copyright (c) Microsoft and contributors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
//
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
// Code generated by Microsoft (R) AutoRest Code Generator.
|
|
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/Azure/go-autorest/autorest"
|
|
)
|
|
|
|
// EntityNameUnavailabilityReason enumerates the values for entity name unavailability reason.
|
|
type EntityNameUnavailabilityReason string
|
|
|
|
const (
|
|
// AlreadyExists ...
|
|
AlreadyExists EntityNameUnavailabilityReason = "AlreadyExists"
|
|
// Invalid ...
|
|
Invalid EntityNameUnavailabilityReason = "Invalid"
|
|
// None ...
|
|
None EntityNameUnavailabilityReason = "None"
|
|
)
|
|
|
|
// PossibleEntityNameUnavailabilityReasonValues returns an array of possible values for the EntityNameUnavailabilityReason const type.
|
|
func PossibleEntityNameUnavailabilityReasonValues() []EntityNameUnavailabilityReason {
|
|
return []EntityNameUnavailabilityReason{AlreadyExists, Invalid, None}
|
|
}
|
|
|
|
// KeyType enumerates the values for key type.
|
|
type KeyType string
|
|
|
|
const (
|
|
// Primary ...
|
|
Primary KeyType = "Primary"
|
|
// Secondary ...
|
|
Secondary KeyType = "Secondary"
|
|
)
|
|
|
|
// PossibleKeyTypeValues returns an array of possible values for the KeyType const type.
|
|
func PossibleKeyTypeValues() []KeyType {
|
|
return []KeyType{Primary, Secondary}
|
|
}
|
|
|
|
// ResourceType enumerates the values for resource type.
|
|
type ResourceType string
|
|
|
|
const (
|
|
// Mediaservices ...
|
|
Mediaservices ResourceType = "mediaservices"
|
|
)
|
|
|
|
// PossibleResourceTypeValues returns an array of possible values for the ResourceType const type.
|
|
func PossibleResourceTypeValues() []ResourceType {
|
|
return []ResourceType{Mediaservices}
|
|
}
|
|
|
|
// APIEndpoint the properties for a Media Services REST API endpoint.
|
|
type APIEndpoint struct {
|
|
// Endpoint - The Media Services REST endpoint.
|
|
Endpoint *string `json:"endpoint,omitempty"`
|
|
// MajorVersion - The version of Media Services REST API.
|
|
MajorVersion *string `json:"majorVersion,omitempty"`
|
|
}
|
|
|
|
// APIError the error returned from a failed Media Services REST API call.
|
|
type APIError struct {
|
|
// Code - Error code.
|
|
Code *string `json:"code,omitempty"`
|
|
// Message - Error message.
|
|
Message *string `json:"message,omitempty"`
|
|
}
|
|
|
|
// CheckNameAvailabilityInput the request body for CheckNameAvailability API.
|
|
type CheckNameAvailabilityInput struct {
|
|
// Name - The name of the resource. A name must be globally unique.
|
|
Name *string `json:"name,omitempty"`
|
|
// Type - The type of the resource - mediaservices.
|
|
Type *string `json:"type,omitempty"`
|
|
}
|
|
|
|
// CheckNameAvailabilityOutput the response body for CheckNameAvailability API.
|
|
type CheckNameAvailabilityOutput struct {
|
|
autorest.Response `json:"-"`
|
|
// NameAvailable - Specifies if the name is available.
|
|
NameAvailable *bool `json:"nameAvailable,omitempty"`
|
|
// Reason - Specifies the reason if the name is not available. Possible values include: 'None', 'Invalid', 'AlreadyExists'
|
|
Reason EntityNameUnavailabilityReason `json:"reason,omitempty"`
|
|
// Message - Specifies the detailed reason if the name is not available.
|
|
Message *string `json:"message,omitempty"`
|
|
}
|
|
|
|
// Operation a Media Services REST API operation
|
|
type Operation struct {
|
|
// Name - Operation name: {provider}/{resource}/{operation}
|
|
Name *string `json:"name,omitempty"`
|
|
// Display - The object that represents the operation.
|
|
Display *OperationDisplay `json:"display,omitempty"`
|
|
}
|
|
|
|
// OperationDisplay the object that represents the operation.
|
|
type OperationDisplay struct {
|
|
// Provider - Service provider: Microsoft.Media
|
|
Provider *string `json:"provider,omitempty"`
|
|
// Resource - Resource on which the operation is performed: Invoice, etc.
|
|
Resource *string `json:"resource,omitempty"`
|
|
// Operation - Operation type: Read, write, delete, etc.
|
|
Operation *string `json:"operation,omitempty"`
|
|
}
|
|
|
|
// OperationListResult result of the request to list Media Services operations.
|
|
type OperationListResult struct {
|
|
autorest.Response `json:"-"`
|
|
// Value - List of Media Services operations supported by the Microsoft.Media resource provider.
|
|
Value *[]Operation `json:"value,omitempty"`
|
|
// NextLink - URL to get the next set of operation list results if there are any.
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// RegenerateKeyInput the request body for a RegenerateKey API.
|
|
type RegenerateKeyInput struct {
|
|
// KeyType - The keyType indicating which key you want to regenerate, Primary or Secondary. Possible values include: 'Primary', 'Secondary'
|
|
KeyType KeyType `json:"keyType,omitempty"`
|
|
}
|
|
|
|
// RegenerateKeyOutput the response body for a RegenerateKey API.
|
|
type RegenerateKeyOutput struct {
|
|
autorest.Response `json:"-"`
|
|
// Key - The new value of either the primary or secondary key.
|
|
Key *string `json:"key,omitempty"`
|
|
}
|
|
|
|
// Resource the Azure Resource Manager resource.
|
|
type Resource struct {
|
|
// ID - The id of the resource.
|
|
ID *string `json:"id,omitempty"`
|
|
// Name - The name of the resource.
|
|
Name *string `json:"name,omitempty"`
|
|
// Type - The type of the resource
|
|
Type *string `json:"type,omitempty"`
|
|
// Location - The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth).
|
|
Location *string `json:"location,omitempty"`
|
|
// Tags - Tags to help categorize the resource in the Azure portal.
|
|
Tags map[string]*string `json:"tags"`
|
|
}
|
|
|
|
// MarshalJSON is the custom marshaler for Resource.
|
|
func (r Resource) MarshalJSON() ([]byte, error) {
|
|
objectMap := make(map[string]interface{})
|
|
if r.ID != nil {
|
|
objectMap["id"] = r.ID
|
|
}
|
|
if r.Name != nil {
|
|
objectMap["name"] = r.Name
|
|
}
|
|
if r.Type != nil {
|
|
objectMap["type"] = r.Type
|
|
}
|
|
if r.Location != nil {
|
|
objectMap["location"] = r.Location
|
|
}
|
|
if r.Tags != nil {
|
|
objectMap["tags"] = r.Tags
|
|
}
|
|
return json.Marshal(objectMap)
|
|
}
|
|
|
|
// Service the properties of a Media Service resource.
|
|
type Service struct {
|
|
autorest.Response `json:"-"`
|
|
// ServiceProperties - The additional properties of a Media Service resource.
|
|
*ServiceProperties `json:"properties,omitempty"`
|
|
// ID - The id of the resource.
|
|
ID *string `json:"id,omitempty"`
|
|
// Name - The name of the resource.
|
|
Name *string `json:"name,omitempty"`
|
|
// Type - The type of the resource
|
|
Type *string `json:"type,omitempty"`
|
|
// Location - The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth).
|
|
Location *string `json:"location,omitempty"`
|
|
// Tags - Tags to help categorize the resource in the Azure portal.
|
|
Tags map[string]*string `json:"tags"`
|
|
}
|
|
|
|
// MarshalJSON is the custom marshaler for Service.
|
|
func (s Service) MarshalJSON() ([]byte, error) {
|
|
objectMap := make(map[string]interface{})
|
|
if s.ServiceProperties != nil {
|
|
objectMap["properties"] = s.ServiceProperties
|
|
}
|
|
if s.ID != nil {
|
|
objectMap["id"] = s.ID
|
|
}
|
|
if s.Name != nil {
|
|
objectMap["name"] = s.Name
|
|
}
|
|
if s.Type != nil {
|
|
objectMap["type"] = s.Type
|
|
}
|
|
if s.Location != nil {
|
|
objectMap["location"] = s.Location
|
|
}
|
|
if s.Tags != nil {
|
|
objectMap["tags"] = s.Tags
|
|
}
|
|
return json.Marshal(objectMap)
|
|
}
|
|
|
|
// UnmarshalJSON is the custom unmarshaler for Service struct.
|
|
func (s *Service) UnmarshalJSON(body []byte) error {
|
|
var m map[string]*json.RawMessage
|
|
err := json.Unmarshal(body, &m)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
for k, v := range m {
|
|
switch k {
|
|
case "properties":
|
|
if v != nil {
|
|
var serviceProperties ServiceProperties
|
|
err = json.Unmarshal(*v, &serviceProperties)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ServiceProperties = &serviceProperties
|
|
}
|
|
case "id":
|
|
if v != nil {
|
|
var ID string
|
|
err = json.Unmarshal(*v, &ID)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ID = &ID
|
|
}
|
|
case "name":
|
|
if v != nil {
|
|
var name string
|
|
err = json.Unmarshal(*v, &name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Name = &name
|
|
}
|
|
case "type":
|
|
if v != nil {
|
|
var typeVar string
|
|
err = json.Unmarshal(*v, &typeVar)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Type = &typeVar
|
|
}
|
|
case "location":
|
|
if v != nil {
|
|
var location string
|
|
err = json.Unmarshal(*v, &location)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Location = &location
|
|
}
|
|
case "tags":
|
|
if v != nil {
|
|
var tags map[string]*string
|
|
err = json.Unmarshal(*v, &tags)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = tags
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// ServiceCollection the collection of Media Service resources.
|
|
type ServiceCollection struct {
|
|
autorest.Response `json:"-"`
|
|
// Value - The collection of Media Service resources.
|
|
Value *[]Service `json:"value,omitempty"`
|
|
}
|
|
|
|
// ServiceKeys the response body for a ListKeys API.
|
|
type ServiceKeys struct {
|
|
autorest.Response `json:"-"`
|
|
// PrimaryAuthEndpoint - The primary authorization endpoint.
|
|
PrimaryAuthEndpoint *string `json:"primaryAuthEndpoint,omitempty"`
|
|
// SecondaryAuthEndpoint - The secondary authorization endpoint.
|
|
SecondaryAuthEndpoint *string `json:"secondaryAuthEndpoint,omitempty"`
|
|
// PrimaryKey - The primary key for the Media Service resource.
|
|
PrimaryKey *string `json:"primaryKey,omitempty"`
|
|
// SecondaryKey - The secondary key for the Media Service resource.
|
|
SecondaryKey *string `json:"secondaryKey,omitempty"`
|
|
// Scope - The authorization scope.
|
|
Scope *string `json:"scope,omitempty"`
|
|
}
|
|
|
|
// ServiceProperties the additional properties of a Media Service resource.
|
|
type ServiceProperties struct {
|
|
// APIEndpoints - Read-only property that lists the Media Services REST API endpoints for this resource. If supplied on a PUT or PATCH, the value will be ignored.
|
|
APIEndpoints *[]APIEndpoint `json:"apiEndpoints,omitempty"`
|
|
// StorageAccounts - The storage accounts for this resource.
|
|
StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"`
|
|
}
|
|
|
|
// StorageAccount the properties of a storage account associated with this resource.
|
|
type StorageAccount struct {
|
|
// ID - The id of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts (isPrimary false).
|
|
ID *string `json:"id,omitempty"`
|
|
// IsPrimary - Is this storage account resource the primary storage account for the Media Service resource. Blob only storage must set this to false.
|
|
IsPrimary *bool `json:"isPrimary,omitempty"`
|
|
}
|
|
|
|
// SyncStorageKeysInput the request body for a SyncStorageKeys API.
|
|
type SyncStorageKeysInput struct {
|
|
// ID - The id of the storage account resource.
|
|
ID *string `json:"id,omitempty"`
|
|
}
|