MCPcopy Index your code
hub / github.com/VirusTotal/vt-cli / NewCollectionCreateCmd

Function NewCollectionCreateCmd

cmd/collection.go:84–136  ·  view source on GitHub ↗

NewCollectionCreateCmd returns a command for creating a collection.

()

Source from the content-addressed store, hash-verified

82
83// NewCollectionCreateCmd returns a command for creating a collection.
84func NewCollectionCreateCmd() *cobra.Command {
85 cmd := &cobra.Command{
86 Use: "create [ioc]...",
87 Short: "Create a collection.",
88 Long: createCollectionCmdHelp,
89 Example: createCollectionExample,
90 Args: cobra.MinimumNArgs(1),
91
92 RunE: func(cmd *cobra.Command, args []string) error {
93 c, err := NewAPIClient()
94 if err != nil {
95 return err
96 }
97 p, err := NewPrinter(cmd)
98 if err != nil {
99 return err
100 }
101 reader := utils.StringReaderFromCmdArgs(args)
102
103 collection := vt.NewObject("collection")
104 collection.SetString("name", viper.GetString("name"))
105 collection.SetString("description", viper.GetString("description"))
106 collection.SetData("raw_items", rawFromReader(reader))
107
108 if err := c.PostObject(vt.URL("collections"), collection); err != nil {
109 return err
110 }
111
112 if viper.GetBool("identifiers-only") {
113 fmt.Printf("%s\n", collection.ID())
114 } else {
115 if err := p.PrintObject(collection); err != nil {
116 return err
117 }
118 }
119
120 return nil
121 },
122 }
123
124 cmd.Flags().StringP(
125 "name", "n", "",
126 "Collection's name (required)")
127 cmd.Flags().StringP(
128 "description", "d", "",
129 "Collection's description (required)")
130 _ = cmd.MarkFlagRequired("name")
131 _ = cmd.MarkFlagRequired("description")
132 addIncludeExcludeFlags(cmd.Flags())
133 addIDOnlyFlag(cmd.Flags())
134
135 return cmd
136}
137
138func patchCollection(id, attr string, value interface{}) error {
139 client, err := NewAPIClient()

Callers 1

NewCollectionCmdFunction · 0.85

Calls 7

PrintObjectMethod · 0.95
StringReaderFromCmdArgsFunction · 0.92
rawFromReaderFunction · 0.85
addIncludeExcludeFlagsFunction · 0.85
addIDOnlyFlagFunction · 0.85
NewAPIClientFunction · 0.70
NewPrinterFunction · 0.70

Tested by

no test coverage detected