client := rest.NewClient(os.Getenv("SQUARECLOUD_API_KEY"))
defer client.Close()
api := rest.New(client)
Umgebungsvariablen sind als squarecloud.EnvVars modelliert, eine einfache map[string]string. Jede Methode löst nach Abschluss der Operation zum vollständigen Env-Set auf — du erhältst also stets eine aktuelle Map zurück.
Limits: bis zu 256 Variablen pro Anwendung, Schlüssel bis zu 1024 Zeichen und Werte bis zu 4096 Zeichen.
Umgebungsvariablen auflisten
envs, err := api.GetApplicationEnvs("abc123def456abc123def456")
if err != nil {
panic(err)
}
for key, value := range envs {
fmt.Printf("%s=%s\n", key, value)
}
Variablen hinzufügen oder aktualisieren
api.SetApplicationEnvs(appID, envs) führt neue Variablen in das bestehende Set zusammen. Vorhandene Schlüssel, die nicht im Aufruf enthalten sind, bleiben erhalten.
envs, err := api.SetApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://...",
"FEATURE_FLAG": "true",
})
if err != nil {
panic(err)
}
Das gesamte Env-Set ersetzen
api.ReplaceApplicationEnvs(appID, envs) überschreibt jede Variable.
Alles, was nicht im Aufruf aufgeführt ist, wird entfernt. Verwende SetApplicationEnvs, wenn du nur hinzufügen oder aktualisieren willst — ReplaceApplicationEnvs löscht jede Variable, die du weglässt.
envs, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://new-host...",
})
if err != nil {
panic(err)
}
// FEATURE_FLAG is now gone
Übergib eine leere Map, um alle Variablen zu löschen:
_, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{})
Variablen löschen
api.DeleteApplicationEnvs(appID, keys) entfernt die aufgeführten Schlüssel. Unbekannte Schlüssel werden stillschweigend ignoriert.
envs, err := api.DeleteApplicationEnvs("abc123def456abc123def456", []string{"FEATURE_FLAG"})
if err != nil {
panic(err)
}