> ## 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.

# 環境変数

> アプリケーションの環境変数を一覧取得、追加、置換、削除します。

`app.envs` は [`EnvsModule`](https://github.com/squarecloudofc/sdk-api-js/blob/main/src/modules/envs.ts) を公開しており、アプリケーションが実行時に参照する `KEY=value` のペアを管理できます。

```typescript theme={null}
const app = await api.applications.fetch("abc123def456abc123def456");
app.envs; // EnvsModule
```

すべてのメソッドは、操作完了後の環境変数一式へと解決されます。そのため常に最新の `{ key: value }` マップが返されます。

## 環境変数の一覧取得

```typescript theme={null}
const envs = await app.envs.list();

console.log(envs);
// { DATABASE_URL: "postgres://...", FEATURE_FLAG: "true" }
```

## 変数の追加または更新

`app.envs.set(envs)` は新しい変数を既存の一式にマージします。呼び出しに含まれていない既存のキーは保持されます。

```typescript theme={null}
await app.envs.set({
    DATABASE_URL: "postgres://...",
    FEATURE_FLAG: "true",
});
```

## 環境変数一式全体の置換

`app.envs.replace(envs)` はすべての変数を上書きします。リストに含まれていないものは**削除**されます。

```typescript theme={null}
await app.envs.replace({
    DATABASE_URL: "postgres://new-host...",
});
// FEATURE_FLAG is now gone
```

すべての変数を消去するには空のオブジェクトを渡します。

```typescript theme={null}
await app.envs.replace({});
```

## 変数の削除

`app.envs.delete(keys)` はリストに指定したキーを削除します。存在しないキーは静かに無視されます。

```typescript theme={null}
await app.envs.delete(["FEATURE_FLAG"]);
```
