mirror of
https://github.com/cristicalin/synology-csi.git
synced 2026-07-24 22:54:27 +00:00
Initial commit
This commit is contained in:
59
synocli/cmd/dsm.go
Normal file
59
synocli/cmd/dsm.go
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright 2021 Synology Inc.
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/SynologyOpenSource/synology-csi/pkg/dsm/webapi"
|
||||
)
|
||||
|
||||
var https = false
|
||||
var port = -1
|
||||
|
||||
var cmdDsm = &cobra.Command{
|
||||
Use: "dsm",
|
||||
Short: "dsm",
|
||||
Long: `dsm`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
cmd.Help()
|
||||
},
|
||||
}
|
||||
|
||||
var cmdDsmLogin = &cobra.Command{
|
||||
Use: "login <ip> <username> <password>",
|
||||
Short: "login dsm",
|
||||
Args: cobra.MinimumNArgs(3),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
var defaultPort = 5000
|
||||
if https {
|
||||
defaultPort = 5001
|
||||
}
|
||||
if port != -1 {
|
||||
defaultPort = port
|
||||
}
|
||||
|
||||
dsmApi := &webapi.DSM{
|
||||
Ip: args[0],
|
||||
Username: args[1],
|
||||
Password: args[2],
|
||||
Port: defaultPort,
|
||||
Https: https,
|
||||
}
|
||||
|
||||
err := dsmApi.Login()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
cmdDsm.AddCommand(cmdDsmLogin)
|
||||
|
||||
cmdDsmLogin.PersistentFlags().BoolVar(&https, "https", false, "Use HTTPS to login DSM")
|
||||
cmdDsmLogin.PersistentFlags().IntVarP(&port, "port", "p", -1, "Use assigned port to login DSM")
|
||||
}
|
||||
23
synocli/cmd/root.go
Normal file
23
synocli/cmd/root.go
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2021 Synology Inc.
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "synocli",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
cmd.Help()
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(cmdDsm)
|
||||
}
|
||||
|
||||
func Execute() {
|
||||
rootCmd.Execute()
|
||||
}
|
||||
13
synocli/main.go
Normal file
13
synocli/main.go
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Copyright 2021 Synology Inc.
|
||||
*/
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/SynologyOpenSource/synology-csi/synocli/cmd"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cmd.Execute()
|
||||
}
|
||||
Reference in New Issue
Block a user