github.com/opendevstack/tailor@v1.3.5-0.20220119161809-cab064e60a67/pkg/commands/export.go (about) 1 package commands 2 3 import ( 4 "fmt" 5 6 "github.com/opendevstack/tailor/pkg/cli" 7 "github.com/opendevstack/tailor/pkg/openshift" 8 ) 9 10 // Export prints an export of targeted resources to STDOUT. 11 func Export(exportOptions *cli.ExportOptions) error { 12 filter, err := openshift.NewResourceFilter(exportOptions.Resource, exportOptions.Selector, exportOptions.Excludes) 13 if err != nil { 14 return err 15 } 16 17 c := cli.NewOcClient(exportOptions.Namespace) 18 out, err := openshift.ExportAsTemplateFile( 19 filter, 20 exportOptions.WithAnnotations, 21 exportOptions.Namespace, 22 exportOptions.WithHardcodedNamespace, 23 exportOptions.TrimAnnotations, 24 c, 25 ) 26 if err != nil { 27 return fmt.Errorf( 28 "Could not export %s resources as template: %s", 29 filter.String(), 30 err, 31 ) 32 } 33 34 fmt.Println(out) 35 return nil 36 }