in controllers/manager/gatewayvmconfiguration_controller.go [820:857]
func different(ipConfig1, ipConfig2 *compute.VirtualMachineScaleSetIPConfiguration) bool {
if ipConfig1.Properties == nil && ipConfig2.Properties == nil {
return false
}
if ipConfig1.Properties == nil || ipConfig2.Properties == nil {
return true
}
prop1, prop2 := ipConfig1.Properties, ipConfig2.Properties
if to.Val(prop1.Primary) != to.Val(prop2.Primary) ||
to.Val(prop1.PrivateIPAddressVersion) != to.Val(prop2.PrivateIPAddressVersion) {
return true
}
if (prop1.Subnet != nil) != (prop2.Subnet != nil) {
return true
} else if prop1.Subnet != nil && prop2.Subnet != nil && !strings.EqualFold(to.Val(prop1.Subnet.ID), to.Val(prop2.Subnet.ID)) {
return true
}
pip1, pip2 := prop1.PublicIPAddressConfiguration, prop2.PublicIPAddressConfiguration
if (pip1 == nil) != (pip2 == nil) {
return true
} else if pip1 != nil && pip2 != nil {
if to.Val(pip1.Name) != to.Val(pip2.Name) {
return true
} else if (pip1.Properties != nil) != (pip2.Properties != nil) {
return true
} else if pip1.Properties != nil && pip2.Properties != nil {
prefix1, prefix2 := pip1.Properties.PublicIPPrefix, pip2.Properties.PublicIPPrefix
if (prefix1 != nil) != (prefix2 != nil) {
return true
} else if prefix1 != nil && prefix2 != nil && !strings.EqualFold(to.Val(prefix1.ID), to.Val(prefix2.ID)) {
return true
}
}
}
return false
}