package models // KubeConfigValue is a struct used to create a kubectl configuration YAML file. type KubeConfigValue struct { APIVersion string `yaml:"apiVersion" json:"apiVersion"` Kind string `yaml:"kind" json:"kind"` Clusters []KubeconfigNamedCluster `yaml:"clusters" json:"clusters"` Users []KubeconfigUser `yaml:"users" json:"users"` Contexts []KubeconfigNamedContext `yaml:"contexts" json:"contexts"` CurrentContext string `yaml:"current-context" json:"current-context"` Preferences struct{} `yaml:"preferences" json:"preferences"` } // KubeconfigUser is a struct used to create a kubectl configuration YAML file type KubeconfigUser struct { Name string `yaml:"name" json:"name"` User KubeconfigUserKeyPair `yaml:"user" json:"user"` } // KubeconfigUserKeyPair is a struct used to create a kubectl configuration YAML file type KubeconfigUserKeyPair struct { Token string `yaml:"token" json:"token"` } // KubeconfigAuthProvider is a struct used to create a kubectl authentication provider type KubeconfigAuthProvider struct { Name string `yaml:"name" json:"name"` Config map[string]string `yaml:"config" json:"config"` } // KubeconfigNamedCluster is a struct used to create a kubectl configuration YAML file type KubeconfigNamedCluster struct { Name string `yaml:"name" json:"name"` Cluster KubeconfigCluster `yaml:"cluster" json:"cluster"` } // KubeconfigCluster is a struct used to create a kubectl configuration YAML file type KubeconfigCluster struct { Server string `yaml:"server" json:"server"` CertificateAuthorityData string `yaml:"certificate-authority-data" json:"certificate-authority-data"` CertificateAuthority string `yaml:"certificate-authority" json:"certificate-authority"` } // KubeconfigNamedContext is a struct used to create a kubectl configuration YAML file type KubeconfigNamedContext struct { Name string `yaml:"name" json:"name"` Context KubeconfigContext `yaml:"context" json:"context"` } // KubeconfigContext is a struct used to create a kubectl configuration YAML file type KubeconfigContext struct { Cluster string `yaml:"cluster" json:"cluster"` Namespace string `yaml:"namespace,omitempty" json:"namespace,omitempty"` User string `yaml:"user" json:"user"` }