github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/utils/kubectl/kubectl.go (about)

     1  package kubectl
     2  
     3  import (
     4  	"os/exec"
     5  )
     6  
     7  type Kubectl struct {
     8  	parameters []string
     9  }
    10  
    11  func New(command string) *Kubectl {
    12  	return &Kubectl{
    13  		parameters: []string{command},
    14  	}
    15  }
    16  
    17  func (k *Kubectl) AddParameter(key, value string) *Kubectl {
    18  	k.parameters = append(k.parameters, key)
    19  	k.parameters = append(k.parameters, value)
    20  	return k
    21  }
    22  
    23  func (k *Kubectl) AddFlag(flag string) *Kubectl {
    24  	k.parameters = append(k.parameters, flag)
    25  	return k
    26  }
    27  
    28  func (k *Kubectl) Build() exec.Cmd {
    29  	cmd := exec.Command("kubectl", k.parameters...)
    30  	return *cmd
    31  }