// uploadSSHKeys uploads an SSH Key func uploadSSHKeys(apiConnection *api.ScalewayAPI, newKey string) { user, err := apiConnection.GetUser() if err != nil { logrus.Errorf("Unable to contact ScalewayAPI: %s", err) } else { user.SSHPublicKeys = append(user.SSHPublicKeys, api.ScalewayKeyDefinition{Key: strings.Trim(newKey, "\n")}) SSHKeys := api.ScalewayUserPatchSSHKeyDefinition{ SSHPublicKeys: user.SSHPublicKeys, } userID, err := apiConnection.GetUserID() if err != nil { logrus.Errorf("Unable to get userID: %s", err) } else { if err = apiConnection.PatchUserSSHKey(userID, SSHKeys); err != nil { logrus.Errorf("Unable to patch SSHkey: %v", err) } } } }