func generateAwsConfigSecret()

in credentialproviderpackage/pkg/awscred/awscred.go [19:62]


func generateAwsConfigSecret(accessKeyPath, secretAccessKeyPath, sessionTokenPath, regionPath string) (string, error) {
	accessKeyByte, err := os.ReadFile(accessKeyPath)
	if err != nil {
		return "", err
	}
	accessKey := strings.Trim(string(accessKeyByte), "'")
	secretAccessKeyByte, err := os.ReadFile(secretAccessKeyPath)
	if err != nil {
		return "", err
	}
	secretAccessKey := strings.Trim(string(secretAccessKeyByte), "'")
	regionByte, err := os.ReadFile(regionPath)
	if err != nil {
		return "", err
	}
	region := strings.Trim(string(regionByte), "'")

	// check if sessionToken exists and read it
	if _, err := os.Stat(sessionTokenPath); !os.IsNotExist(err) {
		sessionTokenByte, err := os.ReadFile(sessionTokenPath)
		if err != nil {
			return "", err
		}
		sessionToken := strings.Trim(string(sessionTokenByte), "'")

		return fmt.Sprintf(
			`
[default]
aws_access_key_id=%s
aws_secret_access_key=%s
aws_session_token=%s
region=%s
`, accessKey, secretAccessKey, sessionToken, region), nil

	}

	return fmt.Sprintf(
		`
[default]
aws_access_key_id=%s
aws_secret_access_key=%s
region=%s
`, accessKey, secretAccessKey, region), nil
}