jkawamoto/roadie

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

Summary

Maintainability
B
4 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"
)

// OSDisk Describes an Operating System disk.
// swagger:model OSDisk
type OSDisk struct {

    // The caching type.
    Caching Caching `json:"caching,omitempty"`

    // The create option.
    // Required: true
    CreateOption CreateOption `json:"createOption"`

    // The initial disk size, in GB, for blank data disks, and the new desired size for resizing existing OS and data disks.
    DiskSizeGB int32 `json:"diskSizeGB,omitempty"`

    // The disk encryption settings.
    EncryptionSettings *DiskEncryptionSettings `json:"encryptionSettings,omitempty"`

    // The source user image virtual hard disk. The virtual hard disk will be copied before using it to attach to the virtual machine. If SourceImage is provided, the destination virtual hard disk must not exist.
    Image *VirtualHardDisk `json:"image,omitempty"`

    // The managed disk parameters.
    ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"`

    // The disk name.
    Name string `json:"name,omitempty"`

    // The Operating System type.
    OsType string `json:"osType,omitempty"`

    // The virtual hard disk.
    Vhd *VirtualHardDisk `json:"vhd,omitempty"`
}

// Validate validates this o s disk
func (m *OSDisk) 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.validateEncryptionSettings(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.validateVhd(formats); err != nil {
        // prop
        res = append(res, err)
    }

    if len(res) > 0 {
        return errors.CompositeValidationError(res...)
    }
    return nil
}

func (m *OSDisk) 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 *OSDisk) validateCreateOption(formats strfmt.Registry) error {

    if err := m.CreateOption.Validate(formats); err != nil {
        return err
    }

    return nil
}

func (m *OSDisk) validateEncryptionSettings(formats strfmt.Registry) error {

    if swag.IsZero(m.EncryptionSettings) { // not required
        return nil
    }

    if m.EncryptionSettings != nil {

        if err := m.EncryptionSettings.Validate(formats); err != nil {
            return err
        }
    }

    return nil
}

func (m *OSDisk) 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 *OSDisk) 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 oSDiskTypeOsTypePropEnum []interface{}

func init() {
    var res []string
    if err := json.Unmarshal([]byte(`["Windows","Linux"]`), &res); err != nil {
        panic(err)
    }
    for _, v := range res {
        oSDiskTypeOsTypePropEnum = append(oSDiskTypeOsTypePropEnum, v)
    }
}

const (
    // OSDiskOsTypeWindows captures enum value "Windows"
    OSDiskOsTypeWindows string = "Windows"
    // OSDiskOsTypeLinux captures enum value "Linux"
    OSDiskOsTypeLinux string = "Linux"
)

// prop value enum
func (m *OSDisk) validateOsTypeEnum(path, location string, value string) error {
    if err := validate.Enum(path, location, value, oSDiskTypeOsTypePropEnum); err != nil {
        return err
    }
    return nil
}

func (m *OSDisk) 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 *OSDisk) validateVhd(formats strfmt.Registry) error {

    if swag.IsZero(m.Vhd) { // not required
        return nil
    }

    if m.Vhd != nil {

        if err := m.Vhd.Validate(formats); err != nil {
            return err
        }
    }

    return nil
}