github.com/cilium/cilium@v1.16.2/operator/cmd/provider_azure_flags.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 //go:build ipam_provider_azure 5 6 package cmd 7 8 import ( 9 "github.com/spf13/cobra" 10 "github.com/spf13/viper" 11 12 operatorOption "github.com/cilium/cilium/operator/option" 13 "github.com/cilium/cilium/pkg/option" 14 ) 15 16 func init() { 17 FlagsHooks = append(FlagsHooks, &azureFlagsHooks{}) 18 } 19 20 type azureFlagsHooks struct{} 21 22 func (hook *azureFlagsHooks) RegisterProviderFlag(cmd *cobra.Command, vp *viper.Viper) { 23 flags := cmd.Flags() 24 25 flags.String(operatorOption.AzureSubscriptionID, "", "Subscription ID to access Azure API") 26 option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureSubscriptionID, "AZURE_SUBSCRIPTION_ID") 27 28 flags.String(operatorOption.AzureResourceGroup, "", "Resource group to use for Azure IPAM") 29 option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureResourceGroup, "AZURE_RESOURCE_GROUP") 30 31 flags.String(operatorOption.AzureUserAssignedIdentityID, "", "ID of the user assigned identity used to auth with the Azure API") 32 option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureUserAssignedIdentityID, "AZURE_USER_ASSIGNED_IDENTITY_ID") 33 34 flags.Bool(operatorOption.AzureUsePrimaryAddress, false, "Use Azure IP address from interface's primary IPConfigurations") 35 option.BindEnvWithLegacyEnvFallback(vp, operatorOption.AzureUsePrimaryAddress, "AZURE_USE_PRIMARY_ADDRESS") 36 37 vp.BindPFlags(flags) 38 }