jkawamoto/roadie

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

Summary

Maintainability
A
2 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 (
    strfmt "github.com/go-openapi/strfmt"
    "github.com/go-openapi/swag"

    "github.com/go-openapi/errors"
    "github.com/go-openapi/validate"
)

// VirtualMachineScaleSetDataDisk Describes a virtual machine scale set data disk.
// swagger:model VirtualMachineScaleSetDataDisk
type VirtualMachineScaleSetDataDisk 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 existing OS and Data disks.
    DiskSizeGB int32 `json:"diskSizeGB,omitempty"`

    // The logical unit number.
    // Required: true
    Lun *int32 `json:"lun"`

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

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

// Validate validates this virtual machine scale set data disk
func (m *VirtualMachineScaleSetDataDisk) 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.validateLun(formats); err != nil {
        // prop
        res = append(res, err)
    }

    if err := m.validateManagedDisk(formats); err != nil {
        // prop
        res = append(res, err)
    }

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

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

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

    return nil
}

func (m *VirtualMachineScaleSetDataDisk) validateLun(formats strfmt.Registry) error {

    if err := validate.Required("lun", "body", m.Lun); err != nil {
        return err
    }

    return nil
}

func (m *VirtualMachineScaleSetDataDisk) 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
}