in pkg/utils/cloudconfig/azure/config.go [85:138]
func (cfg *CloudConfig) validate() error {
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.ResourceGroup == "" {
return fmt.Errorf("resource group is empty")
}
if cfg.VnetResourceGroup == "" {
cfg.VnetResourceGroup = cfg.ResourceGroup
}
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 not specified, apply default rate limit config
if cfg.Config == nil {
cfg.Config = &ratelimit.Config{CloudProviderRateLimit: true}
}
if cfg.CloudProviderRateLimit {
// Assign read rate limit defaults if no configuration was passed in.
if cfg.CloudProviderRateLimitQPS == 0 {
cfg.CloudProviderRateLimitQPS = consts.RateLimitQPSDefault
}
if cfg.CloudProviderRateLimitBucket == 0 {
cfg.CloudProviderRateLimitBucket = consts.RateLimitBucketDefault
}
// Assign write rate limit defaults if no configuration was passed in.
if cfg.CloudProviderRateLimitQPSWrite == 0 {
cfg.CloudProviderRateLimitQPSWrite = cfg.CloudProviderRateLimitQPS
}
if cfg.CloudProviderRateLimitBucketWrite == 0 {
cfg.CloudProviderRateLimitBucketWrite = cfg.CloudProviderRateLimitBucket
}
}
return nil
}