jkawamoto/roadie

View on GitHub
cloud/azure/compute/models/virtual_machine_scale_set_o_s_disk.go

Summary

Maintainability
A
3 hrs
Test Coverage
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
}