pkg/commands/cmdlib/cmdio.go (21 lines of code) (raw):

// Copyright 2019 Google LLC // // 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 cmdlib import ( "github.com/GoogleCloudPlatform/k8s-cluster-bundle/pkg/files" log "k8s.io/klog" ) // CmdIO contains dependencies for doing I/O in commands. type CmdIO struct { // StdIO preforms I/O to stdout. StdIO StdioReaderWriter // FileIO performs I/O to files FileIO files.FileReaderWriter // ExitIO exits the program with some message. ExitIO Exiter } // Exiter is a thing that can exit with messages. type Exiter interface { // Exit the program with args. Exit(args ...interface{}) // Exit the program with a formatted message. Exitf(format string, v ...interface{}) } // RealExiter exits the program with some message. type RealExiter struct{} // Exit calls log.Exit. func (e *RealExiter) Exit(args ...interface{}) { log.Exit(args...) } // Exitf calls log.Exitf. func (e *RealExiter) Exitf(format string, v ...interface{}) { log.Exitf(format, v...) }