func (d *Driver) SetConfigFromFlags(fl drivers.DriverOptions) error {
	// Initialize driver context for machine
	d.ctx = &azureutil.DeploymentContext{}

	// Required string flags
	flags := []struct {
		target *string
		flag   string
	}{
		{&d.BaseDriver.SSHUser, flAzureSSHUser},
		{&d.SubscriptionID, flAzureSubscriptionID},
		{&d.ResourceGroup, flAzureResourceGroup},
		{&d.Location, flAzureLocation},
		{&d.Size, flAzureSize},
		{&d.Image, flAzureImage},
		{&d.VirtualNetwork, flAzureVNet},
		{&d.SubnetName, flAzureSubnet},
		{&d.SubnetPrefix, flAzureSubnetPrefix},
		{&d.AvailabilitySet, flAzureAvailabilitySet},
		{&d.StorageType, flAzureStorageType},
	}
	for _, f := range flags {
		*f.target = fl.String(f.flag)
		if *f.target == "" {
			return requiredOptionError(f.flag)
		}
	}

	// Optional flags or Flags of other types
	d.Environment = fl.String(flAzureEnvironment)
	d.OpenPorts = fl.StringSlice(flAzurePorts)
	d.PrivateIPAddr = fl.String(flAzurePrivateIPAddr)
	d.UsePrivateIP = fl.Bool(flAzureUsePrivateIP)
	d.NoPublicIP = fl.Bool(flAzureNoPublicIP)
	d.StaticPublicIP = fl.Bool(flAzureStaticPublicIP)
	d.DockerPort = fl.Int(flAzureDockerPort)
	d.DNSLabel = fl.String(flAzureDNSLabel)
	d.CustomDataFile = fl.String(flAzureCustomData)

	d.ClientID = fl.String(flAzureClientID)
	d.ClientSecret = fl.String(flAzureClientSecret)

	// Set flags on the BaseDriver
	d.BaseDriver.SSHPort = sshPort
	d.SetSwarmConfigFromFlags(fl)

	log.Debug("Set configuration from flags.")
	return nil
}
func (d *Driver) SetConfigFromFlags(fl drivers.DriverOptions) error {
	
	d.ctx = &azureutil.DeploymentContext{}

	
	flags := []struct {
		target *string
		flag   string
	}{
		{&d.BaseDriver.SSHUser, flAzureSSHUser},
		{&d.SubscriptionID, flAzureSubscriptionID},
		{&d.ResourceGroup, flAzureResourceGroup},
		{&d.Location, flAzureLocation},
		{&d.Size, flAzureSize},
		{&d.Image, flAzureImage},
		{&d.VirtualNetwork, flAzureVNet},
		{&d.SubnetName, flAzureSubnet},
		{&d.SubnetPrefix, flAzureSubnetPrefix},
		{&d.AvailabilitySet, flAzureAvailabilitySet},
		{&d.StorageType, flAzureStorageType},
	}
	for _, f := range flags {
		*f.target = fl.String(f.flag)
		if *f.target == "" {
			return requiredOptionError(f.flag)
		}
	}

	
	d.Environment = fl.String(flAzureEnvironment)
	d.OpenPorts = fl.StringSlice(flAzurePorts)
	d.PrivateIPAddr = fl.String(flAzurePrivateIPAddr)
	d.UsePrivateIP = fl.Bool(flAzureUsePrivateIP)
	d.NoPublicIP = fl.Bool(flAzureNoPublicIP)
	d.StaticPublicIP = fl.Bool(flAzureStaticPublicIP)
	d.DockerPort = fl.Int(flAzureDockerPort)
	d.DNSLabel = fl.String(flAzureDNSLabel)
	d.CustomDataFile = fl.String(flAzureCustomData)

	d.ClientID = fl.String(flAzureClientID)
	d.ClientSecret = fl.String(flAzureClientSecret)

	
	d.BaseDriver.SSHPort = sshPort
	d.SetSwarmConfigFromFlags(fl)

	log.Debug("Set configuration from flags.")
	return nil
}
func ( d * Driver ) SetConfigFromFlags ( fl drivers . DriverOptions ) error { // Initialize driver context for machine d . ctx = & azureutil . DeploymentContext { } // Required string flags flags := [ ] struct { target * string flag string } { { & d . BaseDriver . SSHUser , flAzureSSHUser } , { & d . SubscriptionID , flAzureSubscriptionID } , { & d . ResourceGroup , flAzureResourceGroup } , { & d . Location , flAzureLocation } , { & d . Size , flAzureSize } , { & d . Image , flAzureImage } , { & d . VirtualNetwork , flAzureVNet } , { & d . SubnetName , flAzureSubnet } , { & d . SubnetPrefix , flAzureSubnetPrefix } , { & d . AvailabilitySet , flAzureAvailabilitySet } , { & d . StorageType , flAzureStorageType } , } for _ , f := range flags { * f . target = fl . String ( f . flag ) if * f . target == " " { return requiredOptionError ( f . flag ) } } // Optional flags or Flags of other types d . Environment = fl . String ( flAzureEnvironment ) d . OpenPorts = fl . StringSlice ( flAzurePorts ) d . PrivateIPAddr = fl . String ( flAzurePrivateIPAddr ) d . UsePrivateIP = fl . Bool ( flAzureUsePrivateIP ) d . NoPublicIP = fl . Bool ( flAzureNoPublicIP ) d . StaticPublicIP = fl . Bool ( flAzureStaticPublicIP ) d . DockerPort = fl . Int ( flAzureDockerPort ) d . DNSLabel = fl . String ( flAzureDNSLabel ) d . CustomDataFile = fl . String ( flAzureCustomData ) d . ClientID = fl . String ( flAzureClientID ) d . ClientSecret = fl . String ( flAzureClientSecret ) // Set flags on the BaseDriver d . BaseDriver . SSHPort = sshPort d . SetSwarmConfigFromFlags ( fl ) log . Debug ( " " ) return nil }
// SetConfigFromFlags initializes driver values from the command line values
// and checks if the arguments have values.
SetConfigFromFlags initializes driver values from the command line values and checks if the arguments have values .