ポストローテーションの結果とエラー

結果

スクリプトを実行すると、次の情報が返されます。結果は、実行された各スクリプトのRotationResultのインスタンスを含む配列です。RotationResultクラスには、以下の属性があります。

  • uid - スクリプトが添付されたKeeperボルトのUID記録。

  • command - シェルに発行されたコマンド。

  • system - スクリプトの実行基盤となるオペレーティングシステム。

  • title - Keeperボルトの記録に添付されたスクリプトファイルのタイトル。

  • name - Keeperボルトの記録に添付されたスクリプトの名前。

  • success - スクリプト実行の成功

    • LinuxおよびmacOS - リターンコード0を返したスクリプト。

    • Windows - Trueステータスを返したスクリプト。

  • stdout - スクリプト実行結果の標準出力。

  • stderr - スクリプト実行結果の標準エラー。

または、以下のメソッドを使用して、スクリプト実行の成否を判断できます。

メソッド説明

was_failure

ブール値。失敗した場合はTrue、成功した場合はFalseを返します

was_success

ブール値。成功した場合はTrue、失敗した場合はFalseを返します

これにより、ログ出力をカスタマイズできます。

Example in Python
for r in results:
    if r.was_failure:
        print(f"For record {r.uid}, the script {r.title} failed: {r.stderr}")

エラー

RotationResultクラスには、スクリプトの実行によるエラーをログに記録するstderr属性があります。

ポストローテーション実行スクリプトの結果とエラー

ポストローテーションスクリプトの結果と情報は、RotationResultクラスで取得できますが、スクリプトのエラーと出力は、スクリプトが実行されるシェルの種類によって異なります。Keeperには、顧客が制御するスクリプトのエラー定義の情報がないため、スクリプトの標準出力も標準エラーもチェックしません

たとえば、BASHスクリプトにset -eが設定されていない場合、スクリプトの一部が失敗してもスクリプトは続行されます。スクリプトがリターンコード0で終了した場合、スクリプトは成功としてフラグが付けられます。

そのため、スクリプトの出力とエラーを適切に処理するのはユーザーの役目です。

最終更新