claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

📦aidp-bundle

説明

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プレビュー 機能です。 この環境(20240831dataLakes)では、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 | AGENTFLOWbundled_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-32fetch_bundle_deployment_status_details.py:26-32purge_bundle_details.py:26-32sync_bundle_details.py:26-32;README:240/267/295/323)。

fetch-deployment-statusBundleDeploymentStatus を返します:

  • statusSUCCEEDED | FAILED | IN_PROGRESS | NOT_DEPLOYEDbundle_deployment_status.py:18,22,26,30,107
  • timeStartedtimeCompletedmessage
  • resources[](各要素: {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-56ai_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 bundle CLIコマンドがありません (CLI READMEに記載されているのは create/deploy/fetch-deployment-status/purge/sync-bundle のみ)。 またこの環境でのライブ確認も未実施です。 上記のオーバーライド モデル はSDKで確認済みですが、 オーバーライドのアクションパス (例: …/bundles/actions/{getOverrides|createOrUpdateOverrides})は 未確認 です — 確認済みエンドポイントとして提示しないでください。

日常的なプロモーション作業では、未確認のオーバーライドAPIを呼び出すのではなく、 バンドルフォルダ内の .aidp/overrides.yaml を直接編集してください(Oracleが文書化している手順)。


ワークフロー

  1. 確認: aidp bundle fetch-deployment-status(CLI)または getDeploymentStatus (RESTフォールバック — oci raw-request--profile DEFAULT → セッションフォールバック)で確認。 プロビジョニング未済/404 の場合はBundleが未プロビジョニング → 中止して報告。

  2. バンドル作成 — 上記の CreateBundleDetails ボディを使用 (namepathbundledResources[{resourceType,resourceKey}])。 バンドルフォルダはGitバックのワークスペースパス内に配置すること。

  3. デプロイ{path})→ aidp-observability 経由で202を非同期ポーリングし終端まで待機; fetch-deployment-status でリソースごとのステータスを報告 (SUCCEEDEDFAILEDIN_PROGRESSNOT_DEPLOYED)。

  4. プロモーション(dev → test → prod): バンドルフォルダをコミット/プッシュし、 ターゲットワークスペースにプル、その環境用に .aidp/overrides.yaml を設定してデプロイ。 sync-bundle でオーバーライドを保持したままソースコンテンツを更新。

  5. パージ{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): Bundle is Preview. On this env (20240831, dataLakes) the Bundle resource may be not provisioned — expect a 404 (wrong version/prefix or feature not enabled in the tenancy). Confirm with a live read-only getDeploymentStatus before any deploy/purge, and record the result in references/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 — create
  • POST /workspaces/{ws}/bundles/actions/deploy — deploy all resources
  • POST /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: statusSUCCEEDED | 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.yaml inside 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-bundle preserves .aidp/overrides.yaml and .aidp/aidp.state.json when 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 bundle CLI 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.yaml in the bundle folder (the Oracle-documented path) rather than calling an unverified override API.

Workflow

  1. Verify with aidp bundle fetch-deployment-status (CLI) or getDeploymentStatus (REST fallback — oci raw-request, --profile DEFAULT → session fallback). A not-provisioned / 404 here = Bundle not provisioned → stop and report.
  2. Create the bundle — CreateBundleDetails body above (name/path/bundledResources[{resourceType,resourceKey}]). Bundle folder must be inside a Git-backed workspace path.
  3. Deploy ({path}) → poll async (202) to terminal via aidp-observability; report per-resource status from fetch-deployment-status (SUCCEEDED/FAILED/IN_PROGRESS/NOT_DEPLOYED).
  4. Promote (dev → test → prod): commit/push the bundle folder, pull into the target workspace, set .aidp/overrides.yaml for that environment, then deploy there. sync-bundle refreshes source content while preserving overrides.
  5. Purge ({path}) only on explicit confirmation — tears down deployed resources (does not delete the bundle files).

Guardrails

  • deploy and especially purge are high-impact — show the resource set and confirm before running.

References

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。