MCP Tools Reference: saasservicemgmt

ツール: create_unit

Unit リソースを作成します。必須パラメータ: 'parent'(例: projects/my-project/locations/us-central1)、'unit_id'、'unit'。省略可能なパラメータ: 'validate_only'、'request_id'。

次のサンプルは、curl を使用して create_unit MCP ツールを呼び出す方法を示しています。

Curl リクエスト
                  
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_unit",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

CreateUnit メソッドのリクエスト構造。

CreateUnitRequest

JSON 表現
{
  "parent": string,
  "unitId": string,
  "unit": {
    object (Unit)
  },
  "validateOnly": boolean,
  "requestId": string
}
フィールド
parent

string

必須。ユニットの親。

unitId

string

必須。新しいユニットの ID 値。

unit

object (Unit)

必須。ユニットの望ましい状態。

validateOnly

boolean

「validate_only」が true に設定されている場合、サービスはこのリクエストが成功するかどうかを検証しようとしますが、実際には変更は行いません。

requestId

string

リクエストを識別するリクエスト ID(省略可)。一意のリクエスト ID を指定することで、リクエストの再試行が必要なときに、リクエストが完了していれば、サーバーがリクエストを無視できるようになります。サーバーは、最初のリクエストから少なくとも 60 分間はこれを保証します。

たとえば、最初のリクエストを行い、そのリクエストがタイムアウトしたとします。同じリクエスト ID で再度リクエストを行うと、サーバーは元のオペレーションを同じリクエスト ID で受信していたかどうかを確認できます。受信していた場合は、2 回目のリクエストは無視されます。これにより、クライアントが重複するコミットを誤って作成することを防ぐことができます。

リクエスト ID は有効な UUID でなければなりません。ただし、ゼロ UUID(00000000-0000-0000-0000-000000000000)はサポートされていません。

ユニット

JSON 表現
{
  "name": string,
  "unitKind": string,
  "release": string,
  "tenant": string,
  "ongoingOperations": [
    string
  ],
  "pendingOperations": [
    string
  ],
  "scheduledOperations": [
    string
  ],
  "dependents": [
    {
      object (UnitDependency)
    }
  ],
  "dependencies": [
    {
      object (UnitDependency)
    }
  ],
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "outputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "maintenance": {
    object (MaintenanceSettings)
  },
  "state": enum (UnitState),
  "conditions": [
    {
      object (UnitCondition)
    }
  ],
  "managementMode": enum (ManagementMode),
  "systemManagedState": enum (SystemManagedState),
  "systemCleanupAt": string,
  "flagRevisions": [
    string
  ],
  "application": string,
  "flagConfigName": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean
}
フィールド
name

string

ID。標準の命名スキームに沿ったリソース名(リソースの完全な URI)。

"projects/{project}/locations/{location}/units/{unit}"

unitKind

string

省略可。この Unit が属する UnitKind への参照。設定後は変更不可。

release

string

省略可。出力専用。この Unit の現在の Release オブジェクト。

tenant

string

省略可。このユニットが属する Saas テナント リソースへの参照。たとえば、ユニットの今後のアップデートのスケジュール設定に使用するメンテナンス ポリシーを通知します。(省略可。作成後は変更不可)

ongoingOperations[]

string

省略可。出力専用。この Unit で動作している同時 UnitOperation のリスト。

pendingOperations[]

string

省略可。出力専用。このユニットの保留中(実行待ち)の UnitOperation のリスト。

scheduledOperations[]

string

省略可。出力専用。このユニットのスケジュール設定された UnitOperation のリスト。

dependents[]

object (UnitDependency)

省略可。出力専用。このユニットに依存するユニットのリスト。このリストが空の場合にのみ、ユニットのプロビジョニングを解除できます。最大 1,000。

dependencies[]

object (UnitDependency)

省略可。出力専用。このユニットの依存関係のセット。最大 10 個。

inputVariables[]

object (UnitVariable)

省略可。出力専用。ユニットによってデプロイされた現在の入力変数を示します

outputVariables[]

object (UnitVariable)

省略可。出力専用。アクチュエーション テンプレートの実行からの出力変数に対応する Key-Value ペアのセット。変数はアクチュエーション構成(helm チャートや terraform など)で宣言され、値は実行の完了時にアクチュエーション エンジンによって取得されて返されます。

maintenance

object (MaintenanceSettings)

省略可。ユニットの今後のメンテナンスの実行についてリクエストされた指示をキャプチャします。これには、ユニットが一定期間メンテナンスをスキップして現在のリリースに固定されるようにするリクエストや、今後のスケジュールされたメンテナンスの延期を制御する機能が含まれます。

state

enum (UnitState)

省略可。出力専用。リソースの現在のライフサイクル状態(作成中か使用可能かなど)。

conditions[]

object (UnitCondition)

省略可。出力専用。このリソースが持つ可能性のあるさまざまな条件を示す一連の条件。

managementMode

enum (ManagementMode)

省略可。変更不可。ユニットのライフサイクルがユーザーによって制御されるか、システムによって制御されるかを示します。作成後は変更できません。

systemManagedState

enum (SystemManagedState)

省略可。出力専用。ユニットのシステム管理状態を示します。

systemCleanupAt

string (Timestamp format)

省略可。出力専用。設定されている場合、システムがユニットの削除を開始する時刻を示します。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

flagRevisions[]

string

省略可。出力専用。この Unit で使用されるフラグ リビジョン。

application

string

省略可。このユニットが属する AppHub アプリケーションへの参照。このユニットにデプロイされたすべてのリソースが、指定されたアプリケーションに関連付けられます。

flagConfigName

string

出力専用。このフィールドには、この Unit で使用されるフラグ構成の固有識別子が格納されます。

labels

map (key: string, value: string)

省略可。リソースのラベル。分類に使用できます。Kubernetes リソースラベルに似ています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

省略可。アノテーションは、任意のメタデータを保存して取得するため、外部ツールによって設定される可能性のあるリソースとともに保存される非構造化 Key-Value マップです。クエリは実行可能ではなく、オブジェクトを変更する際に保持する必要があります。

詳細: https://kubernetes.io/docs/user-guide/annotations

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

出力専用。リソースの一意の識別子。UID は、サービスのスコープ内で、このリソースの時間と場所において一意性を持ちます。通常は、リソースの作成時にサーバーによって生成され、変更されることはありません。UID は、リソース名が再利用される場合でも一意にリソースを識別するために使用されます。UUID4 であることが必要です。

etag

string

出力専用。リソースのバージョンまたは世代を一意に識別する、不透明な値です。書き込まれるリソースの順序についてクライアントとサーバーの間で確実に同意するために使用できます。

createTime

string (Timestamp format)

出力専用。リソース作成時のタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。リソース最終更新時のタイムスタンプ。ユーザーがリソースを変更した場合は、この値を更新する必要があります。サービスがリソースを変更した場合は、この値を更新する必要があります。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

satisfiesPzs

boolean

出力専用。リソース ロケーションがゾーン分割の制約を満たしているかどうかを示します。デフォルトでは false です。

satisfiesPzi

boolean

出力専用。将来の使用のために予約。

UnitDependency

JSON 表現
{
  "alias": string,
  "unit": string
}
フィールド
alias

string

出力専用。依存関係の名前のエイリアス。

unit

string

出力専用。Unit オブジェクトへの参照。

UnitVariable

JSON 表現
{
  "variable": string,
  "type": enum (Type),
  "value": string
}
フィールド
variable

string

必須。変更不可。アクチュエーション構成の変数の名前。

type

enum (Type)

省略可。変更不可。サポートされている変数型の名前。サポートされる型は string、int、bool です。

value

string

省略可。変数の文字列エンコード値。

MaintenanceSettings

JSON 表現
{
  "pinnedUntilTime": string
}
フィールド
pinnedUntilTime

string (Timestamp format)

省略可。オンにすると、指定した時刻までユニットのリリースが固定されます。つまり、リリース フィールドの変更が拒否されます。ロールアウトでも、アップグレードをリクエストしないことでこの設定が遵守されます。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

UnitCondition

JSON 表現
{
  "status": enum (Status),
  "type": enum (Type),
  "lastTransitionTime": string,
  "message": string,
  "reason": string
}
フィールド
status

enum (Status)

必須。条件のステータス。

type

enum (Type)

必須。条件のタイプ。

lastTransitionTime

string (Timestamp format)

必須。ある状態から別の状態に遷移した最後の時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

message

string

必須。最後の移行の詳細を示す人間が読めるメッセージ。

reason

string

必須。条件の最後の遷移の簡単な理由。

LabelsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

AnnotationsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

出力スキーマ

基盤となるアクチュエーション エンジン(Terraform、Helm、サービス プロデューサーが提供するカスタム実装など)を使用して CRUD API を介してライフサイクルを持つデプロイ単位。SaaS テナントの構成要素。

ユニット

JSON 表現
{
  "name": string,
  "unitKind": string,
  "release": string,
  "tenant": string,
  "ongoingOperations": [
    string
  ],
  "pendingOperations": [
    string
  ],
  "scheduledOperations": [
    string
  ],
  "dependents": [
    {
      object (UnitDependency)
    }
  ],
  "dependencies": [
    {
      object (UnitDependency)
    }
  ],
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "outputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "maintenance": {
    object (MaintenanceSettings)
  },
  "state": enum (UnitState),
  "conditions": [
    {
      object (UnitCondition)
    }
  ],
  "managementMode": enum (ManagementMode),
  "systemManagedState": enum (SystemManagedState),
  "systemCleanupAt": string,
  "flagRevisions": [
    string
  ],
  "application": string,
  "flagConfigName": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean
}
フィールド
name

string

ID。標準の命名スキームに沿ったリソース名(リソースの完全な URI)。

"projects/{project}/locations/{location}/units/{unit}"

unitKind

string

省略可。この Unit が属する UnitKind への参照。設定後は変更不可。

release

string

省略可。出力専用。この Unit の現在の Release オブジェクト。

tenant

string

省略可。このユニットが属する Saas テナント リソースへの参照。たとえば、ユニットの今後のアップデートのスケジュール設定に使用するメンテナンス ポリシーを通知します。(省略可。作成後は変更不可)

ongoingOperations[]

string

省略可。出力専用。この Unit で動作している同時 UnitOperation のリスト。

pendingOperations[]

string

省略可。出力専用。このユニットの保留中(実行待ち)の UnitOperation のリスト。

scheduledOperations[]

string

省略可。出力専用。このユニットのスケジュール設定された UnitOperation のリスト。

dependents[]

object (UnitDependency)

省略可。出力専用。このユニットに依存するユニットのリスト。このリストが空の場合にのみ、ユニットのプロビジョニングを解除できます。最大 1,000。

dependencies[]

object (UnitDependency)

省略可。出力専用。このユニットの依存関係のセット。最大 10 個。

inputVariables[]

object (UnitVariable)

省略可。出力専用。ユニットによってデプロイされた現在の入力変数を示します

outputVariables[]

object (UnitVariable)

省略可。出力専用。アクチュエーション テンプレートの実行からの出力変数に対応する Key-Value ペアのセット。変数はアクチュエーション構成(helm チャートや terraform など)で宣言され、値は実行の完了時にアクチュエーション エンジンによって取得されて返されます。

maintenance

object (MaintenanceSettings)

省略可。ユニットの今後のメンテナンスの実行についてリクエストされた指示をキャプチャします。これには、ユニットが一定期間メンテナンスをスキップして現在のリリースに固定されるようにするリクエストや、今後のスケジュールされたメンテナンスの延期を制御する機能が含まれます。

state

enum (UnitState)

省略可。出力専用。リソースの現在のライフサイクル状態(作成中か使用可能かなど)。

conditions[]

object (UnitCondition)

省略可。出力専用。このリソースが持つ可能性のあるさまざまな条件を示す一連の条件。

managementMode

enum (ManagementMode)

省略可。変更不可。ユニットのライフサイクルがユーザーによって制御されるか、システムによって制御されるかを示します。作成後は変更できません。

systemManagedState

enum (SystemManagedState)

省略可。出力専用。ユニットのシステム管理状態を示します。

systemCleanupAt

string (Timestamp format)

省略可。出力専用。設定されている場合、システムがユニットの削除を開始する時刻を示します。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

flagRevisions[]

string

省略可。出力専用。この Unit で使用されるフラグ リビジョン。

application

string

省略可。このユニットが属する AppHub アプリケーションへの参照。このユニットにデプロイされたすべてのリソースが、指定されたアプリケーションに関連付けられます。

flagConfigName

string

出力専用。このフィールドには、この Unit で使用されるフラグ構成の固有識別子が格納されます。

labels

map (key: string, value: string)

省略可。リソースのラベル。分類に使用できます。Kubernetes リソースラベルに似ています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

省略可。アノテーションは、任意のメタデータを保存して取得するため、外部ツールによって設定される可能性のあるリソースとともに保存される非構造化 Key-Value マップです。クエリは実行可能ではなく、オブジェクトを変更する際に保持する必要があります。

詳細: https://kubernetes.io/docs/user-guide/annotations

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

出力専用。リソースの一意の識別子。UID は、サービスのスコープ内で、このリソースの時間と場所において一意性を持ちます。通常は、リソースの作成時にサーバーによって生成され、変更されることはありません。UID は、リソース名が再利用される場合でも一意にリソースを識別するために使用されます。UUID4 であることが必要です。

etag

string

出力専用。リソースのバージョンまたは世代を一意に識別する、不透明な値です。書き込まれるリソースの順序についてクライアントとサーバーの間で確実に同意するために使用できます。

createTime

string (Timestamp format)

出力専用。リソース作成時のタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。リソース最終更新時のタイムスタンプ。ユーザーがリソースを変更した場合は、この値を更新する必要があります。サービスがリソースを変更した場合は、この値を更新する必要があります。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

satisfiesPzs

boolean

出力専用。リソース ロケーションがゾーン分割の制約を満たしているかどうかを示します。デフォルトでは false です。

satisfiesPzi

boolean

出力専用。将来の使用のために予約。

UnitDependency

JSON 表現
{
  "alias": string,
  "unit": string
}
フィールド
alias

string

出力専用。依存関係の名前のエイリアス。

unit

string

出力専用。Unit オブジェクトへの参照。

UnitVariable

JSON 表現
{
  "variable": string,
  "type": enum (Type),
  "value": string
}
フィールド
variable

string

必須。変更不可。アクチュエーション構成の変数の名前。

type

enum (Type)

省略可。変更不可。サポートされている変数型の名前。サポートされる型は string、int、bool です。

value

string

省略可。変数の文字列エンコード値。

MaintenanceSettings

JSON 表現
{
  "pinnedUntilTime": string
}
フィールド
pinnedUntilTime

string (Timestamp format)

省略可。オンにすると、指定した時刻までユニットのリリースが固定されます。つまり、リリース フィールドの変更が拒否されます。ロールアウトでも、アップグレードをリクエストしないことでこの設定が遵守されます。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

UnitCondition

JSON 表現
{
  "status": enum (Status),
  "type": enum (Type),
  "lastTransitionTime": string,
  "message": string,
  "reason": string
}
フィールド
status

enum (Status)

必須。条件のステータス。

type

enum (Type)

必須。条件のタイプ。

lastTransitionTime

string (Timestamp format)

必須。ある状態から別の状態に遷移した最後の時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

message

string

必須。最後の移行の詳細を示す人間が読めるメッセージ。

reason

string

必須。条件の最後の遷移の簡単な理由。

LabelsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

AnnotationsEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

ツールのアノテーション

破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌