@@ -325,6 +325,8 @@ func (d *Driver) setConfigFromFlagsImpl(opts drivers.DriverOptions) error {
325
325
return d .flagFailure ("--%v and --%v are mutually exclusive" , flagPrimary6 , flagDisablePublic6 )
326
326
}
327
327
328
+ instrumented (d )
329
+
328
330
return nil
329
331
}
330
332
@@ -438,7 +440,7 @@ func (d *Driver) Create() error {
438
440
return err
439
441
}
440
442
441
- srv , _ , err := d .getClient ().Server .Create (context .Background (), * srvopts )
443
+ srv , _ , err := d .getClient ().Server .Create (context .Background (), instrumented ( * srvopts ) )
442
444
if err != nil {
443
445
return errors .Wrap (err , "could not create server" )
444
446
}
@@ -531,7 +533,7 @@ func (d *Driver) makeCreateServerOptions() (*hcloud.ServerCreateOpts, error) {
531
533
PlacementGroup : pgrp ,
532
534
}
533
535
534
- err = d .setPublicNetIfRequired (srvopts )
536
+ err = d .setPublicNetIfRequired (& srvopts )
535
537
if err != nil {
536
538
return nil , err
537
539
}
@@ -571,7 +573,7 @@ func (d *Driver) makeCreateServerOptions() (*hcloud.ServerCreateOpts, error) {
571
573
return & srvopts , nil
572
574
}
573
575
574
- func (d * Driver ) setPublicNetIfRequired (srvopts hcloud.ServerCreateOpts ) error {
576
+ func (d * Driver ) setPublicNetIfRequired (srvopts * hcloud.ServerCreateOpts ) error {
575
577
pip4 , err := d .getPrimaryIPv4 ()
576
578
if err != nil {
577
579
return err
@@ -583,8 +585,8 @@ func (d *Driver) setPublicNetIfRequired(srvopts hcloud.ServerCreateOpts) error {
583
585
584
586
if d .DisablePublic4 || d .DisablePublic6 || pip4 != nil || pip6 != nil {
585
587
srvopts .PublicNet = & hcloud.ServerCreatePublicNet {
586
- EnableIPv4 : ! d .DisablePublic4 ,
587
- EnableIPv6 : ! d .DisablePublic6 ,
588
+ EnableIPv4 : ! d .DisablePublic4 || pip4 != nil ,
589
+ EnableIPv6 : ! d .DisablePublic6 || pip6 != nil ,
588
590
IPv4 : pip4 ,
589
591
IPv6 : pip6 ,
590
592
}
@@ -604,7 +606,7 @@ func (d *Driver) createNetworks() ([]*hcloud.Network, error) {
604
606
}
605
607
networks = append (networks , network )
606
608
}
607
- return networks , nil
609
+ return instrumented ( networks ) , nil
608
610
}
609
611
610
612
func (d * Driver ) createFirewalls () ([]* hcloud.ServerCreateFirewall , error ) {
@@ -619,7 +621,7 @@ func (d *Driver) createFirewalls() ([]*hcloud.ServerCreateFirewall, error) {
619
621
}
620
622
firewalls = append (firewalls , & hcloud.ServerCreateFirewall {Firewall : * firewall })
621
623
}
622
- return firewalls , nil
624
+ return instrumented ( firewalls ) , nil
623
625
}
624
626
625
627
func (d * Driver ) createVolumes () ([]* hcloud.Volume , error ) {
@@ -634,7 +636,7 @@ func (d *Driver) createVolumes() ([]*hcloud.Volume, error) {
634
636
}
635
637
volumes = append (volumes , volume )
636
638
}
637
- return volumes , nil
639
+ return instrumented ( volumes ) , nil
638
640
}
639
641
640
642
func (d * Driver ) createRemoteKeys () error {
@@ -711,7 +713,7 @@ func (d *Driver) makeKey(name string, pubkey string, labels map[string]string) (
711
713
Labels : labels ,
712
714
}
713
715
714
- key , _ , err := d .getClient ().SSHKey .Create (context .Background (), keyopts )
716
+ key , _ , err := d .getClient ().SSHKey .Create (context .Background (), instrumented ( keyopts ) )
715
717
if err != nil {
716
718
return nil , errors .Wrap (err , "could not create ssh key" )
717
719
} else if key == nil {
@@ -916,7 +918,7 @@ func (d *Driver) Kill() error {
916
918
}
917
919
918
920
func (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 ))
920
922
}
921
923
922
924
func (d * Driver ) copySSHKeyPair (src string ) error {
@@ -958,7 +960,7 @@ func (d *Driver) getType() (*hcloud.ServerType, error) {
958
960
return stype , errors .Wrap (err , "could not get type by name" )
959
961
}
960
962
d .cachedType = stype
961
- return stype , nil
963
+ return instrumented ( stype ) , nil
962
964
}
963
965
964
966
func (d * Driver ) getImage () (* hcloud.Image , error ) {
@@ -982,7 +984,7 @@ func (d *Driver) getImage() (*hcloud.Image, error) {
982
984
}
983
985
984
986
d .cachedImage = image
985
- return image , nil
987
+ return instrumented ( image ) , nil
986
988
}
987
989
988
990
func (d * Driver ) getKey () (* hcloud.SSHKey , error ) {
@@ -995,7 +997,7 @@ func (d *Driver) getKey() (*hcloud.SSHKey, error) {
995
997
return stype , errors .Wrap (err , "could not get sshkey by ID" )
996
998
}
997
999
d .cachedKey = stype
998
- return stype , nil
1000
+ return instrumented ( stype ) , nil
999
1001
}
1000
1002
1001
1003
func (d * Driver ) getRemoteKeyWithSameFingerprint (publicKeyBytes []byte ) (* hcloud.SSHKey , error ) {
@@ -1010,7 +1012,7 @@ func (d *Driver) getRemoteKeyWithSameFingerprint(publicKeyBytes []byte) (*hcloud
1010
1012
if err != nil {
1011
1013
return remoteKey , errors .Wrap (err , "could not get sshkey by fingerprint" )
1012
1014
}
1013
- return remoteKey , nil
1015
+ return instrumented ( remoteKey ) , nil
1014
1016
}
1015
1017
1016
1018
func (d * Driver ) getServerHandle () (* hcloud.Server , error ) {
@@ -1074,15 +1076,15 @@ func (d *Driver) getAutoPlacementGroup() (*hcloud.PlacementGroup, error) {
1074
1076
d .labelName (labelAutoCreated ): "true" ,
1075
1077
})
1076
1078
1077
- return grp , err
1079
+ return instrumented ( grp ) , err
1078
1080
}
1079
1081
1080
1082
func (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 {
1082
1084
Name : name ,
1083
1085
Labels : labels ,
1084
1086
Type : "spread" ,
1085
- })
1087
+ }))
1086
1088
1087
1089
if grp .PlacementGroup != nil {
1088
1090
d .dangling = append (d .dangling , func () {
@@ -1097,7 +1099,7 @@ func (d *Driver) makePlacementGroup(name string, labels map[string]string) (*hcl
1097
1099
return nil , fmt .Errorf ("could not create placement group: %w" , err )
1098
1100
}
1099
1101
1100
- return grp .PlacementGroup , nil
1102
+ return instrumented ( grp .PlacementGroup ) , nil
1101
1103
}
1102
1104
1103
1105
func (d * Driver ) getPlacementGroup () (* hcloud.PlacementGroup , error ) {
@@ -1193,7 +1195,7 @@ func (d *Driver) resolvePrimaryIP(raw string) (*hcloud.PrimaryIP, error) {
1193
1195
}
1194
1196
1195
1197
if ip != nil {
1196
- return ip , nil
1198
+ return instrumented ( ip ) , nil
1197
1199
}
1198
1200
1199
1201
return nil , fmt .Errorf ("primary IP not found: %v" , raw )
0 commit comments