- Resource: BackupPlan
- RetentionPolicy
- Schedule
- RpoConfig
- ExclusionWindow
- TimeOfDay
- Date
- DayOfWeekList
- DayOfWeek
- BackupConfig
- State
- Methods
Resource: BackupPlan
Defines the configuration and scheduling for a "line" of Backups.
JSON representation |
---|
{ "name": string, "uid": string, "createTime": string, "updateTime": string, "description": string, "cluster": string, "retentionPolicy": { object ( |
Fields | |
---|---|
name |
Output only. The full name of the BackupPlan resource. Format: |
uid |
Output only. Server generated global unique identifier of UUID format. |
createTime |
Output only. The timestamp when this BackupPlan resource was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Output only. The timestamp when this BackupPlan resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
description |
Optional. User specified descriptive string for this BackupPlan. |
cluster |
Required. Immutable. The source cluster from which Backups will be created via this BackupPlan. Valid formats:
|
retentionPolicy |
Optional. RetentionPolicy governs lifecycle of Backups created under this plan. |
labels |
Optional. A set of custom labels supplied by user. An object containing a list of |
backupSchedule |
Optional. Defines a schedule for automatic Backup creation via this BackupPlan. |
etag |
Output only. |
deactivated |
Optional. This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed (except deletes), including the deactivated field itself. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups). Default: False |
backupConfig |
Optional. Defines the configuration of Backups created via this BackupPlan. |
protectedPodCount |
Output only. The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan. |
state |
Output only. State of the BackupPlan. This State field reflects the various stages a BackupPlan can be in during the Create operation. It will be set to "DEACTIVATED" if the BackupPlan is deactivated on an Update |
stateReason |
Output only. Human-readable description of why BackupPlan is in the current |
rpoRiskLevel |
Output only. A number that represents the current risk level of this BackupPlan from RPO perspective with 1 being no risk and 5 being highest risk. |
rpoRiskReason |
Output only. Human-readable description of why the BackupPlan is in the current rpoRiskLevel and action items if any. |
RetentionPolicy
RetentionPolicy defines a Backup retention policy for a BackupPlan.
JSON representation |
---|
{ "backupDeleteLockDays": integer, "backupRetainDays": integer, "locked": boolean } |
Fields | |
---|---|
backupDeleteLockDays |
Optional. Minimum age for Backups created via this BackupPlan (in days). This field MUST be an integer value between 0-90 (inclusive). A Backup created under this BackupPlan will NOT be deletable until it reaches Backup's (createTime + backupDeleteLockDays). Updating this field of a BackupPlan does NOT affect existing Backups under it. Backups created AFTER a successful update will inherit the new value. Default: 0 (no delete blocking) |
backupRetainDays |
Optional. The default maximum age of a Backup created via this BackupPlan. This field MUST be an integer value >= 0 and <= 365. If specified, a Backup created under this BackupPlan will be automatically deleted after its age reaches (createTime + backupRetainDays). If not specified, Backups created under this BackupPlan will NOT be subject to automatic deletion. Updating this field does NOT affect existing Backups under it. Backups created AFTER a successful update will automatically pick up the new value. NOTE: backupRetainDays must be >= Default: 0 (no automatic deletion) |
locked |
Optional. This flag denotes whether the retention policy of this BackupPlan is locked. If set to True, no further update is allowed on this policy, including the Default: False |
Schedule
Defines scheduling parameters for automatically creating Backups via this BackupPlan.
JSON representation |
---|
{
"cronSchedule": string,
"paused": boolean,
"rpoConfig": {
object ( |
Fields | |
---|---|
cronSchedule |
Optional. A standard cron string that defines a repeating schedule for creating Backups via this BackupPlan. This is mutually exclusive with the Default (empty): no automatic backup creation will occur. |
paused |
Optional. This flag denotes whether automatic Backup creation is paused for this BackupPlan. Default: False |
rpoConfig |
Optional. Defines the RPO schedule configuration for this BackupPlan. This is mutually exclusive with the Default (empty): no automatic backup creation will occur. |
nextScheduledBackupTime |
Output only. Start time of next scheduled backup under this BackupPlan by either cronSchedule or rpo config. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
RpoConfig
Defines RPO scheduling configuration for automatically creating Backups via this BackupPlan.
JSON representation |
---|
{
"targetRpoMinutes": integer,
"exclusionWindows": [
{
object ( |
Fields | |
---|---|
targetRpoMinutes |
Required. Defines the target RPO for the BackupPlan in minutes, which means the target maximum data loss in time that is acceptable for this BackupPlan. This must be at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days. |
exclusionWindows[] |
Optional. User specified time windows during which backup can NOT happen for this BackupPlan - backups should start and finish outside of any given exclusion window. Note: backup jobs will be scheduled to start and finish outside the duration of the window as much as possible, but running jobs will not get canceled when it runs into the window. All the time and date values in exclusionWindows entry in the API are in UTC. We only allow <=1 recurrence (daily or weekly) exclusion window for a BackupPlan while no restriction on number of single occurrence windows. |
ExclusionWindow
Defines a time window during which no backup should happen. All time and date are in UTC.
JSON representation |
---|
{ "startTime": { object ( |
Fields | |
---|---|
startTime |
Required. Specifies the start time of the window using time of the day in UTC. |
duration |
Required. Specifies duration of the window. Duration must be >= 5 minutes and < (target RPO - 20 minutes). Additional restrictions based on the recurrence type to allow some time for backup to happen: - singleOccurrenceDate: no restriction, but UI may warn about this when duration >= target RPO - daily window: duration < 24 hours - weekly window: - days of week includes all seven days of a week: duration < 24 hours - all other weekly window: duration < 168 hours (i.e., 24 * 7 hours) A duration in seconds with up to nine fractional digits, ending with ' |
Union field recurrence . Required. Specifies the day(s) on which the exclusion window takes effect. Exactly one of the fields MUST be specified. recurrence can be only one of the following: |
|
singleOccurrenceDate |
No recurrence. The exclusion window occurs only once and on this date in UTC. |
daily |
The exclusion window occurs every day if set to "True". Specifying this field to "False" is an error. |
daysOfWeek |
The exclusion window occurs on these days of each week in UTC. |
TimeOfDay
Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date
and google.protobuf.Timestamp
.
JSON representation |
---|
{ "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer } |
Fields | |
---|---|
hours |
Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. |
minutes |
Minutes of hour of day. Must be from 0 to 59. |
seconds |
Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. |
nanos |
Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. |
Date
Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:
- A full date, with non-zero year, month, and day values.
- A month and day, with a zero year (for example, an anniversary).
- A year on its own, with a zero month and a zero day.
- A year and month, with a zero day (for example, a credit card expiration date).
Related types:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
JSON representation |
---|
{ "year": integer, "month": integer, "day": integer } |
Fields | |
---|---|
year |
Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. |
month |
Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. |
day |
Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
DayOfWeekList
Holds repeated DaysOfWeek values as a container.
JSON representation |
---|
{
"daysOfWeek": [
enum ( |
Fields | |
---|---|
daysOfWeek[] |
Optional. A list of days of week. |
DayOfWeek
Represents a day of the week.
Enums | |
---|---|
DAY_OF_WEEK_UNSPECIFIED |
The day of the week is unspecified. |
MONDAY |
Monday |
TUESDAY |
Tuesday |
WEDNESDAY |
Wednesday |
THURSDAY |
Thursday |
FRIDAY |
Friday |
SATURDAY |
Saturday |
SUNDAY |
Sunday |
BackupConfig
BackupConfig defines the configuration of Backups created via this BackupPlan.
JSON representation |
---|
{ "includeVolumeData": boolean, "includeSecrets": boolean, "encryptionKey": { object ( |
Fields | |
---|---|
includeVolumeData |
Optional. This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup. Default: False |
includeSecrets |
Optional. This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups. Default: False |
encryptionKey |
Optional. This defines a customer managed encryption key that will be used to encrypt the "config" portion (the Kubernetes resources) of Backups created via this plan. Default (empty): Config backup artifacts will not be encrypted. |
permissiveMode |
Optional. If false, Backups will fail when Backup for GKE detects Kubernetes configuration that is non-standard or requires additional setup to restore. Default: False |
Union field backup_scope . This defines the "scope" of the Backup - which namespaced resources in the cluster will be included in a Backup. Exactly one of the fields of backup_scope MUST be specified. backup_scope can be only one of the following: |
|
allNamespaces |
If True, include all namespaced resources |
selectedNamespaces |
If set, include just the resources in the listed namespaces. |
selectedApplications |
If set, include just the resources referenced by the listed ProtectedApplications. |
State
State
Enums | |
---|---|
STATE_UNSPECIFIED |
Default first value for Enums. |
CLUSTER_PENDING |
Waiting for cluster state to be RUNNING. |
PROVISIONING |
The BackupPlan is in the process of being created. |
READY |
The BackupPlan has successfully been created and is ready for Backups. |
FAILED |
BackupPlan creation has failed. |
DEACTIVATED |
The BackupPlan has been deactivated. |
DELETING |
The BackupPlan is in the process of being deleted. |
Methods |
|
---|---|
|
Creates a new BackupPlan in a given location. |
|
Deletes an existing BackupPlan. |
|
Retrieve the details of a single BackupPlan. |
|
Gets the access control policy for a resource. |
|
Lists BackupPlans in a given location. |
|
Update a BackupPlan. |
|
Sets the access control policy on the specified resource. |
|
Returns permissions that a caller has on the specified resource. |