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

# SandboxDefaults

> Immutable configuration defaults for sandbox creation.

ソース: [src/cwsandbox/\_defaults.py:261](https://github.com/coreweave/cwsandbox-client/blob/v1.14.2/src/cwsandbox/_defaults.py#L261)

```python theme={"system"}
class SandboxDefaults(container_image: str = DEFAULT_CONTAINER_IMAGE, command: str = DEFAULT_COMMAND, args: tuple[str, ...] = DEFAULT_ARGS, base_url: str = DEFAULT_BASE_URL, auth: AuthConfig | None = None, request_timeout_seconds: float = DEFAULT_REQUEST_TIMEOUT_SECONDS, poll_retry_budget_seconds: float = DEFAULT_POLL_RETRY_BUDGET_SECONDS, poll_rpc_timeout_seconds: float = DEFAULT_POLL_RPC_TIMEOUT_SECONDS, max_lifetime_seconds: float | None = DEFAULT_MAX_LIFETIME_SECONDS, temp_dir: str = DEFAULT_TEMP_DIR, tags: tuple[str, ...] = tuple(), runner_ids: tuple[str, ...] | None = None, placement_mode: PlacementMode | str | None = None, placement_spillover: PlacementSpillover | str = PlacementSpillover.STRICT, resources: ResourceOptions | dict[str, Any] | None = None, network: NetworkOptions | None = None, services: tuple[Service, ...] | None = None, volumes: tuple[ScratchVolumeOptions | RegisteredVolumeOptions, ...] | None = None, runtime_class: str | None = None, security_context: SecurityContext | dict[str, Any] | None = None, working_dir: str | None = None, object_storage_access: ObjectStorageAccess | dict[str, Any] | None = None, file_system_snapshot: FileSystemSnapshotOptions | dict[str, Any] | None = None, containers: tuple[Container, ...] | None = None, secrets: tuple[Secret, ...] | None = None, environment_variables: dict[str, str] = dict(), annotations: dict[str, str] = dict(), data_plane_mode: DataPlaneMode | str = DataPlaneMode.AUTO)
```

サンドボックス作成用の不変のデフォルト設定です。

すべてのフィールドには適切なデフォルト値があります。必要なものだけを上書きしてください。

タイムアウトには、次の 2 つの異なる概念があります。

* request\_timeout\_seconds: API の応答を待機する時間 (クライアント側)
* max\_lifetime\_seconds: サンドボックスが自動終了するまで実行される時間 (サーバー側)
  設定しない場合、バックエンドがデフォルトの有効期間を制御します。

タグを使用すると、サンドボックスをフィルターして整理できます。タグは
バックエンドに伝播され、タグでサンドボックスをクエリするために使用できます。

**属性**

* `container_image` (`str`) : サンドボックスのコンテナー用の Docker イメージ。デフォルト: `DEFAULT_CONTAINER_IMAGE`。
* `command` (`str`) : 実行するエントリーポイントコマンド。デフォルト: `DEFAULT_COMMAND`。
* `args` (`tuple[str, ...]`) : コマンドに渡す引数。デフォルト: `DEFAULT_ARGS`。
* `base_url` (`str`) : CWSandbox API エンドポイントの URL。デフォルト: `DEFAULT_BASE_URL`。
* `auth` (`AuthConfig | None`) : 認証の選択。`AuthStrategy`、解決済みの
  `AuthHeaders`、または `AuthProvider` を受け入れます。`None` は、
  従来のプロセス全体の上書き設定が導入されている場合はそれを保持し、それ以外の場合は
  `AuthStrategy.COREWEAVE_API_KEY` を使用します。デフォルト: `field(default=None, repr=False)`。
* `request_timeout_seconds` (`float`) : ほとんどの RPC に適用されるクライアント側の HTTP タイムアウト (秒) 。
  ポーリング用の Get RPC は、代わりに `poll_rpc_timeout_seconds` を使用します。デフォルト: `DEFAULT_REQUEST_TIMEOUT_SECONDS`。
* `poll_retry_budget_seconds` (`float`) : 再試行の一連の処理 (安定した状態に至るまでの処理) ごとの
  実時間の上限。応答が成功するたびに上限がリセットされるため、
  長時間稼働するサンドボックスで一時的なエラーが発生し、回復した後、
  かなり時間が経ってから再びエラーが発生した場合も、その都度新たな上限が適用されます。再試行可能な
  一時的エラーコードは UNAVAILABLE、DEADLINE\_EXCEEDED、および
  RESOURCE\_EXHAUSTED です。再試行を完全に無効にするには 0.0 に設定します。デフォルト: `DEFAULT_POLL_RETRY_BUDGET_SECONDS`。
* `poll_rpc_timeout_seconds` (`float`) : ポーリング用の Get RPC の呼び出しごとのタイムアウト。
  `request_timeout_seconds` とは別に設定することで、ポーリングが停止した場合に、
  より長いリクエストタイムアウトまで待機せず、速やかに失敗します。デフォルト: `DEFAULT_POLL_RPC_TIMEOUT_SECONDS`。
* `max_lifetime_seconds` (`float | None`) : サーバー側のサンドボックスのライフタイム制限 (秒) 。
  None の場合、バックエンドがデフォルトを制御します。デフォルト: `DEFAULT_MAX_LIFETIME_SECONDS`。
* `temp_dir` (`str`) : サンドボックス内の一時ディレクトリのパス。デフォルト: `DEFAULT_TEMP_DIR`。
* `tags` (`tuple[str, ...]`) : サンドボックスの絞り込みと整理に使用するタグ。デフォルト: `field(default_factory=tuple)`。
* `runner_ids` (`tuple[str, ...] | None`) : 特定のランナー ID (CKS) に制限します。デフォルトを
  明示的にクリアするには空のリストを渡します。設定済みのデフォルトを継承するには
  None (デフォルト) を渡します。サーバーレスの配置とは併用できません。
* `placement_mode` (`PlacementMode | str | None`) : `PlacementMode` (`serverless` / `cks`) または string。
* `placement_spillover` (`PlacementSpillover | str`) : 優先モードが切り替え可能なキャパシティまたは配置の理由で失敗した場合に、
  代替モードで作成を一度だけ再試行するための
  `PlacementSpillover` ポリシー。デフォルトは `STRICT` (切り替えなし) です。テンプレートの
  サンドボックスには `STRICT` が必要です。デフォルト: `PlacementSpillover.STRICT`。
* `resources` (`ResourceOptions | dict[str, Any] | None`) : リソース設定。リクエストと制限を個別に指定する
  `ResourceOptions`、または後方互換性のある Guaranteed QoS 用のフラットな dict を受け入れます。
* `network` (`NetworkOptions | None`) : `NetworkOptions` による拒否フラグのネットワークオプションと、作成時に指定できる任意のホスト名
  許可設定。
* `services` (`tuple[Service, ...] | None`) : PUBLIC/PRIVATE/CUSTOM 用の型付きサービスポート (`Service`) 。
* `volumes` (`tuple[ScratchVolumeOptions | RegisteredVolumeOptions, ...] | None`) : スクラッチボリュームまたは登録済み Volume (`ScratchVolumeOptions` または
  `RegisteredVolumeOptions`) 。
* `runtime_class` (`str | None`) : 任意のランタイムクラスの固定指定 (例: `"gvisor"`) 。
* `security_context` (`SecurityContext | dict[str, Any] | None`) : 単一コンテナー構成のゲスト内権限。
  `containers=` または `defaults.containers` を使用する場合は適用されません。
* `working_dir` (`str | None`) : 単一コンテナー構成の作業ディレクトリ。
  コンテナーリストを使用する場合は適用されません。
* `object_storage_access` (`ObjectStorageAccess | dict[str, Any] | None`) : オブジェクトストレージの一時的な認証情報。
* `file_system_snapshot` (`FileSystemSnapshotOptions | dict[str, Any] | None`) : `FileSystemSnapshotOptions` による
  単一マウント用の簡易 FSS オプション。共有可能なマウントのデフォルト (mount\_path、
  size) であり、明示的な `run()` の値で全体が置き換えられます。複数ボリュームの構成には
  `volumes=` の使用を推奨します。
* `containers` (`tuple[Container, ...] | None`) : オプションの複数コンテナー仕様 (`Container`)。`Sandbox.run()` の単一コンテナーフィールドとは
  排他的です。
  このリストを使用する場合、これらのデフォルトの `secrets`、`environment_variables`、
  `security_context`、`working_dir`
  は適用されません。各 `Container` に設定してください。
* `secrets` (`tuple[Secret, ...] | None`) : 単一コンテナーの場合のシークレット。
  `containers=` または `defaults.containers` を使用する場合は適用されません。
* `environment_variables` (`dict[str, str]`) : 単一コンテナーの場合の
  環境変数。コンテナーのリストを使用する場合は適用されません。デフォルト: `field(default_factory=dict)`。
* `annotations` (`dict[str, str]`) : Kubernetes Pod のアノテーション (キーと値の string ペア)。
  サンドボックスごとのアノテーションとマージされます。明示的な値はデフォルトを上書きします。
  機密性のないメタデータにのみ使用してください。デフォルト: `field(default_factory=dict)`。
* `data_plane_mode` (`DataPlaneMode | str`) : コマンド実行、ログ、ファイル操作のトランスポートポリシー。
  `auto` (デフォルト) は直接 mTLS 接続を優先し、ゲートウェイにフォールバックします。
  `gateway` は直接アクセスを無効にし、`direct` は直接アクセスを必須とします。デフォルト: `DataPlaneMode.AUTO`。

<h2 id="methods">
  メソッド
</h2>

<h3 id="merge_tags">
  merge\_tags
</h3>

```python theme={"system"}
merge_tags(additional: Iterable[str] | None) -> list[str]
```

デフォルトのタグと追加のタグを組み合わせます。

両方のソースのタグが含まれます。順序は、デフォルトのタグが先で、
その後に追加のタグが付加されます。

<h3 id="merge_environment_variables">
  merge\_environment\_variables
</h3>

```python theme={"system"}
merge_environment_variables(additional: dict[str, str] | None) -> dict[str, str]
```

デフォルトの環境変数と追加の環境変数を結合します。

追加の環境変数は、同じキーを持つデフォルトの環境変数を上書きします。

<h3 id="merge_annotations">
  merge\_annotations
</h3>

```python theme={"system"}
merge_annotations(additional: dict[str, str] | None) -> dict[str, str]
```

デフォルトのアノテーションと追加のアノテーションを結合します。

追加のアノテーションは、同じキーを持つデフォルトのアノテーションを上書きします。

<h3 id="with_overrides">
  with\_overrides
</h3>

```python theme={"system"}
with_overrides(**kwargs: Any = {}) -> SandboxDefaults
```

一部の値を上書きした新しいデフォルトを作成します。

<h3 id="from_dict">
  from\_dict
</h3>

```python theme={"system"}
from_dict(d: Mapping[str, Any] | None) -> SandboxDefaults
```

マッピングから `SandboxDefaults` を構築し、ネストしたフィールドを型変換します。

プレーンな dict または OmegaConf の `DictConfig` オブジェクトを受け入れます。  不明な
キーは通知なく無視されるため、呼び出し元は追加のフィールドを含む可能性のある設定セクションを
渡せます。

適用される型変換:

* `network` の dict -> `NetworkOptions`
* `secrets` の dict のリスト -> `Secret` のタプル
* `services` の dict のリスト -> `Service` のタプル
* `volumes` の dict のリスト -> スクラッチボリューム/登録済み Volume のオプションのタプル
* `containers` の dict のリスト -> `Container` のタプル
* `security_context` の dict -> `SecurityContext`
* `object_storage_access` の dict -> `ObjectStorageAccess`
* `args`, `tags`, `runner_ids`, `services`, `volumes`,
  `containers` のリスト -> タプル
* `resources`, `environment_variables` -> プレーンな `dict`
