> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Variabili d'ambiente

> Elenca, aggiungi, sostituisci ed elimina le variabili d'ambiente di un'applicazione.

```go theme={null}
client := rest.NewClient(os.Getenv("SQUARECLOUD_API_KEY"))
defer client.Close()

api := rest.New(client)
```

Le variabili d'ambiente sono modellate come `squarecloud.EnvVars`, una semplice `map[string]string`. Ogni metodo si risolve nell'intero insieme di variabili dopo il completamento dell'operazione — ottieni sempre una mappa aggiornata.

<Note>
  Limiti: fino a 256 variabili per applicazione, chiavi fino a 1024 caratteri e valori fino a 4096 caratteri.
</Note>

## Elencare le variabili d'ambiente

```go theme={null}
envs, err := api.GetApplicationEnvs("abc123def456abc123def456")
if err != nil {
	panic(err)
}

for key, value := range envs {
	fmt.Printf("%s=%s\n", key, value)
}
```

## Aggiungere o aggiornare variabili

`api.SetApplicationEnvs(appID, envs)` **unisce** le nuove variabili all'insieme esistente. Le chiavi esistenti non presenti nella chiamata vengono preservate.

```go theme={null}
envs, err := api.SetApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
	"DATABASE_URL": "postgres://...",
	"FEATURE_FLAG": "true",
})
if err != nil {
	panic(err)
}
```

## Sostituire l'intero insieme di variabili

`api.ReplaceApplicationEnvs(appID, envs)` sovrascrive ogni variabile.

<Warning>
  Tutto ciò che non è elencato nella chiamata viene **rimosso**. Usa `SetApplicationEnvs` quando vuoi solo aggiungere o aggiornare — `ReplaceApplicationEnvs` elimina ogni variabile che ometti.
</Warning>

```go theme={null}
envs, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
	"DATABASE_URL": "postgres://new-host...",
})
if err != nil {
	panic(err)
}
// FEATURE_FLAG is now gone
```

Passa una mappa vuota per cancellare tutte le variabili:

```go theme={null}
_, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{})
```

## Eliminare variabili

`api.DeleteApplicationEnvs(appID, keys)` rimuove le chiavi elencate. Le chiavi sconosciute vengono ignorate silenziosamente.

```go theme={null}
envs, err := api.DeleteApplicationEnvs("abc123def456abc123def456", []string{"FEATURE_FLAG"})
if err != nil {
	panic(err)
}
```
