Files
c/kubernetes/config/kube_config_yaml.h
2024-07-05 07:55:42 +03:00

84 lines
1.8 KiB
C

#ifndef _KUBE_CONFIG_YAML_H
#define _KUBE_CONFIG_YAML_H
#include "kube_config_model.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*
* kubeyaml_load_kubeconfig
*
* Description:
*
* Load the kubeconfig file specified by kubeconfig->fileName
* and get the kuberntes configuration for other fields of kubeconfig.
*
* Return:
*
* 0 Success
* -1 Failed
*
* Parameter:
*
* IN:
* kubeconfig->fileName: kubernetes cluster configuration file name
* kubeconfig->buffer: kubernetes cluster configuration data; this is considered only if kubeconfig->fileName is set to NULL
*
* Note: One may use either kubeconfig->fileName or kubeconfig->buffer but not both at the same time.
*
* OUT:
* kubeconfig: kubernetes cluster configuration
*
*/
int kubeyaml_load_kubeconfig(kubeconfig_t * kubeconfig);
/*
* kubeyaml_parse_exec_crendential
*
* Description:
*
* Parse the exec result string to get the kubeconfig exec credential.
*
* Return:
*
* 0 Success
* -1 Failed
*
* Parameter:
*
* IN:
* exec_credential_string: text string of kubeconfig exec result
*
* OUT:
* exec_credential: data structure of kubeconfig exec credential
*
*/
int kubeyaml_parse_exec_crendential(ExecCredential_t * exec_credential, const char *exec_credential_string);
/*
* kubeyaml_save_kubeconfig
*
* Description:
*
* Save the kubeconfig to the file specified by kubeconfig->fileName
*
* Return:
*
* 0 Success
* -1 Failed
*
* Parameter:
*
* INT:
* kubeconfig: kubernetes cluster configuration including kubeconfig->fileName: kubernetes cluster configuration file name
*
*/
int kubeyaml_save_kubeconfig(const kubeconfig_t * kubeconfig);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _KUBE_CONFIG_YAML_H */