REST Resource: projects.locations.backupPlans

リソース: BackupPlan

バックアップの「ライン」の構成とスケジューリングを定義します。

JSON 表現
{
  "name": string,
  "uid": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "cluster": string,
  "retentionPolicy": {
    object (RetentionPolicy)
  },
  "labels": {
    string: string,
    ...
  },
  "backupSchedule": {
    object (Schedule)
  },
  "etag": string,
  "deactivated": boolean,
  "backupConfig": {
    object (BackupConfig)
  },
  "protectedPodCount": integer,
  "state": enum (State),
  "stateReason": string
}
フィールド
name

string

出力専用。BackupPlan リソースの完全な名前。形式: projects/*/locations/*/backupPlans/*

uid

string

出力専用。サーバー生成の UUID 形式のグローバル固有識別子。

createTime

string (Timestamp format)

出力専用。この BackupPlan リソースが作成されたときのタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力専用。この BackupPlan リソースが最後に更新されたときのタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

description

string

ユーザーが指定した、この BackupPlan の説明文字列。

cluster

string

必須。変更不可。この BackupPlan によってバックアップが作成されるソースクラスタ。有効な形式:

  • projects/*/locations/*/clusters/*
  • projects/*/zones/*/clusters/*
retentionPolicy

object (RetentionPolicy)

RetentionPolicy は、このプランで作成されたバックアップのライフサイクルを管理します。

labels

map (key: string, value: string)

ユーザーが指定した一連のカスタムラベル。

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

backupSchedule

object (Schedule)

この BackupPlan を使用して自動バックアップの作成スケジュールを定義します。

etag

string

出力専用。etag は、オプティミスティック同時実行制御でバックアップ プランの同時更新による相互上書きを防ぐために使用されます。競合状態の発生を回避する目的で、BackupPlan 更新の読み込み・変更・書き込みサイクルでは 'etag' を活用することを強くおすすめします。backupPlans.get へのレスポンスでは etag が返されます。その etag を backupPlans.patch または backupPlans.delete に対するリクエストに配置すれば、対応する変更が同じバージョンのリソースに確実に適用されるようになります。

deactivated

boolean

このフラグは、この BackupPlan が無効になっているかどうかを示します。このフィールドを True に設定すると、BackupPlan がロックされ、無効化されたフィールド自体を含め、それ以降の更新(削除を除く)は許可されなくなります。また、この BackupPlan を介して新しいバックアップ(スケジュールされたバックアップを含む)が作成されないようにします。

デフォルト: false

backupConfig

object (BackupConfig)

この BackupPlan で作成されたバックアップの構成を定義します。

protectedPodCount

integer

出力専用。この BackupPlan で作成された最後のバックアップでバックアップされた Kubernetes Pod の数。

state

enum (State)

出力専用。BackupPlan の状態。この State フィールドは、作成オペレーション中に BackupPlan が存在する可能性のあるさまざまなステージを表します。更新時に BackupPlan が無効になっている場合は「DEACTIVATED」に設定されます。

stateReason

string

出力専用。BackupPlan が現在の state にある理由に関する説明(人が読める形式)

RetentionPolicy

RetentionPolicy は、BackupPlan のバックアップ保持ポリシーを定義します。

JSON 表現
{
  "backupDeleteLockDays": integer,
  "backupRetainDays": integer,
  "locked": boolean
}
フィールド
backupDeleteLockDays

integer

この BackupPlan で作成されたバックアップの最短存続期間(日数)。このフィールドは、0~90 の整数値でなければなりません。この BackupPlan で作成されたバックアップは、バックアップの(createTime + backupDeleteLockDays)に達するまで削除できません。BackupPlan のこのフィールドを更新しても、その BackupPlan の下にある既存のバックアップには影響しません。更新が成功した後に作成されたバックアップは、新しい値を継承します。

デフォルト: 0(削除のブロックなし)

backupRetainDays

integer

この BackupPlan で作成されたバックアップのデフォルトの最長存続期間。このフィールドは、0 以上 365 以下の整数値でなければなりません。指定した場合、この BackupPlan で作成されたバックアップは、存続期間(createTime + backupRetainDays)に達すると自動的に削除されます。指定しない場合、この BackupPlan で作成されたバックアップは自動的に削除されません。このフィールドを更新しても、その下の既存のバックアップには影響しません。更新が成功した後に作成されたバックアップは、新しい値を自動的に取得します。注: backupRetainDays は backupDeleteLockDays 以上である必要があります。cronSchedule が定義されている場合、これは 360(作成間隔)以下にする必要があります。

デフォルト: 0(自動削除なし)

locked

boolean

このフラグは、この BackupPlan の保持ポリシーがロックされているかどうかを示します。True に設定すると、locked フィールド自体を含め、このポリシーの更新ができなくなります。

デフォルト: false

スケジュール

この BackupPlan を使用してバックアップを自動的に作成するためのスケジュール パラメータを定義します。

JSON 表現
{
  "cronSchedule": string,
  "paused": boolean
}
フィールド
cronSchedule

string

この BackupPlan を介してバックアップを作成するための繰り返しスケジュールを定義する標準の cron 文字列。BackupPlan に定義できるスケジュールは 1 つだけであるため、rpoConfig フィールドとは併用できません。これを定義する場合は、backupRetainDays も定義する必要があります。

デフォルト(空白): 自動バックアップは作成されません。

paused

boolean

このフラグは、この BackupPlan でバックアップの自動作成が一時停止されているかどうかを示します。

デフォルト: false

BackupConfig

BackupConfig は、この BackupPlan で作成されたバックアップの構成を定義します。

JSON 表現
{
  "includeVolumeData": boolean,
  "includeSecrets": boolean,
  "encryptionKey": {
    object (EncryptionKey)
  },

  // Union field backup_scope can be only one of the following:
  "allNamespaces": boolean,
  "selectedNamespaces": {
    object (Namespaces)
  },
  "selectedApplications": {
    object (NamespacedNames)
  }
  // End of list of possible types for union field backup_scope.
}
フィールド
includeVolumeData

boolean

このフラグは、PVC がバックアップのスコープ内にあるときにボリューム データをバックアップするかどうかを指定します。

デフォルト: false

includeSecrets

boolean

このフラグは、Kubernetes Secret リソースがバックアップの範囲内にある場合に含めるかどうかを指定します。

デフォルト: false

encryptionKey

object (EncryptionKey)

これにより、このプランで作成されたバックアップの「config」部分(Kubernetes リソース)の暗号化に使用される顧客管理の暗号鍵が定義されます。

デフォルト(空): Config バックアップ アーティファクトは暗号化されません。

共用体フィールド backup_scope。これにより、バックアップの「スコープ」が定義されます。これは、クラスタ内のどの名前空間リソースをバックアップに含めるかを示します。backup_scope のフィールドのうち 1 つだけを指定する必要があります。backup_scope は次のいずれかになります。
allNamespaces

boolean

True の場合、すべての名前空間付きリソースが含まれます。

selectedNamespaces

object (Namespaces)

設定されている場合、リストされている名前空間のリソースのみが含まれます。

selectedApplications

object (NamespacedNames)

設定されている場合、リストされている ProtectedApplications によって参照されるリソースのみが含まれます。

状態

状態

列挙型
STATE_UNSPECIFIED 列挙型のデフォルトの最初の値。
CLUSTER_PENDING クラスタの状態が RUNNING になるのを待っています。
PROVISIONING BackupPlan は作成中です。
READY BackupPlan が正常に作成され、バックアップの準備が整いました。
FAILED BackupPlan の作成に失敗しました。
DEACTIVATED BackupPlan が無効になっています。
DELETING BackupPlan は削除中です。

方法

create

指定されたロケーションに新しい BackupPlan を作成します。

delete

既存の BackupPlan を削除します。

get

1 つの BackupPlan の詳細を取得します。

getIamPolicy

リソースのアクセス制御ポリシーを取得します。

list

特定のロケーションにある BackupPlan を一覧表示します。

patch

バックアップ プランを更新します。

setIamPolicy

指定したリソースにアクセス制御ポリシーを設定します。

testIamPermissions

呼び出し元が指定されたリソース上で持つ権限を返します。