func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.Boot2DockerURL = flags.String("hyperv-boot2docker-url") d.VSwitch = flags.String("hyperv-virtual-switch") d.DiskSize = flags.Int("hyperv-disk-size") d.MemSize = flags.Int("hyperv-memory") d.CPU = flags.Int("hyperv-cpu-count") d.SSHUser = "******" d.SetSwarmConfigFromFlags(flags) return nil }
// SetConfigFromFlags configures the driver with the object that was returned // by RegisterCreateFlags func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error { d.CPU = opts.Int("parallels-cpu-count") d.Memory = opts.Int("parallels-memory") d.DiskSize = opts.Int("parallels-disk-size") d.Boot2DockerURL = opts.String("parallels-boot2docker-url") d.SetSwarmConfigFromFlags(opts) d.SSHUser = defaultSSHUser d.SSHPort = defaultSSHPort d.NoShare = opts.Bool("parallels-no-share") return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.EnginePort = flags.Int("generic-engine-port") d.IPAddress = flags.String("generic-ip-address") d.SSHUser = flags.String("generic-ssh-user") d.SSHKey = flags.String("generic-ssh-key") d.SSHPort = flags.Int("generic-ssh-port") if d.IPAddress == "" { return errors.New("generic driver requires the --generic-ip-address option") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { if drivers.EngineInstallURLFlagSet(flags) { return errors.New("--engine-install-url cannot be used with the hyperv driver, use --hyperv-boot2docker-url instead") } d.Boot2DockerURL = flags.String("hyperv-boot2docker-url") d.VSwitch = flags.String("hyperv-virtual-switch") d.DiskSize = flags.Int("hyperv-disk-size") d.MemSize = flags.Int("hyperv-memory") d.CPU = flags.Int("hyperv-cpu-count") d.SSHUser = "******" d.SetSwarmConfigFromFlags(flags) return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { url := flags.String("url") if url == "" { return fmt.Errorf("--url option is required") } d.URL = url u, err := neturl.Parse(url) if err != nil { return err } d.IPAddress = u.Host return nil }
func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error { spew.Dump(opts) d.DindImage = opts.String("dind-image") d.DockerHost = opts.String("dind-host") d.CertPath = opts.String("dind-cert-path") return nil }
// SetConfigFromFlags configures the driver with the object that was returned // by RegisterCreateFlags func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.CloudApiURL = flags.String("triton-url") d.Account = flags.String("triton-account") d.DataCenter = flags.String("triton-datacenter") d.PrivateKey = flags.String("triton-key") d.SkipTlsVerify = flags.Bool("triton-skip-tls-verify") if d.CloudApiURL == "" { if d.DataCenter == "" { return fmt.Errorf("You must specify a cloudapi url or datacenter name") } // Shortend format for the cloudapi name, e.g. "us-east-1" d.CloudApiURL = fmt.Sprintf("https://%s.%s", d.DataCenter, TritonDefaultCloudapiDomain) } if d.Account == "" { return fmt.Errorf("You must specify the account name using --triton-account") } if d.PrivateKey == "" { homedir := mcnutils.GetHomeDir() if homedir == "" { return fmt.Errorf("You must specify the SSH key using --triton-key") } d.PrivateKey = path.Join(homedir, ".ssh", "id_rsa") } _, err := os.Stat(d.PrivateKey) if err != nil { return fmt.Errorf("Unable to access SSH key file %s", d.PrivateKey) } log.Debugf("CloudApiURL: %s", d.CloudApiURL) log.Debugf("Account: %s", d.Account) log.Debugf("DataCenter: %s", d.DataCenter) log.Debugf("PrivateKey: %s", d.PrivateKey) log.Debugf("SkipTlsVerify: %d", d.SkipTlsVerify) return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.UserID = flags.String("scaleway-user-id") d.Token = flags.String("scaleway-token") d.Organization = flags.String("scaleway-organization") d.Image = flags.String("scaleway-image") d.Volumes = flags.String("scaleway-volumes") d.SSHUser = "******" d.SSHPort = 22 if d.UserID == "" { return fmt.Errorf("scaleway driver requires the --scaleway-userid option") } if d.Token == "" { return fmt.Errorf("scaleway driver requires the --scaleway-token option") } if d.Organization == "" { return fmt.Errorf("scaleway driver requires the --scaleway-organization option") } if d.Image == "" { return fmt.Errorf("scaleway driver requires the --scaleway-image option") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.IPAddress = flags.String("hypriot-ip-address") d.SSHUser = flags.String("hypriot-ssh-user") d.SSHKey = flags.String("hypriot-ssh-key") d.SSHPort = flags.Int("hypriot-ssh-port") if d.IPAddress == "" { return fmt.Errorf("hypriot driver requires the --hypriot-ip-address option") } if d.SSHKey == "" { return fmt.Errorf("hypriot driver requires the --hypriot-ssh-key option") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.Memory = flags.Int("vmwarefusion-memory-size") d.CPU = flags.Int("vmwarefusion-cpu-count") d.DiskSize = flags.Int("vmwarefusion-disk-size") d.Boot2DockerURL = flags.String("vmwarefusion-boot2docker-url") d.ConfigDriveURL = flags.String("vmwarefusion-configdrive-url") d.ISO = d.ResolveStorePath(isoFilename) d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = flags.String("vmwarefusion-ssh-user") d.SSHPassword = flags.String("vmwarefusion-ssh-password") d.SSHPort = 22 // We support a maximum of 16 cpu to be consistent with Virtual Hardware 10 // specs. if d.CPU < 1 { d.CPU = int(runtime.NumCPU()) } if d.CPU > 16 { d.CPU = 16 } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.CPU = flags.Int("virtualbox-cpu-count") d.Memory = flags.Int("virtualbox-memory") d.DiskSize = flags.Int("virtualbox-disk-size") d.Boot2DockerURL = flags.String("virtualbox-boot2docker-url") d.SetSwarmConfigFromFlags(flags) d.SSHUser = "******" d.Boot2DockerImportVM = flags.String("virtualbox-import-boot2docker-vm") d.HostDNSResolver = flags.Bool("virtualbox-host-dns-resolver") d.HostOnlyCIDR = flags.String("virtualbox-hostonly-cidr") d.HostOnlyNicType = flags.String("virtualbox-hostonly-nictype") d.HostOnlyPromiscMode = flags.String("virtualbox-hostonly-nicpromisc") d.NoShare = flags.Bool("virtualbox-no-share") d.DNSProxy = flags.Bool("virtualbox-dns-proxy") d.NoVTXCheck = flags.Bool("virtualbox-no-vtx-check") return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.Memory = flags.Int("vmwareappcatalyst-memory-size") d.CPU = flags.Int("vmwareappcatalyst-cpu-count") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = flags.String("vmwareappcatalyst-ssh-user") d.SSHPort = 22 d.VMLocation = flags.String("vmwareappcatalyst-vm-location") d.APIPort = flags.Int("vmwareappcatalyst-api-port") // We support a maximum of 16 cpu. if d.CPU < 1 { d.CPU = int(runtime.NumCPU()) } if d.CPU > 16 { d.CPU = 16 } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { if drivers.EngineInstallURLFlagSet(flags) { return errors.New("--engine-install-url cannot be used with the vmwarevsphere driver, use --vmwarevsphere-boot2docker-url instead") } d.SSHUser = "******" d.SSHPort = 22 d.CPU = flags.Int("vmwarevsphere-cpu-count") d.Memory = flags.Int("vmwarevsphere-memory-size") d.DiskSize = flags.Int("vmwarevsphere-disk-size") d.Boot2DockerURL = flags.String("vmwarevsphere-boot2docker-url") d.IP = flags.String("vmwarevsphere-vcenter") d.Port = flags.Int("vmwarevsphere-vcenter-port") d.Username = flags.String("vmwarevsphere-username") d.Password = flags.String("vmwarevsphere-password") d.Network = flags.String("vmwarevsphere-network") d.Datastore = flags.String("vmwarevsphere-datastore") d.Datacenter = flags.String("vmwarevsphere-datacenter") d.Pool = flags.String("vmwarevsphere-pool") d.HostSystem = flags.String("vmwarevsphere-hostsystem") d.SetSwarmConfigFromFlags(flags) d.ISO = d.ResolveStorePath(isoFilename) return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.Boot2DockerURL = flags.String("hyperv-boot2docker-url") d.VSwitch = flags.String("hyperv-virtual-switch") d.DiskSize = flags.Int("hyperv-disk-size") d.MemSize = flags.Int("hyperv-memory") d.CPU = flags.Int("hyperv-cpu-count") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = "******" return nil }
// SetConfigFromFlags - gets the mcnflag configuration flags func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { log.Debug("SetConfigFromFlags...") d.ClientICSP = d.ClientICSP.NewICSPClient(flags.String("oneview-icsp-user"), flags.String("oneview-icsp-password"), flags.String("oneview-icsp-domain"), flags.String("oneview-icsp-endpoint"), flags.Bool("oneview-sslverify"), 1) d.ClientOV = d.ClientOV.NewOVClient(flags.String("oneview-ov-user"), flags.String("oneview-ov-password"), flags.String("oneview-ov-domain"), flags.String("oneview-ov-endpoint"), flags.Bool("oneview-sslverify"), 1) d.ClientICSP.RefreshVersion() d.ClientOV.RefreshVersion() d.IloUser = flags.String("oneview-ilo-user") d.IloPassword = flags.String("oneview-ilo-password") d.IloPort = flags.Int("oneview-ilo-port") d.PublicSlotID = flags.Int("oneview-public-slotid") d.PublicConnectionName = flags.String("oneview-public-connection-name") d.SSHUser = flags.String("oneview-ssh-user") d.SSHPort = flags.Int("oneview-ssh-port") d.ServerTemplate = flags.String("oneview-server-template") d.OSBuildPlan = flags.String("oneview-os-plan") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") // TODO : we should verify settings for each client // check for the ov endpoint if d.ClientOV.Endpoint == "" { return ErrDriverMissingEndPointOptionOV } // check for the icsp endpoint if d.ClientICSP.Endpoint == "" { return ErrDriverMissingEndPointOptionICSP } // check for the template name if d.ServerTemplate == "" { return ErrDriverMissingTemplateOption } if d.OSBuildPlan == "" { return ErrDriverMissingBuildPlanOption } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { if drivers.EngineInstallURLFlagSet(flags) { return errors.New("--engine-install-url cannot be used with the vmwarefusion driver, use --vmwarefusion-boot2docker-url instead") } d.Memory = flags.Int("vmwarefusion-memory-size") d.CPU = flags.Int("vmwarefusion-cpu-count") d.DiskSize = flags.Int("vmwarefusion-disk-size") d.Boot2DockerURL = flags.String("vmwarefusion-boot2docker-url") d.ConfigDriveURL = flags.String("vmwarefusion-configdrive-url") d.ISO = d.ResolveStorePath(isoFilename) d.ConfigDriveISO = d.ResolveStorePath(isoConfigDrive) d.SetSwarmConfigFromFlags(flags) d.SSHUser = flags.String("vmwarefusion-ssh-user") d.SSHPassword = flags.String("vmwarefusion-ssh-password") d.SSHPort = 22 d.NoShare = flags.Bool("vmwarefusion-no-share") // We support a maximum of 16 cpu to be consistent with Virtual Hardware 10 // specs. if d.CPU < 1 { d.CPU = int(runtime.NumCPU()) } if d.CPU > 16 { d.CPU = 16 } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.AuthUrl = flags.String("openstack-auth-url") d.ActiveTimeout = flags.Int("openstack-active-timeout") d.Insecure = flags.Bool("openstack-insecure") d.DomainID = flags.String("openstack-domain-id") d.DomainName = flags.String("openstack-domain-name") d.Username = flags.String("openstack-username") d.Password = flags.String("openstack-password") d.TenantName = flags.String("openstack-tenant-name") d.TenantId = flags.String("openstack-tenant-id") d.Region = flags.String("openstack-region") d.AvailabilityZone = flags.String("openstack-availability-zone") d.EndpointType = flags.String("openstack-endpoint-type") d.FlavorId = flags.String("openstack-flavor-id") d.FlavorName = flags.String("openstack-flavor-name") d.ImageId = flags.String("openstack-image-id") d.ImageName = flags.String("openstack-image-name") d.NetworkId = flags.String("openstack-net-id") d.NetworkName = flags.String("openstack-net-name") if flags.String("openstack-sec-groups") != "" { d.SecurityGroups = strings.Split(flags.String("openstack-sec-groups"), ",") } d.FloatingIpPool = flags.String("openstack-floatingip-pool") d.IpVersion = flags.Int("openstack-ip-version") d.SSHUser = flags.String("openstack-ssh-user") d.SSHPort = flags.Int("openstack-ssh-port") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") return d.checkConfig() }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.APIKey = flags.String("vultr-api-key") d.OSID = flags.Int("vultr-os-id") d.RegionID = flags.Int("vultr-region-id") d.PlanID = flags.Int("vultr-plan-id") d.ScriptID = flags.Int("vultr-pxe-script") d.IPv6 = flags.Bool("vultr-ipv6") d.PrivateNetworking = flags.Bool("vultr-private-networking") d.Backups = flags.Bool("vultr-backups") d.UserDataFile = flags.String("vultr-userdata") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = flags.String("vultr-ssh-user") d.SSHPort = 22 if d.APIKey == "" { return fmt.Errorf("Vultr driver requires the --vultr-api-key option") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.AccessToken = flags.String("digitalocean-access-token") d.Image = flags.String("digitalocean-image") d.Region = flags.String("digitalocean-region") d.Size = flags.String("digitalocean-size") d.IPv6 = flags.Bool("digitalocean-ipv6") d.PrivateNetworking = flags.Bool("digitalocean-private-networking") d.Backups = flags.Bool("digitalocean-backups") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = flags.String("digitalocean-ssh-user") d.SSHPort = 22 if d.AccessToken == "" { return fmt.Errorf("digitalocean driver requires the --digitalocean-access-token option") } return nil }
// SetConfigFromFlags initializes the driver based on the command line flags. func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.Project = flags.String("google-project") if d.Project == "" { return fmt.Errorf("Please specify the Google Cloud Project name using the option --google-project.") } d.Zone = flags.String("google-zone") d.MachineType = flags.String("google-machine-type") d.MachineImage = flags.String("google-machine-image") d.DiskSize = flags.Int("google-disk-size") d.DiskType = flags.String("google-disk-type") d.Address = flags.String("google-address") d.Preemptible = flags.Bool("google-preemptible") d.UseInternalIP = flags.Bool("google-use-internal-ip") d.Scopes = flags.String("google-scopes") d.Tags = flags.String("google-tags") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = flags.String("google-username") d.SSHPort = 22 return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.SSHUser = "******" d.SSHPort = 22 d.CPU = flags.Int("vmwarevsphere-cpu-count") d.Memory = flags.Int("vmwarevsphere-memory-size") d.DiskSize = flags.Int("vmwarevsphere-disk-size") d.Boot2DockerURL = flags.String("vmwarevsphere-boot2docker-url") d.IP = flags.String("vmwarevsphere-vcenter") d.Port = flags.Int("vmwarevsphere-vcenter-port") d.Username = flags.String("vmwarevsphere-username") d.Password = flags.String("vmwarevsphere-password") d.Network = flags.String("vmwarevsphere-network") d.Datastore = flags.String("vmwarevsphere-datastore") d.Datacenter = flags.String("vmwarevsphere-datacenter") d.Pool = flags.String("vmwarevsphere-pool") d.HostSystem = flags.String("vmwarevsphere-hostsystem") d.SetSwarmConfigFromFlags(flags) d.ISO = d.ResolveStorePath(isoFilename) return nil }
// SetConfigFromFlags initializes driver values from the command line values // and checks if the arguments have values. 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.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(flags drivers.DriverOptions) error { d.URL = flags.String("exoscale-url") d.APIKey = flags.String("exoscale-api-key") d.APISecretKey = flags.String("exoscale-api-secret-key") d.InstanceProfile = flags.String("exoscale-instance-profile") d.DiskSize = flags.Int("exoscale-disk-size") d.Image = flags.String("exoscale-image") securityGroups := flags.StringSlice("exoscale-security-group") if len(securityGroups) == 0 { securityGroups = []string{"docker-machine"} } d.SecurityGroup = strings.Join(securityGroups, ",") d.AvailabilityZone = flags.String("exoscale-availability-zone") d.SSHUser = flags.String("exoscale-ssh-user") d.UserDataFile = flags.String("exoscale-userdata") d.SetSwarmConfigFromFlags(flags) if d.URL == "" { d.URL = "https://api.exoscale.ch/compute" } if d.APIKey == "" || d.APISecretKey == "" { return fmt.Errorf("Please specify an API key (--exoscale-api-key) and an API secret key (--exoscale-api-secret-key).") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.AccessKeyID = flags.String("access-key-id") d.AccessKeySecret = flags.String("access-key-secret") d.RegionId = flags.String("region-id") d.ZoneId = flags.String("zone-id") d.ImageId = flags.String("image-id") d.InstanceType = flags.String("instance-type") d.SecurityGroupId = flags.String("security-group-id") d.InternetChargeType = flags.String("internet-charge-type") d.Password = flags.String("root-password") d.IoOptimized = flags.String("io-optimized") d.VSwitchId = flags.String("vswitch-id") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") return d.checkConfig() }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.CPU = flags.Int("virtualbox-cpu-count") d.Memory = flags.Int("virtualbox-memory") d.DiskSize = flags.Int("virtualbox-disk-size") d.Boot2DockerURL = flags.String("virtualbox-boot2docker-url") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.SSHUser = "******" d.Boot2DockerImportVM = flags.String("virtualbox-import-boot2docker-vm") d.HostOnlyCIDR = flags.String("virtualbox-hostonly-cidr") d.HostOnlyNicType = flags.String("virtualbox-hostonly-nictype") d.HostOnlyPromiscMode = flags.String("virtualbox-hostonly-nicpromisc") d.NoShare = flags.Bool("virtualbox-no-share") return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.UserName = flags.String("vmwarevcloudair-username") d.UserPassword = flags.String("vmwarevcloudair-password") d.VDCID = flags.String("vmwarevcloudair-vdcid") d.PublicIP = flags.String("vmwarevcloudair-publicip") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") // Check for required Params if d.UserName == "" || d.UserPassword == "" || d.VDCID == "" || d.PublicIP == "" { return fmt.Errorf("Please specify vcloudair mandatory params using options: -vmwarevcloudair-username -vmwarevcloudair-password -vmwarevcloudair-vdcid and -vmwarevcloudair-publicip") } // If ComputeID is not set we're using a VPC, hence setting ComputeID = VDCID if flags.String("vmwarevcloudair-computeid") == "" { d.ComputeID = flags.String("vmwarevcloudair-vdcid") } else { d.ComputeID = flags.String("vmwarevcloudair-computeid") } // If the Org VDC Network is empty, set it to the default routed network. if flags.String("vmwarevcloudair-orgvdcnetwork") == "" { d.OrgVDCNet = flags.String("vmwarevcloudair-vdcid") + "-default-routed" } else { d.OrgVDCNet = flags.String("vmwarevcloudair-orgvdcnetwork") } // If the Edge Gateway is empty, just set it to the default edge gateway. if flags.String("vmwarevcloudair-edgegateway") == "" { d.EdgeGateway = flags.String("vmwarevcloudair-vdcid") } else { d.EdgeGateway = flags.String("vmwarevcloudair-edgegateway") } d.Catalog = flags.String("vmwarevcloudair-catalog") d.CatalogItem = flags.String("vmwarevcloudair-catalogitem") d.DockerPort = flags.Int("vmwarevcloudair-docker-port") d.SSHUser = "******" d.SSHPort = flags.Int("vmwarevcloudair-ssh-port") d.Provision = flags.Bool("vmwarevcloudair-provision") d.CPUCount = flags.Int("vmwarevcloudair-cpu-count") d.MemorySize = flags.Int("vmwarevcloudair-memory-size") return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.URL = flags.String("exoscale-endpoint") d.ApiKey = flags.String("exoscale-api-key") d.ApiSecretKey = flags.String("exoscale-api-secret-key") d.InstanceProfile = flags.String("exoscale-instance-profile") d.DiskSize = flags.Int("exoscale-disk-size") d.Image = flags.String("exoscale-image") securityGroups := flags.StringSlice("exoscale-security-group") if len(securityGroups) == 0 { securityGroups = []string{"docker-machine"} } d.SecurityGroup = strings.Join(securityGroups, ",") d.AvailabilityZone = flags.String("exoscale-availability-zone") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") if d.URL == "" { d.URL = "https://api.exoscale.ch/compute" } if d.ApiKey == "" || d.ApiSecretKey == "" { return fmt.Errorf("Please specify an API key (--exoscale-api-key) and an API secret key (--exoscale-api-secret-key).") } return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { d.SubscriptionID = flags.String("azure-subscription-id") cert := flags.String("azure-subscription-cert") publishSettings := flags.String("azure-publish-settings-file") image := flags.String("azure-image") username := flags.String("azure-username") if cert != "" { if _, err := os.Stat(cert); os.IsNotExist(err) { return err } d.SubscriptionCert = cert } if publishSettings != "" { if _, err := os.Stat(publishSettings); os.IsNotExist(err) { return err } d.PublishSettingsFilePath = publishSettings } if (d.SubscriptionID == "" || d.SubscriptionCert == "") && d.PublishSettingsFilePath == "" { return errors.New("Please specify azure subscription params using options: --azure-subscription-id and --azure-subscription-cert or --azure-publish-settings-file") } if image == "" { d.Image = "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB" } else { d.Image = image } d.Location = flags.String("azure-location") d.Size = flags.String("azure-size") if strings.ToLower(username) == "docker" { return errors.New("'docker' is not valid user name for docker host. Please specify another user name") } d.SSHUser = username d.UserPassword = flags.String("azure-password") d.DockerPort = flags.Int("azure-docker-port") d.DockerSwarmMasterPort = flags.Int("azure-docker-swarm-master-port") d.SSHPort = flags.Int("azure-ssh-port") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { log.Debugf("SetConfigFromFlags aclled") d.Memory = flags.Int("kvm-memory") d.DiskSize = flags.Int("kvm-disk-size") d.CPU = flags.Int("kvm-cpu-count") d.Network = flags.String("kvm-network") d.Boot2DockerURL = flags.String("kvm-boot2docker-url") d.SwarmMaster = flags.Bool("swarm-master") d.SwarmHost = flags.String("swarm-host") d.SwarmDiscovery = flags.String("swarm-discovery") d.ISO = d.ResolveStorePath(isoFilename) d.SSHUser = "******" d.SSHPort = 22 d.DiskPath = d.ResolveStorePath(fmt.Sprintf("%s.img", d.MachineName)) return nil }
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error { region, err := validateAwsRegion(flags.String("amazonec2-region")) if err != nil { return err } image := flags.String("amazonec2-ami") if len(image) == 0 { image = regionDetails[region].AmiId } d.AccessKey = flags.String("amazonec2-access-key") d.SecretKey = flags.String("amazonec2-secret-key") d.SessionToken = flags.String("amazonec2-session-token") d.Region = region d.AMI = image d.RequestSpotInstance = flags.Bool("amazonec2-request-spot-instance") d.SpotPrice = flags.String("amazonec2-spot-price") d.InstanceType = flags.String("amazonec2-instance-type") d.VpcId = flags.String("amazonec2-vpc-id") d.SubnetId = flags.String("amazonec2-subnet-id") d.SecurityGroupName = flags.String("amazonec2-security-group") d.Tags = flags.String("amazonec2-tags") zone := flags.String("amazonec2-zone") d.Zone = zone[:] d.DeviceName = flags.String("amazonec2-device-name") d.RootSize = int64(flags.Int("amazonec2-root-size")) d.VolumeType = flags.String("amazonec2-volume-type") d.IamInstanceProfile = flags.String("amazonec2-iam-instance-profile") d.SSHUser = flags.String("amazonec2-ssh-user") d.SSHPort = 22 d.PrivateIPOnly = flags.Bool("amazonec2-private-address-only") d.UsePrivateIP = flags.Bool("amazonec2-use-private-address") d.Monitoring = flags.Bool("amazonec2-monitoring") d.UseEbsOptimizedInstance = flags.Bool("amazonec2-use-ebs-optimized-instance") d.SSHPrivateKeyPath = flags.String("amazonec2-ssh-keypath") d.SetSwarmConfigFromFlags(flags) d.RetryCount = flags.Int("amazonec2-retries") if d.AccessKey == "" && d.SecretKey == "" { credentials, err := d.awsCredentials.NewSharedCredentials("", "").Get() if err != nil { log.Debug("Could not load credentials from ~/.aws/credentials") } else { log.Debug("Successfully loaded credentials from ~/.aws/credentials") d.AccessKey = credentials.AccessKeyID d.SecretKey = credentials.SecretAccessKey d.SessionToken = credentials.SessionToken } } if d.AccessKey == "" { return errorMissingAccessKeyOption } if d.SecretKey == "" { return errorMissingSecretKeyOption } if d.VpcId == "" { d.VpcId, err = d.getDefaultVPCId() if err != nil { log.Warnf("Couldn't determine your account Default VPC ID : %q", err) } } if d.SubnetId == "" && d.VpcId == "" { return errorNoVPCIdFound } if d.SubnetId != "" && d.VpcId != "" { subnetFilter := []*ec2.Filter{ { Name: aws.String("subnet-id"), Values: []*string{&d.SubnetId}, }, } subnets, err := d.getClient().DescribeSubnets(&ec2.DescribeSubnetsInput{ Filters: subnetFilter, }) if err != nil { return err } if *subnets.Subnets[0].VpcId != d.VpcId { return fmt.Errorf("SubnetId: %s does not belong to VpcId: %s", d.SubnetId, d.VpcId) } } if d.isSwarmMaster() { u, err := url.Parse(d.SwarmHost) if err != nil { return fmt.Errorf("error parsing swarm host: %s", err) } parts := strings.Split(u.Host, ":") port, err := strconv.Atoi(parts[1]) if err != nil { return err } swarmPort = port } return nil }