📦aidp-bundle
- ソース
- GitHub で見る ↗
説明
AIDPリソースをバンドルとしてデプロイします — バンドルの作成、すべてのアセットのアトミックなデプロイ、デプロイステータスの照会、およびパージを行います。 次のような場合に使用: - AIDPリソースのセットをまとめてプロモート/デプロイしたい場合 - デプロイメントバンドルを管理したい場合 - バンドルのデプロイステータスを確認したい場合 - バンドルを解体(ティアダウン)したい場合 `oci raw-request` 経由のプレビューAPIを使用します。事前に本番環境での動作確認を行ってください。
原文を表示
Deploy AIDP resources as a bundle — create a bundle, deploy all its assets atomically, query deployment status, and purge. Use when the user wants to promote/deploy a set of AIDP resources together, manage a deployment bundle, check bundle deployment status, or tear one down. Preview API via `oci raw-request`; verify live first.
ユースケース
- ✓AIDPリソースをまとめてデプロイしたい
- ✓デプロイメントバンドルを管理したい
- ✓バンドルのデプロイステータスを確認したい
- ✓バンドルを解体したい
本文(日本語訳)
aidp-bundle — リソースバンドル(プレビュー)
AIDPリソースバンドルのデプロイ/管理を行います。
CLI(推奨): 公式 aidp bundle … CLI
(Oracleサポート・バージョン管理あり — references/aidp-cli-map.md 参照):
aidp bundle create | deploy | fetch-deployment-status | purge | sync-bundle
フォールバック: CLIがインストールされていない場合は、同じREST Bundle APIに対して
oci raw-request を使用
(認証+ベースURLは references/oci-raw-request.md 参照)。
MCPおよび ai-data-engineer-agent リポジトリは不要です。
プレビュー+検証優先(捏造禁止):
Bundleは プレビュー 機能です。 この環境(20240831、dataLakes)では、Bundleリソースが プロビジョニングされていない 場合があります —404(バージョン/プレフィックス不一致、またはテナンシーで機能未有効)が返ることを想定してください。デプロイ/パージを実行する前に、読み取り専用の
getDeploymentStatusでライブ確認を行い、 結果をreferences/rest-endpoint-map.mdに記録してください。 ライブで 2xx(または文書化された 4xx)が記録されるまで、エンドポイントを「確認済み」として提示しないでください。
次のような場合に使用
- 「これらのリソースをまとめてデプロイしたい」
- 「バンドルをプロモートしたい」
- 「デプロイメントのステータスを確認したい」
- 「バンドルをパージ/削除したい」
コマンド/エンドポイント(ワークスペーススコープ;プレビュー)
CLI(推奨):
aidp bundle create · aidp bundle deploy · aidp bundle fetch-deployment-status
(読み取り専用 — ここで確認) · aidp bundle purge · aidp bundle sync-bundle
フォールバック(oci raw-request) —
デフォルトは 20240831;テナンシーのアップグレード後のみ 20260430 を試行。
ベースURL:
https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…
POST /workspaces/{ws}/bundles— 作成POST /workspaces/{ws}/bundles/actions/deploy— 全リソースのデプロイPOST /workspaces/{ws}/bundles/actions/getDeploymentStatus— ステータス確認(読み取り専用 — ここで確認)POST /workspaces/{ws}/bundles/actions/purge— デプロイ済みリソースの削除
これらのいずれかで
404(REST)またはプロビジョニング未済エラー(CLI)が発生した場合、 それはリクエストが不正だったのではなく、このテナンシーでプロビジョニングされていない (またはバージョン/プレフィックスが異なる — references/oci-raw-request.md を参照して他方を試してください) ことを意味します。 障害ではなく、機能の利用可否に関する問題として報告してください。
ミューテーション操作(create/deploy/purge/sync-bundle)の場合は、
リクエストボディを .aidp/payloads/ に保存し、実行前に確認を取ってください —
references/payloads.md 参照。
バンドルとは(マニフェスト+構造)
バンドルとは、選択したワークスペースアセット(ジョブ+エージェントフロー)とその依存関係・コードアーティファクトを まとめた、自己完結型のポータブルパッケージです。 別のワークスペース/環境で再現できるよう構成されています。
マニフェストはバンドルルートの aidp_workbench.yaml です。
バンドルはソースワークスペースのフォルダ構成をそのまま反映します。
依存関係の参照にはテンプレート変数を使用します。例:
$${jobs.dependencies.training_compute.compute.key}$${jobs.dependencies.training_job.job.key}$${jobs.dependencies.training_aicompute.aicompute.key}$${bundle.root}(アーティファクトパス用)
(出典: CLI README bundle create 詳細説明、180〜209行目)
バンドルは Gitバックのワークスペースフォルダ内でのみ作成可能です(CLI README 180行目)。
作成ボディ(CreateBundleDetails)
POST …/workspaces/{ws}/bundles
(CLI: aidp bundle create <AI-DATA-PLATFORM-ID> <WORKSPACE-KEY> --body <JSON>)
SDKの create_bundle_details.py:38-50 および bundled_resource.py:39-47 からフィールドを定義:
| フィールド | 必須 | 型 | 備考 |
|---|---|---|---|
name |
yes | str | バンドルフォルダ名(create_bundle_details.py:45-49、README:208) |
path |
yes | str | ワークスペースボリューム内の親フォルダ(create_bundle_details.py:46、README:209) |
description |
no | str | (create_bundle_details.py:47) |
bundledResources |
yes | BundledResource の配列 |
含めるジョブ/エージェントフロー(create_bundle_details.py:49) |
↳ resourceType |
yes | enum | JOB | AGENTFLOW(bundled_resource.py:18,22,76) |
↳ resourceKey |
yes | str | リソースのワークスペース一意キー(bundled_resource.py:46) |
{
"name": "<bundle-name>",
"path": "/Workspace/Shared/<git-folder>",
"description": "<optional>",
"bundledResources": [
{ "resourceType": "JOB", "resourceKey": "<job-key>" },
{ "resourceType": "AGENTFLOW", "resourceKey": "<agentflow-key>" }
]
}
deploy / fetch-deployment-status / purge / sync-bundle はいずれも
path(バンドルルートフォルダ)のみを受け取ります。
DeployBundleDetails / FetchBundleDeploymentStatusDetails / PurgeBundleDetails / SyncBundleDetails
はすべて { "path": "<bundle-root>" } という単一フィールド構造です
(deploy_bundle_details.py:26-32、fetch_bundle_deployment_status_details.py:26-32、
purge_bundle_details.py:26-32、sync_bundle_details.py:26-32;README:240/267/295/323)。
fetch-deployment-status は BundleDeploymentStatus を返します:
status∈SUCCEEDED|FAILED|IN_PROGRESS|NOT_DEPLOYED(bundle_deployment_status.py:18,22,26,30,107)timeStarted、timeCompleted、messageresources[](各要素:{type: JOB|AGENTFLOW, key, name}—bundle_deployed_resource.py:18,22,50)
プロモーション(dev → test → prod) — Git+オーバーライド
プロモーションは別のAPIではなく、Gitワークフローとして実装されています。 バンドルフォルダ全体をコミット/プッシュし、ターゲットワークスペースにプルしてデプロイします。 Gitを通じて環境間(dev → test → prod)でバンドルをプロモートできます (CLI README 180行目、「Git integration and promotion」)。
環境固有の値はマニフェスト内でパラメータ化され、環境ごとにオーバーライドされます:
-
マニフェストは
defaults.variablesにデフォルト値を宣言します。 例:job_compute_key: "$${jobs.dependencies.small.compute.key}"ディスクリプター内では$${var.<name>}として参照します (例:"clusterKey": "$${var.job_compute_key}")(CLI README:180)。 -
ワークスペースごとのオーバーライドはバンドル内の
.aidp/overrides.yamlに記述します — バンドルのポータビリティを保つため Gitにはコミットしません。 オーバーライドが指定された場合、参照先の依存関係(例: コンピュート)は作成されず、 指定値が使用されます。オーバーライドがない場合はマニフェストのデフォルト値にフォールバックし、 バンドルされた依存関係が作成される場合があります。 これにより、prodでは既存インフラを再利用しつつ、devでは新規リソースを作成する運用が可能です (CLI README:180)。 -
sync-bundleは.aidp/resource_origins.yamlとの差分解決時に.aidp/overrides.yamlと.aidp/aidp.state.jsonを保持します — ソースコンテンツの更新時に環境固有の設定が上書きされません(CLI README:309)。
オーバーライド候補の構造(SDKモデル — ディスク上のYAMLではなくリクエスト/レスポンスオブジェクト):
BundleOverrides オブジェクトは候補を以下のようにグループ化します:
{ compute: [ComputeOverrideItem], aicompute: [AiComputeOverrideItem] }
(bundle_overrides.py:30-37)
各アイテムの構造:
{ name, variableName, defaultValue, overrideValue, jobs|agentflows: [...] }
(compute_override_item.py:42-56、ai_compute_override_item.py:42-56)
作成/更新リクエストは CreateOrUpdateBundleOverridesDetails{ path, overrides } でラップします
(create_or_update_bundle_overrides_details.py:30-37)。
読み取りリクエストは GetBundleOverridesDetails{ path }
(get_bundle_overrides_details.py:26-32)。
検証優先(オーバーライドのRESTサーフェス): get/update-overridesのHTTPエンドポイントには対応する
aidp bundleCLIコマンドがありません (CLI READMEに記載されているのは create/deploy/fetch-deployment-status/purge/sync-bundle のみ)。 またこの環境でのライブ確認も未実施です。 上記のオーバーライド モデル はSDKで確認済みですが、 オーバーライドのアクションパス (例:…/bundles/actions/{getOverrides|createOrUpdateOverrides})は 未確認 です — 確認済みエンドポイントとして提示しないでください。日常的なプロモーション作業では、未確認のオーバーライドAPIを呼び出すのではなく、 バンドルフォルダ内の
.aidp/overrides.yamlを直接編集してください(Oracleが文書化している手順)。
ワークフロー
-
確認:
aidp bundle fetch-deployment-status(CLI)またはgetDeploymentStatus(RESTフォールバック —oci raw-request、--profile DEFAULT→ セッションフォールバック)で確認。 プロビジョニング未済/404の場合はBundleが未プロビジョニング → 中止して報告。 -
バンドル作成 — 上記の
CreateBundleDetailsボディを使用 (name/path/bundledResources[{resourceType,resourceKey}])。 バンドルフォルダはGitバックのワークスペースパス内に配置すること。 -
デプロイ (
{path})→aidp-observability経由で202を非同期ポーリングし終端まで待機;fetch-deployment-statusでリソースごとのステータスを報告 (SUCCEEDED/FAILED/IN_PROGRESS/NOT_DEPLOYED)。 -
プロモーション(dev → test → prod): バンドルフォルダをコミット/プッシュし、 ターゲットワークスペースにプル、その環境用に
.aidp/overrides.yamlを設定してデプロイ。sync-bundleでオーバーライドを保持したままソースコンテンツを更新。 -
パージ(
{path}): 明示的な確認を得た場合のみ実行 — デプロイ済みリソースを削除します(バンドルファイル自体は削除しません)。
ガードレール
deploy、特にpurgeは影響範囲が大きい操作です — 対象リソースセットを提示し、実行前に確認を取ってください。
参照
- [references/aid
原文(English)を表示
aidp-bundle — resource bundles (Preview)
Deploy/manage AIDP resource bundles. CLI (preferred): the official aidp bundle … CLI
(Oracle-supported, versioned — see references/aidp-cli-map.md):
aidp bundle create | deploy | fetch-deployment-status | purge | sync-bundle.
Fallback: oci raw-request against the same REST Bundle API (auth + base URL in
references/oci-raw-request.md) when the CLI isn't installed.
Self-contained: no MCP and no ai-data-engineer-agent repo required.
Preview + verify-first (no-fabrication):
Bundleis Preview. On this env (20240831,dataLakes) the Bundle resource may be not provisioned — expect a404(wrong version/prefix or feature not enabled in the tenancy). Confirm with a live read-onlygetDeploymentStatusbefore any deploy/purge, and record the result inreferences/rest-endpoint-map.md. Do not present endpoints as confirmed until a live 2xx (or documented 4xx) is recorded.
When to use
- "Deploy these resources together", "promote a bundle", "what's the deployment status", "purge/tear down a bundle".
Commands / endpoints (workspace-scoped; Preview)
CLI (preferred): aidp bundle create · aidp bundle deploy · aidp bundle fetch-deployment-status
(read-only — verify here) · aidp bundle purge · aidp bundle sync-bundle.
Fallback (oci raw-request) — default 20240831, probe 20260430 only after a tenancy upgrade.
Base: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…
POST /workspaces/{ws}/bundles— createPOST /workspaces/{ws}/bundles/actions/deploy— deploy all resourcesPOST /workspaces/{ws}/bundles/actions/getDeploymentStatus— status (read-only — verify here)POST /workspaces/{ws}/bundles/actions/purge— destroy deployed resources
A
404(REST) or not-provisioned error (CLI) on any of these means not provisioned in this tenancy (or wrong version/prefix — try the other per references/oci-raw-request.md), not that the request was malformed. Report it as a feature-availability gap, not a failure.
For mutating ops (create / deploy / purge / sync-bundle), persist the request body to .aidp/payloads/
and confirm first — see references/payloads.md.
What a bundle is (manifest + structure)
A bundle is a self-contained, portable package of selected workspace assets (jobs + agent flows) plus their
dependencies and code artifacts, captured so they can be recreated in another workspace/environment. The
manifest is aidp_workbench.yaml at the bundle root; the bundle mirrors the source workspace folder
layout. Dependency references use template variables, e.g. $${jobs.dependencies.training_compute.compute.key},
$${jobs.dependencies.training_job.job.key}, $${jobs.dependencies.training_aicompute.aicompute.key}, plus
$${bundle.root} for artifact paths. (Source: CLI README bundle create long description, lines 180–209.)
Bundles can only be created inside Git-backed workspace folders (CLI README line 180).
Create body (CreateBundleDetails)
POST …/workspaces/{ws}/bundles (CLI: aidp bundle create <AI-DATA-PLATFORM-ID> <WORKSPACE-KEY> --body <JSON>).
Wire fields from SDK create_bundle_details.py:38-50 and bundled_resource.py:39-47:
| Field | Required | Type | Notes |
|---|---|---|---|
name |
yes | str | bundle folder name (create_bundle_details.py:45-49, README:208) |
path |
yes | str | parent folder in the workspace volume (create_bundle_details.py:46, README:209) |
description |
no | str | (create_bundle_details.py:47) |
bundledResources |
yes | array of BundledResource |
jobs/agentflows to include (create_bundle_details.py:49) |
↳ resourceType |
yes | enum | JOB | AGENTFLOW (bundled_resource.py:18,22,76) |
↳ resourceKey |
yes | str | workspace-unique key for the resource (bundled_resource.py:46) |
{
"name": "<bundle-name>",
"path": "/Workspace/Shared/<git-folder>",
"description": "<optional>",
"bundledResources": [
{ "resourceType": "JOB", "resourceKey": "<job-key>" },
{ "resourceType": "AGENTFLOW", "resourceKey": "<agentflow-key>" }
]
}
deploy / fetch-deployment-status / purge / sync-bundle each take only path (the bundle root
folder) — DeployBundleDetails/FetchBundleDeploymentStatusDetails/PurgeBundleDetails/SyncBundleDetails
are all single-field { "path": "<bundle-root>" } (deploy_bundle_details.py:26-32,
fetch_bundle_deployment_status_details.py:26-32, purge_bundle_details.py:26-32,
sync_bundle_details.py:26-32; README:240/267/295/323).
fetch-deployment-status returns BundleDeploymentStatus: status ∈ SUCCEEDED | FAILED |
IN_PROGRESS | NOT_DEPLOYED (bundle_deployment_status.py:18,22,26,30,107), plus timeStarted,
timeCompleted, message, and resources[] (each {type: JOB|AGENTFLOW, key, name} —
bundle_deployed_resource.py:18,22,50).
Promotion (dev → test → prod) — Git + overrides
Promotion is a Git workflow, not a separate API: the whole bundle folder is committed/pushed, pulled into the target workspace, and deployed there; bundles can be promoted across environments (dev → test → prod) via Git (CLI README line 180, "Git integration and promotion").
Environment-specific values are parameterized in the manifest and overridden per environment:
- The manifest declares defaults under
defaults.variables, e.g.job_compute_key: "$${jobs.dependencies.small.compute.key}", referenced in descriptors as$${var.<name>}(e.g."clusterKey": "$${var.job_compute_key}"). (CLI README:180.) - Per-workspace overrides live in
.aidp/overrides.yamlinside the bundle — not committed to Git so the bundle stays portable. When an override is supplied, the referenced dependency (e.g. compute) is not created and the provided value is used; with no override, the system falls back to the manifest default (which may create a bundled dependency). This is what lets prod reuse existing infrastructure while dev creates fresh resources. (CLI README:180.) sync-bundlepreserves.aidp/overrides.yamland.aidp/aidp.state.jsonwhen reconciling against.aidp/resource_origins.yaml— so refreshing source content does not clobber env-specific config (CLI README:309).
Override candidate shapes (SDK models — the request/response objects, not the on-disk yaml): the
BundleOverrides object groups candidates as { compute: [ComputeOverrideItem], aicompute: [AiComputeOverrideItem] }
(bundle_overrides.py:30-37). Each item is
{ name, variableName, defaultValue, overrideValue, jobs|agentflows: [...] }
(compute_override_item.py:42-56, ai_compute_override_item.py:42-56). The create/update-overrides request
wraps it as CreateOrUpdateBundleOverridesDetails{ path, overrides }
(create_or_update_bundle_overrides_details.py:30-37); the read request is
GetBundleOverridesDetails{ path } (get_bundle_overrides_details.py:26-32).
Verify-first (overrides REST surface): the get/update-overrides HTTP endpoints have no
aidp bundleCLI command (CLI README lists only create/deploy/fetch-deployment-status/purge/sync-bundle) and were not live-probed on this env. The override models above are SDK-confirmed, but the exact override action path (e.g.…/bundles/actions/{getOverrides|createOrUpdateOverrides}) is unconfirmed — do not present it as a verified endpoint. For day-to-day promotion, edit.aidp/overrides.yamlin the bundle folder (the Oracle-documented path) rather than calling an unverified override API.
Workflow
- Verify with
aidp bundle fetch-deployment-status(CLI) orgetDeploymentStatus(REST fallback —oci raw-request,--profile DEFAULT→ session fallback). A not-provisioned /404here = Bundle not provisioned → stop and report. - Create the bundle —
CreateBundleDetailsbody above (name/path/bundledResources[{resourceType,resourceKey}]). Bundle folder must be inside a Git-backed workspace path. - Deploy (
{path}) → poll async (202) to terminal viaaidp-observability; report per-resource status fromfetch-deployment-status(SUCCEEDED/FAILED/IN_PROGRESS/NOT_DEPLOYED). - Promote (dev → test → prod): commit/push the bundle folder, pull into the target workspace, set
.aidp/overrides.yamlfor that environment, then deploy there.sync-bundlerefreshes source content while preserving overrides. - Purge (
{path}) only on explicit confirmation — tears down deployed resources (does not delete the bundle files).
Guardrails
deployand especiallypurgeare high-impact — show the resource set and confirm before running.
References
- references/aidp-cli-map.md — skill → official
aidpCLI command map (primary engine) - references/oci-raw-request.md · references/rest-endpoint-map.md
- references/payloads.md — persist + confirm request bodies for mutating ops
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。