Method: projects.locations.apps.importApp

指定されたアプリをインポートします。

HTTP リクエスト

POST https://ces.googleapis.com/v1beta/{parent=projects/*/locations/*}/apps:importApp

この URL では gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
parent

string

必須。インポートするアプリのロケーションを含む親リソース名。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "displayName": string,
  "appId": string,
  "importOptions": {
    object (ImportAppRequest.ImportOptions)
  },
  "ignoreAppLock": boolean,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "gcsUri": string,
  "appContent": string
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "jsonPatchContent": string,
  "jsonPatchGcsUri": string
  // End of mutually exclusive fields.
}
フィールド
displayName

string

省略可。インポートするアプリの表示名。* アプリがインポート時に作成され、表示名が指定されている場合、インポートされたアプリはこの表示名を使用します。既存のアプリとの競合が検出された場合は、表示名にタイムスタンプが付加されて一意になります。* アプリが再インポートされる場合、このフィールドは設定しないでください。再インポート時に表示名を指定すると、INVALID_ARGUMENT エラーが発生します。

appId

string

省略可。インポートしたアプリに使用する ID。* 指定しない場合、アプリに一意の ID が自動的に割り当てられます。* 指定した場合、インポートしたアプリはこの ID をリソース名の最終的なコンポーネントとして使用します。同じ ID のアプリがプロジェクト内の指定された場所にすでに存在する場合、既存のアプリのコンテンツは置き換えられます。

importOptions

object (ImportAppRequest.ImportOptions)

省略可。アプリのインポート プロセスを制御するオプション。

ignoreAppLock

boolean

省略可。インポート中にアプリのロックをオーバーライドするためのフラグ。true に設定すると、インポート プロセスでアプリのロックが無視されます。

インポートするアプリ。以下は、相互に排他的なフィールドのリストです。レスポンスに設定されるフィールドは、最大 1 つです。
gcsUri

string

アプリのインポート元となる Google Cloud Storage URI。この URI の形式は gs://<bucket-name>/<object-name> である必要があります。

appContent

string (bytes format)

アプリのフォルダ構造を含む圧縮された ZIP ファイルを表す未加工のバイト。

Base64 でエンコードされた文字列。

相互に排他的なフィールドの終わり。
インポートされたアプリに適用する JSON パッチ。次のフィールドは相互に排他的です。レスポンスに設定されるフィールドは、最大 1 つです。
jsonPatchContent

string

省略可。JSON 文字列としてのパッチ コンテンツ。

jsonPatchGcsUri

string

省略可。パッチを含む JSON ファイルを指す Cloud Storage URI。

相互に排他的なフィールドの終わり。

レスポンスの本文

成功した場合、レスポンスの本文には Operation のインスタンスが含まれます。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

詳細については、Authentication Overview をご覧ください。

IAM 権限

parent リソースに対する次の IAM 権限が必要です。

  • ces.apps.import

詳細については、IAM のドキュメントをご覧ください。

ImportAppRequest.ImportOptions

アプリのインポート プロセスの構成オプション。これらのオプションは、特に既存のアプリデータとの競合が発生した場合のインポートの動作を制御します。

JSON 表現
{
  "conflictResolutionStrategy": enum (ImportAppRequest.ImportOptions.ConflictResolutionStrategy),
  "validateOnly": boolean
}
フィールド
conflictResolutionStrategy

enum (ImportAppRequest.ImportOptions.ConflictResolutionStrategy)

省略可。インポート中に競合を解決するときに使用する戦略。

validateOnly

boolean

省略可。インポート プロセスのドライランを行うためのフラグ。true に設定した場合、インポート プロセスでは検証のみが行われ、既存のアプリが変更されたり、新しいアプリが作成されたりすることはありません。

ImportAppRequest.ImportOptions.ConflictResolutionStrategy

同じ ID のアプリがすでに存在する場合、またはインポートされたリソース(エージェント、ツールなど)の表示名がそのアプリ内の既存のリソースと同じである場合に、競合を処理する戦略を定義します。

列挙型
CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED 競合解決戦略が指定されていません。
REPLACE 既存のデータをインポートしたデータに置き換えます。同じ appId を持つアプリがすでに存在する場合、そのコンテンツはインポートされたアプリに基づいて更新されます。- インポートされたアプリ内のリソース(アプリ、エージェント、ツール、例、ガードレール、ツールセット)のうち、既存のリソースと同じ表示名を持つものは、既存のリソースを上書きします。- 新しい表示名でインポートされたリソースが作成されます。- インポートされたアプリに一致する表示名がない既存のリソースは変更されません。
OVERWRITE インポートしたデータで既存のデータを上書きします。同じ appId のアプリがすでに存在する場合、そのコンテンツはインポートされたアプリで上書きされます。- アプリ内の既存のリソース(エージェント、ツール、例、ガードレール、ツールセット)は削除されます。- インポートされたリソースは新しいリソースとして作成されます。