@@ -325,6 +325,8 @@ func (d *Driver) setConfigFromFlagsImpl(opts drivers.DriverOptions) error {
325325 return d .flagFailure ("--%v and --%v are mutually exclusive" , flagPrimary6 , flagDisablePublic6 )
326326 }
327327
328+ instrumented (d )
329+
328330 return nil
329331}
330332
@@ -438,7 +440,7 @@ func (d *Driver) Create() error {
438440 return err
439441 }
440442
441- srv , _ , err := d .getClient ().Server .Create (context .Background (), * srvopts )
443+ srv , _ , err := d .getClient ().Server .Create (context .Background (), instrumented ( * srvopts ) )
442444 if err != nil {
443445 return errors .Wrap (err , "could not create server" )
444446 }
@@ -531,7 +533,7 @@ func (d *Driver) makeCreateServerOptions() (*hcloud.ServerCreateOpts, error) {
531533 PlacementGroup : pgrp ,
532534 }
533535
534- err = d .setPublicNetIfRequired (srvopts )
536+ err = d .setPublicNetIfRequired (& srvopts )
535537 if err != nil {
536538 return nil , err
537539 }
@@ -571,7 +573,7 @@ func (d *Driver) makeCreateServerOptions() (*hcloud.ServerCreateOpts, error) {
571573 return & srvopts , nil
572574}
573575
574- func (d * Driver ) setPublicNetIfRequired (srvopts hcloud.ServerCreateOpts ) error {
576+ func (d * Driver ) setPublicNetIfRequired (srvopts * hcloud.ServerCreateOpts ) error {
575577 pip4 , err := d .getPrimaryIPv4 ()
576578 if err != nil {
577579 return err
@@ -583,8 +585,8 @@ func (d *Driver) setPublicNetIfRequired(srvopts hcloud.ServerCreateOpts) error {
583585
584586 if d .DisablePublic4 || d .DisablePublic6 || pip4 != nil || pip6 != nil {
585587 srvopts .PublicNet = & hcloud.ServerCreatePublicNet {
586- EnableIPv4 : ! d .DisablePublic4 ,
587- EnableIPv6 : ! d .DisablePublic6 ,
588+ EnableIPv4 : ! d .DisablePublic4 || pip4 != nil ,
589+ EnableIPv6 : ! d .DisablePublic6 || pip6 != nil ,
588590 IPv4 : pip4 ,
589591 IPv6 : pip6 ,
590592 }
@@ -604,7 +606,7 @@ func (d *Driver) createNetworks() ([]*hcloud.Network, error) {
604606 }
605607 networks = append (networks , network )
606608 }
607- return networks , nil
609+ return instrumented ( networks ) , nil
608610}
609611
610612func (d * Driver ) createFirewalls () ([]* hcloud.ServerCreateFirewall , error ) {
@@ -619,7 +621,7 @@ func (d *Driver) createFirewalls() ([]*hcloud.ServerCreateFirewall, error) {
619621 }
620622 firewalls = append (firewalls , & hcloud.ServerCreateFirewall {Firewall : * firewall })
621623 }
622- return firewalls , nil
624+ return instrumented ( firewalls ) , nil
623625}
624626
625627func (d * Driver ) createVolumes () ([]* hcloud.Volume , error ) {
@@ -634,7 +636,7 @@ func (d *Driver) createVolumes() ([]*hcloud.Volume, error) {
634636 }
635637 volumes = append (volumes , volume )
636638 }
637- return volumes , nil
639+ return instrumented ( volumes ) , nil
638640}
639641
640642func (d * Driver ) createRemoteKeys () error {
@@ -711,7 +713,7 @@ func (d *Driver) makeKey(name string, pubkey string, labels map[string]string) (
711713 Labels : labels ,
712714 }
713715
714- key , _ , err := d .getClient ().SSHKey .Create (context .Background (), keyopts )
716+ key , _ , err := d .getClient ().SSHKey .Create (context .Background (), instrumented ( keyopts ) )
715717 if err != nil {
716718 return nil , errors .Wrap (err , "could not create ssh key" )
717719 } else if key == nil {
@@ -916,7 +918,7 @@ func (d *Driver) Kill() error {
916918}
917919
918920func (d * Driver ) getClient () * hcloud.Client {
919- return hcloud .NewClient (hcloud .WithToken (d .AccessToken ), hcloud .WithApplication ("docker-machine-driver" , Version ))
921+ return hcloud .NewClient (hcloud .WithToken (d .AccessToken ), hcloud .WithApplication ("docker-machine-driver" , version ))
920922}
921923
922924func (d * Driver ) copySSHKeyPair (src string ) error {
@@ -958,7 +960,7 @@ func (d *Driver) getType() (*hcloud.ServerType, error) {
958960 return stype , errors .Wrap (err , "could not get type by name" )
959961 }
960962 d .cachedType = stype
961- return stype , nil
963+ return instrumented ( stype ) , nil
962964}
963965
964966func (d * Driver ) getImage () (* hcloud.Image , error ) {
@@ -982,7 +984,7 @@ func (d *Driver) getImage() (*hcloud.Image, error) {
982984 }
983985
984986 d .cachedImage = image
985- return image , nil
987+ return instrumented ( image ) , nil
986988}
987989
988990func (d * Driver ) getKey () (* hcloud.SSHKey , error ) {
@@ -995,7 +997,7 @@ func (d *Driver) getKey() (*hcloud.SSHKey, error) {
995997 return stype , errors .Wrap (err , "could not get sshkey by ID" )
996998 }
997999 d .cachedKey = stype
998- return stype , nil
1000+ return instrumented ( stype ) , nil
9991001}
10001002
10011003func (d * Driver ) getRemoteKeyWithSameFingerprint (publicKeyBytes []byte ) (* hcloud.SSHKey , error ) {
@@ -1010,7 +1012,7 @@ func (d *Driver) getRemoteKeyWithSameFingerprint(publicKeyBytes []byte) (*hcloud
10101012 if err != nil {
10111013 return remoteKey , errors .Wrap (err , "could not get sshkey by fingerprint" )
10121014 }
1013- return remoteKey , nil
1015+ return instrumented ( remoteKey ) , nil
10141016}
10151017
10161018func (d * Driver ) getServerHandle () (* hcloud.Server , error ) {
@@ -1074,15 +1076,15 @@ func (d *Driver) getAutoPlacementGroup() (*hcloud.PlacementGroup, error) {
10741076 d .labelName (labelAutoCreated ): "true" ,
10751077 })
10761078
1077- return grp , err
1079+ return instrumented ( grp ) , err
10781080}
10791081
10801082func (d * Driver ) makePlacementGroup (name string , labels map [string ]string ) (* hcloud.PlacementGroup , error ) {
1081- grp , _ , err := d .getClient ().PlacementGroup .Create (context .Background (), hcloud.PlacementGroupCreateOpts {
1083+ grp , _ , err := d .getClient ().PlacementGroup .Create (context .Background (), instrumented ( hcloud.PlacementGroupCreateOpts {
10821084 Name : name ,
10831085 Labels : labels ,
10841086 Type : "spread" ,
1085- })
1087+ }))
10861088
10871089 if grp .PlacementGroup != nil {
10881090 d .dangling = append (d .dangling , func () {
@@ -1097,7 +1099,7 @@ func (d *Driver) makePlacementGroup(name string, labels map[string]string) (*hcl
10971099 return nil , fmt .Errorf ("could not create placement group: %w" , err )
10981100 }
10991101
1100- return grp .PlacementGroup , nil
1102+ return instrumented ( grp .PlacementGroup ) , nil
11011103}
11021104
11031105func (d * Driver ) getPlacementGroup () (* hcloud.PlacementGroup , error ) {
@@ -1193,7 +1195,7 @@ func (d *Driver) resolvePrimaryIP(raw string) (*hcloud.PrimaryIP, error) {
11931195 }
11941196
11951197 if ip != nil {
1196- return ip , nil
1198+ return instrumented ( ip ) , nil
11971199 }
11981200
11991201 return nil , fmt .Errorf ("primary IP not found: %v" , raw )
0 commit comments