in pkg/config/config.go [40:96]
func (cfg *CloudConfig) DefaultAndValidate() error {
cfg.trimSpace()
if cfg.Cloud == "" {
return fmt.Errorf("cloud is empty")
}
if cfg.Location == "" {
return fmt.Errorf("location is empty")
}
if cfg.SubscriptionID == "" {
return fmt.Errorf("subscription ID is empty")
}
if !cfg.UseManagedIdentityExtension {
if cfg.UserAssignedIdentityID != "" {
return fmt.Errorf("useManagedIdentityExtension needs to be true when userAssignedIdentityID is provided")
}
if cfg.AADClientID == "" || cfg.AADClientSecret == "" {
return fmt.Errorf("AAD client ID or AAD client secret is empty")
}
}
if cfg.ResourceGroup == "" {
return fmt.Errorf("resource group is empty")
}
if cfg.VnetName == "" {
return fmt.Errorf("virtual network name is empty")
}
if cfg.SubnetName == "" {
return fmt.Errorf("virtual network subnet name is empty")
}
// default values
if cfg.UserAgent == "" {
cfg.UserAgent = consts.DefaultUserAgent
}
if cfg.LoadBalancerResourceGroup == "" {
cfg.LoadBalancerResourceGroup = cfg.ResourceGroup
}
if cfg.VnetResourceGroup == "" {
cfg.VnetResourceGroup = cfg.ResourceGroup
}
if cfg.RateLimitConfig == nil {
cfg.RateLimitConfig = &RateLimitConfig{
CloudProviderRateLimit: false,
}
}
return nil
}