summaryrefslogtreecommitdiffstats
path: root/src/tools/emcoctl/cmd/apply.go
diff options
context:
space:
mode:
authorRitu Sood <ritu.sood@intel.com>2020-08-25 22:01:22 -0700
committerRitu Sood <ritu.sood@intel.com>2020-08-25 22:14:34 -0700
commit16ca82713faf6678d4b7055130768541f86ea20c (patch)
treebc8a457b5a545c79aff23e95e515f09c91dca3b6 /src/tools/emcoctl/cmd/apply.go
parent706d0990fc2210041f467934f3ec72c9b5a06ff4 (diff)
CLI code for EMCO
Add cli emcoctl as a client utility for EMCO Issue-ID: MULTICLOUD-1065 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: Ie1951910628469b5a7e75550b9daa34ba377d1a4
Diffstat (limited to 'src/tools/emcoctl/cmd/apply.go')
-rw-r--r--src/tools/emcoctl/cmd/apply.go62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/tools/emcoctl/cmd/apply.go b/src/tools/emcoctl/cmd/apply.go
new file mode 100644
index 00000000..f451a614
--- /dev/null
+++ b/src/tools/emcoctl/cmd/apply.go
@@ -0,0 +1,62 @@
+/*
+Copyright © 2020 Intel Corp
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package cmd
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+)
+
+// applyCmd represents the apply command
+var applyCmd = &cobra.Command{
+ Use: "apply",
+ Short: "apply(Post) the resources from input file or url(with body) from command line",
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("apply called")
+ c := NewRestClient()
+ if len(inputFiles) > 0 {
+ resources := readResources()
+ for _, res := range resources {
+ if res.file != "" {
+ err := c.RestClientMultipartPost(res.anchor, res.body, res.file)
+ if err != nil {
+ fmt.Println("Apply: ", res.anchor, "Error: ",err)
+ return
+ }
+ } else {
+ err := c.RestClientPost(res.anchor, res.body)
+ if err != nil {
+ fmt.Println("Apply: ", res.anchor, "Error: ",err)
+ return
+ }
+ }
+ }
+ } else if len(args) >= 1 {
+ fmt.Println(args[0])
+ c.RestClientPost(args[0], []byte{})
+ } else {
+ fmt.Println("Error: No args ")
+ }
+ },
+}
+
+func init() {
+ fmt.Println("INIT ")
+ rootCmd.AddCommand(applyCmd)
+ applyCmd.Flags().StringSliceVarP(&inputFiles, "filename", "f", []string{}, "Filename of the input file")
+ applyCmd.Flags().StringSliceVarP(&valuesFiles, "values", "v", []string{}, "Values to go with the file")
+}