client := rest.NewClient(os.Getenv("SQUARECLOUD_API_KEY"))
defer client.Close()
api := rest.New(client)
Las variables de entorno se modelan como squarecloud.EnvVars, un simple map[string]string. Cada método se resuelve con el conjunto completo de variables tras completarse la operación — siempre recibes de vuelta un mapa actualizado.
Límites: hasta 256 variables por aplicación, claves de hasta 1024 caracteres y valores de hasta 4096 caracteres.
Listado de variables de entorno
envs, err := api.GetApplicationEnvs("abc123def456abc123def456")
if err != nil {
panic(err)
}
for key, value := range envs {
fmt.Printf("%s=%s\n", key, value)
}
Agregar o actualizar variables
api.SetApplicationEnvs(appID, envs) fusiona nuevas variables con el conjunto existente. Las claves existentes que no aparezcan en la llamada se conservan.
envs, err := api.SetApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://...",
"FEATURE_FLAG": "true",
})
if err != nil {
panic(err)
}
Reemplazo de todo el conjunto de variables
api.ReplaceApplicationEnvs(appID, envs) sobrescribe todas las variables.
Cualquier variable no listada en la llamada se elimina. Usa SetApplicationEnvs cuando solo quieras agregar o actualizar — ReplaceApplicationEnvs elimina todas las variables que dejes fuera.
envs, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://new-host...",
})
if err != nil {
panic(err)
}
// FEATURE_FLAG is now gone
Pasa un mapa vacío para borrar todas las variables:
_, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{})
Eliminación de variables
api.DeleteApplicationEnvs(appID, keys) elimina las claves indicadas. Las claves desconocidas se ignoran silenciosamente.
envs, err := api.DeleteApplicationEnvs("abc123def456abc123def456", []string{"FEATURE_FLAG"})
if err != nil {
panic(err)
}