Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AddCmd = &cobra.Command{ Use: "add [manifest-id] [PATH]", Short: "Add to manifest for upload.", Long: `Add to manifest for upload.`, Args: cobra.MinimumNArgs(2), Run: func(cmd *cobra.Command, args []string) { i, err := strconv.ParseInt(args[0], 10, 32) if err != nil { panic(err) } manifestId := int32(i) localBasePath := args[1] targetBasePath, _ := cmd.Flags().GetString("target_path") recursive, _ := cmd.Flags().GetBool("recursive") req := pb.AddToManifestRequest{ ManifestId: manifestId, BasePath: localBasePath, TargetBasePath: targetBasePath, Recursive: recursive, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.AddToManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Println(manifestResponse.Status) }, }
View Source
var CreateCmd = &cobra.Command{ Use: "create [flags] [PATH] [...PATH]", Short: "Creates manifest for upload.", Long: `Creates manifest for upload.`, Run: func(cmd *cobra.Command, args []string) { targetBasePath, _ := cmd.Flags().GetString("target_path") req := pb.CreateManifestRequest{ BasePath: args[0], TargetBasePath: targetBasePath, Recursive: true, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.CreateManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Println("Manifest ID:", manifestResponse.ManifestId, "Message:", manifestResponse.Message) }, }
View Source
var DeleteCmd = &cobra.Command{ Use: "delete <manifest_id>", Short: "Deletes existing manifest.", Long: `Deletes existing manifest.`, Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { i, err := strconv.ParseInt(args[0], 10, 32) if err != nil { panic(err) } manifestId := int32(i) req := pb.DeleteManifestRequest{ ManifestId: manifestId, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.DeleteManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Println(manifestResponse) }, }
View Source
var ListCmd = &cobra.Command{ Use: "list [flags] <manifestId> [offset] [limit]", Short: "lists files for a manifest.", Long: `Creates manifest for upload.`, Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { limit := int32(100) offset := int32(0) i, err := strconv.ParseInt(args[0], 10, 32) if err != nil { panic(err) } manifestId := int32(i) if len(args) > 2 { i, err = strconv.ParseInt(args[2], 10, 32) if err != nil { panic(err) } offset = int32(i) } if len(args) > 1 { i, err = strconv.ParseInt(args[1], 10, 32) if err != nil { panic(err) } limit = int32(i) } req := pb.ListManifestFilesRequest{ ManifestId: manifestId, Offset: offset, Limit: limit, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) listFilesResponse, err := client.ListManifestFiles(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } showFull, _ := cmd.Flags().GetBool("full") PrettyPrint(listFilesResponse, args[0], showFull) }, }
View Source
var ManifestCmd = &cobra.Command{ Use: "manifest", Short: "Lists upload sessions.", Long: `Renders a list of upload manifests and their current status. This list includes only upload manifests that are initiated from the current machine.`, PersistentPreRun: func(cmd *cobra.Command, args []string) { config.InitDB() }, Run: func(cmd *cobra.Command, args []string) { req := pb.ListManifestsRequest{} port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.ListManifests(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } t := table.NewWriter() t.SetOutputMirror(os.Stdout) t.AppendHeader(table.Row{"Upload Manifest", "User Name", "Organization Name", "Dataset ID", "Status", "nodeId"}) for _, s := range manifestResponse.Manifests { const maxLength = 100 dsName := trimName(s.DatasetName, maxLength) t.AppendRow([]interface{}{s.Id, s.UserName, s.OrganizationName, dsName, s.Status, s.NodeId}) } t.Render() }, }
View Source
var RemoveCmd = &cobra.Command{ Use: "remove <MANIFEST-ID> <ID> [...ID]", Short: "Removes files from an existing manifest.", Long: `Creates manifest for upload.`, Run: func(cmd *cobra.Command, args []string) { manifestId, _ := cmd.Flags().GetInt32("manifest_id") fmt.Println("manifest if ", manifestId) if manifestId == -1 { log.Fatalln("Need to specify manifest id with `manifest_id` flag.") } fmt.Println(args[0]) req := pb.RemoveFromManifestRequest{ ManifestId: manifestId, RemovePath: args[0], } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.RemoveFromManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Println(manifestResponse.Status) }, }
View Source
var ResetCmd = &cobra.Command{ Use: "reset <MANIFEST-ID> <ID> [...ID]", Short: "Resets status of all files in a manifest", Long: `Resets status of all files in a manifest.`, Run: func(cmd *cobra.Command, args []string) { manifestId, _ := cmd.Flags().GetInt32("manifest_id") if manifestId == -1 { log.Fatalln("Need to specify manifest id with `manifest_id` flag.") } req := pb.ResetManifestRequest{ ManifestId: manifestId, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.ResetManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Println(manifestResponse.Status) }, }
View Source
var SyncCmd = &cobra.Command{ Use: "sync [flags] [MANIFEST ID] ", Short: "Syncs manifest with server.", Long: `Synchronizes the manifest with the Pennsieve platform. `, Run: func(cmd *cobra.Command, args []string) { i, err := strconv.ParseInt(args[0], 10, 32) if err != nil { panic(err) } manifestId := int32(i) req := pb.SyncManifestRequest{ ManifestId: manifestId, } port := viper.GetString("agent.port") conn, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { fmt.Println("Error connecting to GRPC Server: ", err) return } defer conn.Close() client := pb.NewAgentClient(conn) manifestResponse, err := client.SyncManifest(context.Background(), &req) if err != nil { st := status.Convert(err) fmt.Println(st.Message()) return } fmt.Printf("Synced Manifest: %s -- %d updated, %d removed, and %d failed.", manifestResponse.ManifestNodeId, manifestResponse.NrFilesUpdated, manifestResponse.NrFilesRemoved, manifestResponse.NrFilesFailed) }, }
Functions ¶
func PrettyPrint ¶
func PrettyPrint(files *protos.ListManifestFilesResponse, manifestID string, showFull bool)
PrettyPrint renders a table with current userinfo to terminal
Types ¶
This section is empty.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.