REST Resource: projects.configs.waiters

リソース: ウェイター

Waiter リソースは、返る前に、RuntimeConfig リソース内のいくつかの終了条件が満たされるのを待ちます。たとえば、各ノードが起動プロセスの一部としてノードの準備状況を示す変数リソースに書き込む分散システムがあるとします。

その後、一定のノード数がチェックインするまで待つことを成功条件として設定された Waiter リソースを設定します。そして、条件が満たされた後、アプリケーションはいくつかの任意のコードを実行し、ウェイターが正常に戻ります。

一度作成すると、Waiter リソースは変更できません。

ウェイターの使用の詳細については、ウェイターの作成をご覧ください。

JSON 表現
{
  "name": string,
  "timeout": string,
  "failure": {
    object(EndCondition)
  },
  "success": {
    object(EndCondition)
  },
  "createTime": string,
  "done": boolean,
  "error": {
    object(Status)
  }
}
フィールド
name

string

Waiter リソースの名前:

projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]

[PROJECT_ID] には有効な Google Cloud プロジェクト ID、[CONFIG_NAME] も有効な RuntimeConfig リソースを入れる必要があります。[WAITER_NAME] は RFC 1035 のセグメント仕様に一致させ、[WAITER_NAME] の長さは 64 バイト未満とします。

Waiter リソースを作成した後は、リソース名を変更することはできません。

timeout

string (Duration format)

[必須] waiters().create メソッドが呼び出された時点から、秒単位でウェイターのタイムアウトを指定します。成功または失敗の条件が満たされる前にこの時間が経過すると、ウェイターは失敗し、error コードを DEADLINE_EXCEEDED に設定します。

小数 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

failure

object(EndCondition)

[省略可] このウェイターの失敗条件。この条件が満たされると、donetrue に設定され、error コードは ABORTED に設定されます。失敗条件は成功条件に優先します。両方の条件が満たされている場合、失敗が示されます。この値は省略可能です。障害条件が設定されていない場合、障害シナリオはタイムアウトのみになります。

success

object(EndCondition)

[必須] 成功条件。この条件が満たされると、donetrue に設定され、error 値は設定されません。失敗条件は成功条件に優先します。両方の条件が満たされると、失敗が示されます。

createTime

string (Timestamp format)

出力専用。この Waiter リソースが作成されたインスタンス。このインスタンスに timeout の値を追加すると、ウェイターのタイムアウト期限が得られます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒。例: "2014-10-02T15:01:23.045123456Z"

done

boolean

出力専用。値が false の場合、ウェイターはいずれかの条件が満たされるのをまだ待機しています。

true の場合、ウェイターは完了します。タイムアウトまたは失敗によりウェイターが終了した場合は、error が設定されます。

error

object(Status)

出力専用。失敗またはタイムアウトが原因でウェイターが終了した場合、この値が設定されます。

EndCondition

Waiter リソースが待っている状態。

JSON 表現
{
  "cardinality": {
    object(Cardinality)
  }
}
フィールド
cardinality

object(Cardinality)

EndCondition のカーディナリティ。

カーディナリティ

Waiter リソースの基数条件。指定されたパス接頭辞の下に変数の数が所定数に達した場合、基数条件が満たされます。たとえば、path/foo に設定され、パスの数が 2 に設定された Cardinality 条件を設定した場合、次の変数は RuntimeConfig リソースの条件を満たします。

  • /foo/variable1 = "value1"
  • /foo/variable2 = "value2"
  • /bar/variable3 = "value3"

ただし、number3 に設定されている場合、/foo で始まるパスは 2 つしかないため、同じ条件を満たしません。基数条件は再帰的で、特定のパス接頭辞の下ではすべてのサブツリーがカウントされます。

JSON 表現
{
  "path": string,
  "number": number
}
フィールド
path

string

モニタリングする変数サブツリーのルート。例: /foo

number

number

この条件を満たすために存在する必要がある path の下の変数の数。指定しない場合のデフォルトは 1 です。

メソッド

create

Waiter リソースを作成します。

delete

指定された名前のウェイターを削除します。

get

単一のウェイターに関する情報を取得します。

list

指定された設定内のウェイターを一覧表示します。

testIamPermissions

指定したリソースに対して呼び出し元が持っている権限を返します。