blob: aadc9d2354835456ee7582d760c99597faf19e7c [file] [log] [blame]
Zack Williamse940c7a2019-08-21 14:25:39 -07001/*
2 * Copyright 2019-present Ciena Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package commands
17
18import (
19 "fmt"
20 flags "github.com/jessevdk/go-flags"
21 "gopkg.in/yaml.v2"
David Bainbridge12f036f2019-10-15 22:09:04 +000022 "log"
Zack Williamse940c7a2019-08-21 14:25:39 -070023)
24
25const copyrightNotice = `
26# Copyright 2019-present Ciena Corporation
27#
28# Licensed under the Apache License, Version 2.0 (the "License");
29# you may not use this file except in compliance with the License.
30# You may obtain a copy of the License at
31#
32# http://www.apache.org/licenses/LICENSE-2.0
33#
34# Unless required by applicable law or agreed to in writing, software
35# distributed under the License is distributed on an "AS IS" BASIS,
36# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37# See the License for the specific language governing permissions and
38# limitations under the License.
39#
40`
41
42type ConfigOptions struct {
43}
44
45func RegisterConfigCommands(parent *flags.Parser) {
David Bainbridge12f036f2019-10-15 22:09:04 +000046 if _, err := parent.AddCommand("config", "generate voltctl configuration", "Commands to generate voltctl configuration", &ConfigOptions{}); err != nil {
47 log.Fatalf("Unexpected error while attempting to register config commands : %s", err)
48 }
Zack Williamse940c7a2019-08-21 14:25:39 -070049}
50
51func (options *ConfigOptions) Execute(args []string) error {
52 //GlobalConfig
53 ProcessGlobalOptions()
54 b, err := yaml.Marshal(GlobalConfig)
55 if err != nil {
56 return err
57 }
58 fmt.Println(copyrightNotice)
59 fmt.Println(string(b))
60 return nil
61}