jkawamoto/roadie

View on GitHub
cloud/azure/compute/models/virtual_machine_scale_set_extension_profile.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 (
    strfmt "github.com/go-openapi/strfmt"
    "github.com/go-openapi/swag"

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

// VirtualMachineScaleSetExtensionProfile Describes a virtual machine scale set extension profile.
// swagger:model VirtualMachineScaleSetExtensionProfile
type VirtualMachineScaleSetExtensionProfile struct {

    // The virtual machine scale set child extension resources.
    Extensions []*VirtualMachineScaleSetExtension `json:"extensions"`
}

// Validate validates this virtual machine scale set extension profile
func (m *VirtualMachineScaleSetExtensionProfile) Validate(formats strfmt.Registry) error {
    var res []error

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

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

func (m *VirtualMachineScaleSetExtensionProfile) validateExtensions(formats strfmt.Registry) error {

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

    for i := 0; i < len(m.Extensions); i++ {

        if swag.IsZero(m.Extensions[i]) { // not required
            continue
        }

        if m.Extensions[i] != nil {

            if err := m.Extensions[i].Validate(formats); err != nil {
                return err
            }
        }

    }

    return nil
}