cloud/azure/compute/models/virtual_machine_scale_set_ip_configuration_properties.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 (
strfmt "github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/errors"
"github.com/go-openapi/validate"
)
// VirtualMachineScaleSetIPConfigurationProperties Describes a virtual machine scale set network profile's IP configuration properties.
// swagger:model VirtualMachineScaleSetIPConfigurationProperties
type VirtualMachineScaleSetIPConfigurationProperties struct {
// The application gateway backend address pools.
ApplicationGatewayBackendAddressPools []*SubResource `json:"applicationGatewayBackendAddressPools"`
// The load balancer backend address pools.
LoadBalancerBackendAddressPools []*SubResource `json:"loadBalancerBackendAddressPools"`
// The load balancer inbound nat pools.
LoadBalancerInboundNatPools []*SubResource `json:"loadBalancerInboundNatPools"`
// The subnet.
// Required: true
Subnet *APIEntityReference `json:"subnet"`
}
// Validate validates this virtual machine scale set IP configuration properties
func (m *VirtualMachineScaleSetIPConfigurationProperties) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateApplicationGatewayBackendAddressPools(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateLoadBalancerBackendAddressPools(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateLoadBalancerInboundNatPools(formats); err != nil {
// prop
res = append(res, err)
}
if err := m.validateSubnet(formats); err != nil {
// prop
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *VirtualMachineScaleSetIPConfigurationProperties) validateApplicationGatewayBackendAddressPools(formats strfmt.Registry) error {
if swag.IsZero(m.ApplicationGatewayBackendAddressPools) { // not required
return nil
}
for i := 0; i < len(m.ApplicationGatewayBackendAddressPools); i++ {
if swag.IsZero(m.ApplicationGatewayBackendAddressPools[i]) { // not required
continue
}
if m.ApplicationGatewayBackendAddressPools[i] != nil {
if err := m.ApplicationGatewayBackendAddressPools[i].Validate(formats); err != nil {
return err
}
}
}
return nil
}
func (m *VirtualMachineScaleSetIPConfigurationProperties) validateLoadBalancerBackendAddressPools(formats strfmt.Registry) error {
if swag.IsZero(m.LoadBalancerBackendAddressPools) { // not required
return nil
}
for i := 0; i < len(m.LoadBalancerBackendAddressPools); i++ {
if swag.IsZero(m.LoadBalancerBackendAddressPools[i]) { // not required
continue
}
if m.LoadBalancerBackendAddressPools[i] != nil {
if err := m.LoadBalancerBackendAddressPools[i].Validate(formats); err != nil {
return err
}
}
}
return nil
}
func (m *VirtualMachineScaleSetIPConfigurationProperties) validateLoadBalancerInboundNatPools(formats strfmt.Registry) error {
if swag.IsZero(m.LoadBalancerInboundNatPools) { // not required
return nil
}
for i := 0; i < len(m.LoadBalancerInboundNatPools); i++ {
if swag.IsZero(m.LoadBalancerInboundNatPools[i]) { // not required
continue
}
if m.LoadBalancerInboundNatPools[i] != nil {
if err := m.LoadBalancerInboundNatPools[i].Validate(formats); err != nil {
return err
}
}
}
return nil
}
func (m *VirtualMachineScaleSetIPConfigurationProperties) validateSubnet(formats strfmt.Registry) error {
if err := validate.Required("subnet", "body", m.Subnet); err != nil {
return err
}
if m.Subnet != nil {
if err := m.Subnet.Validate(formats); err != nil {
return err
}
}
return nil
}