brash-painting-89833
04/29/2023, 9:36 PMpulumi.StringOutput
to base64?bitter-energy-6777
04/30/2023, 2:57 PMpulumi.StringOutput
to a string, convert the string to a byte slice, and create a base64
encoded string from the byte slice:
// convert pulumi.StringOutput to a string
stringOutput := fmt.Sprintf("%v", <insert your pulumi.StringOutput>)
// convert string to byte slice
bytes := []byte(stringOutput)
// encode the byte slice in base64
encoded := base64.StdEncoding.EncodeToString(bytes)
brash-painting-89833
05/01/2023, 1:10 PM{0xc0003798f0}
return pulumi.Sprintf(...)
inside i a string with some %s
as pulumi.StringOutput
arguments..`func generateUserData(clusterEndpoint pulumi.StringOutput, certData pulumi.StringOutput, clusterName pulumi.StringOutput, extraRuntime string) pulumi.StringOutput {
return pulumi.Sprintf(`
[settings.kubernetes]
api-server = "%s"
cluster-certificate = "%s"
cluster-name = "%s"
[settings.kubernetes.node-labels]
"extraRuntime" = "%s"
"host-os" = "bottle-rocket"
`, clusterEndpoint, certData, clusterName, extraRuntime)
}
Then:
userData := generateUserData(eksCluster.EksCluster.Endpoint(), eksCluster.EksCluster.CertificateAuthority().Data().Elem(), eksCluster.EksCluster.Name(), "default")
stringOutput := fmt.Sprintf("%v", userData)
fmt.Println(stringOutput)
// convert string to byte slice
bytes := []byte(stringOutput)
// encode the byte slice in base64
encoded := base64.StdEncoding.EncodeToString(bytes)
fmt.Println(encoded)