cloud/azure/compute/models/virtual_machine_scale_set_o_s_disk.go
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"encoding/json"
strfmt "github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/errors"
"github.com/go-openapi/validate"
)
// VirtualMachineScaleSetOSDisk Describes a virtual machine scale set operating system disk.
// swagger:model VirtualMachineScaleSetOSDisk
type VirtualMachineScaleSetOSDisk struct {
// The caching type.
Caching Caching `json:"caching,omitempty"`
// The create option.
// Required: true
CreateOption CreateOption `json:"createOption"`
// The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist.
Image *VirtualHardDisk `json:"image,omitempty"`
// The managed disk parameters.
ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"`
// The disk name.
Name string `json:"name,omitempty"`
// The Operating System type.
OsType string `json:"osType,omitempty"`
// The list of virtual hard disk container uris.
VhdContainers []string `json:"vhdContainers"`
}
// Validate validates this virtual machine scale set o s disk
func (m *VirtualMachineScaleSetOSDisk) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateCaching(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateCreateOption(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateImage(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateManagedDisk(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateOsType(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateVhdContainers(formats); err != nil {
// prop
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateCaching(formats strfmt.Registry) error {
if swag.IsZero(m.Caching) { // not required
return nil
}
if err := m.Caching.Validate(formats); err != nil {
return err
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateCreateOption(formats strfmt.Registry) error {
if err := m.CreateOption.Validate(formats); err != nil {
return err
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateImage(formats strfmt.Registry) error {
if swag.IsZero(m.Image) { // not required
return nil
}
if m.Image != nil {
if err := m.Image.Validate(formats); err != nil {
return err
}
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateManagedDisk(formats strfmt.Registry) error {
if swag.IsZero(m.ManagedDisk) { // not required
return nil
}
if m.ManagedDisk != nil {
if err := m.ManagedDisk.Validate(formats); err != nil {
return err
}
}
return nil
}
var virtualMachineScaleSetOSDiskTypeOsTypePropEnum []interface{}
func init() {
var res []string
if err := json.Unmarshal([]byte(`["Windows","Linux"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
virtualMachineScaleSetOSDiskTypeOsTypePropEnum = append(virtualMachineScaleSetOSDiskTypeOsTypePropEnum, v)
}
}
const (
// VirtualMachineScaleSetOSDiskOsTypeWindows captures enum value "Windows"
VirtualMachineScaleSetOSDiskOsTypeWindows string = "Windows"
// VirtualMachineScaleSetOSDiskOsTypeLinux captures enum value "Linux"
VirtualMachineScaleSetOSDiskOsTypeLinux string = "Linux"
)
// prop value enum
func (m *VirtualMachineScaleSetOSDisk) validateOsTypeEnum(path, location string, value string) error {
if err := validate.Enum(path, location, value, virtualMachineScaleSetOSDiskTypeOsTypePropEnum); err != nil {
return err
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateOsType(formats strfmt.Registry) error {
if swag.IsZero(m.OsType) { // not required
return nil
}
// value enum
if err := m.validateOsTypeEnum("osType", "body", m.OsType); err != nil {
return err
}
return nil
}
func (m *VirtualMachineScaleSetOSDisk) validateVhdContainers(formats strfmt.Registry) error {
if swag.IsZero(m.VhdContainers) { // not required
return nil
}
return nil
}