07c44eedb7
If no name or label filter specified baremetal operation will be performed against all nodes with baremetalhost kind. Also, baremeral cmd code was refactored and combined, which allowed to remove duplicated code and slighlty improve test coverage by reducing the number of untestable lines. Change-Id: Ieadafdb9f55b995d4b47aeff1dc7233325f3191c Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Relates-To: #361 Closes: #361
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
/*
|
|
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
|
|
|
|
https://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 baremetal
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"opendev.org/airship/airshipctl/pkg/config"
|
|
)
|
|
|
|
// NewPowerOffCommand provides a command to shutdown a remote host.
|
|
func NewPowerOffCommand(cfgFactory config.Factory, options *CommonOptions) *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "poweroff",
|
|
Short: "Shutdown a baremetal host",
|
|
Args: cobra.NoArgs,
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
return performAction(cfgFactory, options, powerOffAction, cmd.OutOrStdout())
|
|
},
|
|
}
|
|
|
|
initFlags(options, cmd)
|
|
|
|
return cmd
|
|
}
|