# Backup and DR Service API . projects . locations . backupPlans . revisions

## Instance Methods

Close httplib2 connections.

Gets details of a single BackupPlanRevision.

Lists BackupPlanRevisions in a given project and location.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`get(name, x__xgafv=None)`

    Gets details of a single BackupPlanRevision.

    Args:
      name: string, Required. The resource name of the `BackupPlanRevision` to retrieve. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # `BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.
      "backupPlanSnapshot": { # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads. # The Backup Plan being encompassed by this revision.
        "backupRules": [ # Optional. The backup rules for this `BackupPlan`.
          { # `BackupRule` binds the backup schedule to a retention policy.
            "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.
            "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
            "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
              "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
                "endHourOfDay": 42, # Required. The hour of day (1-24) when the window end for example if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
                "startHourOfDay": 42, # Required. The hour of day (0-23) when the window starts for example if value of start hour of day is 6 that mean backup window start at 6:00.
              },
              "daysOfMonth": [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
                42,
              ],
              "daysOfWeek": [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
                "A String",
              ],
              "hourlyFrequency": 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 1 means jobs will run every 1 hour from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. The supported values for each resource type are as follows: * `compute.googleapis.com/Instance`: 1-23 * `compute.googleapis.com/Disk`: 1-23 * `sqladmin.googleapis.com/Instance`: 6-23 * `alloydb.googleapis.com/Cluster`: 1-23 * `file.googleapis.com/Instance`: 1-23 Refer to link https://cloud.google.com/backup-disaster-recovery/docs/concepts/cloud_best_practices for more details.
              "months": [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
                "A String",
              ],
              "recurrenceType": "A String", # Required. Specifies the `RecurrenceType` for the schedule.
              "timeZone": "A String", # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For example, Europe/Paris.
              "weekDayOfMonth": { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
                "dayOfWeek": "A String", # Required. Specifies the day of the week.
                "weekOfMonth": "A String", # Required. Specifies the week of the month.
              },
            },
          },
        ],
        "backupVault": "A String", # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
        "backupVaultServiceAccount": "A String", # Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
        "computeInstanceBackupPlanProperties": { # Properties for a compute instance backup plan. # Optional. Defines optional properties specific to backups of compute instance-based resources, such as Compute Engine. This includes settings like whether to perform a guest flush.
          "bootDiskOnly": True or False, # Optional. If true, only the boot disk will be backed up.
          "diskExclusionLabels": { # Message for selective disk backup exclusion labels. # Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).
            "labels": [ # Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).
              { # Message for a label key-value pair.
                "key": "A String", # Key of the label. The key must follow the format: `\\p{Ll}\\p{Lo}{0,62}`. This means the key must start with a lowercase letter or a lowercase international character, followed by zero or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The key must be at most 63 characters long. International characters are allowed.
                "value": "A String", # Value of the label. The value must follow the format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`. This means the value must be one or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The value must be at most 63 characters long. International characters are allowed.
              },
            ],
          },
          "guestFlush": True or False, # Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.
        },
        "createTime": "A String", # Output only. When the `BackupPlan` was created.
        "description": "A String", # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: "This is a backup plan that performs a daily backup at 6pm and retains data for 3 months". The description must be at most 2048 characters.
        "diskBackupPlanProperties": { # Properties for a disk backup plan. # Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush.
          "guestFlush": True or False, # Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.
        },
        "etag": "A String", # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
        "labels": { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {"tag": "Weekly"}.
          "a_key": "A String",
        },
        "logRetentionDays": "A String", # Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
        "maxCustomOnDemandRetentionDays": 42, # Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.
        "name": "A String", # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
        "resourceType": "A String", # Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance", "sqladmin.googleapis.com/Instance", "alloydb.googleapis.com/Cluster", "compute.googleapis.com/Disk".
        "revisionId": "A String", # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
        "revisionName": "A String", # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
        "state": "A String", # Output only. The `State` for the `BackupPlan`.
        "supportedResourceTypes": [ # Output only. All resource types to which backupPlan can be applied.
          "A String",
        ],
        "updateTime": "A String", # Output only. When the `BackupPlan` was last updated.
      },
      "createTime": "A String", # Output only. The timestamp that the revision was created.
      "name": "A String", # Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`
      "revisionId": "A String", # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
      "state": "A String", # Output only. Resource State
    }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists BackupPlanRevisions in a given project and location.

    Args:
      parent: string, Required. The project and location for which to retrieve `BackupPlanRevisions` information. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`. In Google Cloud Backup and DR, locations map to Google Cloud regions, for example **us-central1**. (required)
      pageSize: integer, Optional. The maximum number of `BackupPlans` to return in a single response. If not specified, a default value will be chosen by the service. Note that the response may include a partial list and a caller should only rely on the response's next_page_token to determine if there are more instances left to be queried.
      pageToken: string, Optional. The value of next_page_token received from a previous `ListBackupPlans` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlans` must match the call that provided the page token.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for getting a list of `BackupPlanRevision`.
      "backupPlanRevisions": [ # The list of `BackupPlanRevisions` in the project for the specified location. If the `{location}` value in the request is "-", the response contains a list of resources from all locations. In case any location is unreachable, the response will only return backup plans in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations.
        { # `BackupPlanRevision` represents a snapshot of a `BackupPlan` at a point in time.
          "backupPlanSnapshot": { # A `BackupPlan` specifies some common fields, such as `description` as well as one or more `BackupRule` messages. Each `BackupRule` has a retention policy and defines a schedule by which the system is to perform backup workloads. # The Backup Plan being encompassed by this revision.
            "backupRules": [ # Optional. The backup rules for this `BackupPlan`.
              { # `BackupRule` binds the backup schedule to a retention policy.
                "backupRetentionDays": 42, # Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 36159 for custom retention on-demand backup. Minimum and maximum values are workload specific for all other rules. Note: Longer retention can lead to higher storage costs post introductory trial. We recommend starting with a short duration of 3 days or less.
                "ruleId": "A String", # Required. Immutable. The unique id of this `BackupRule`. The `rule_id` is unique per `BackupPlan`.The `rule_id` must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens. Pattern, /a-z{,62}/.
                "standardSchedule": { # `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. # Optional. Defines a schedule that runs within the confines of a defined window of time.
                  "backupWindow": { # `BackupWindow` defines a window of the day during which backup jobs will run. # Required. A BackupWindow defines the window of day during which backup jobs will run. Jobs are queued at the beginning of the window and will be marked as `NOT_RUN` if they do not start by the end of the window. Note: running jobs will not be cancelled at the end of the window.
                    "endHourOfDay": 42, # Required. The hour of day (1-24) when the window end for example if value of end hour of day is 10 that mean backup window end time is 10:00. End hour of day should be greater than start hour of day. 0 <= start_hour_of_day < end_hour_of_day <= 24 End hour of day is not include in backup window that mean if end_hour_of_day= 10 jobs should start before 10:00.
                    "startHourOfDay": 42, # Required. The hour of day (0-23) when the window starts for example if value of start hour of day is 6 that mean backup window start at 6:00.
                  },
                  "daysOfMonth": [ # Optional. Specifies days of months like 1, 5, or 14 on which jobs will run. Values for `days_of_month` are only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
                    42,
                  ],
                  "daysOfWeek": [ # Optional. Specifies days of week like, MONDAY or TUESDAY, on which jobs will run. This is required for `recurrence_type`, `WEEKLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `WEEKLY`.
                    "A String",
                  ],
                  "hourlyFrequency": 42, # Optional. Specifies frequency for hourly backups. A hourly frequency of 1 means jobs will run every 1 hour from start time till end time defined. This is required for `recurrence_type`, `HOURLY` and is not applicable otherwise. A validation error will occur if a value is supplied and `recurrence_type` is not `HOURLY`. The supported values for each resource type are as follows: * `compute.googleapis.com/Instance`: 1-23 * `compute.googleapis.com/Disk`: 1-23 * `sqladmin.googleapis.com/Instance`: 6-23 * `alloydb.googleapis.com/Cluster`: 1-23 * `file.googleapis.com/Instance`: 1-23 Refer to link https://cloud.google.com/backup-disaster-recovery/docs/concepts/cloud_best_practices for more details.
                  "months": [ # Optional. Specifies the months of year, like `FEBRUARY` and/or `MAY`, on which jobs will run. This field is only applicable when `recurrence_type` is `YEARLY`. A validation error will occur if other values are supplied.
                    "A String",
                  ],
                  "recurrenceType": "A String", # Required. Specifies the `RecurrenceType` for the schedule.
                  "timeZone": "A String", # Required. The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the IANA tz database. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the list of valid timezone names. For example, Europe/Paris.
                  "weekDayOfMonth": { # `WeekDayOfMonth` defines the week day of the month on which the backups will run. The message combines a `WeekOfMonth` and `DayOfWeek` to produce values like `FIRST`/`MONDAY` or `LAST`/`FRIDAY`. # Optional. Specifies a week day of the month like, FIRST SUNDAY or LAST MONDAY, on which jobs will run. This will be specified by two fields in `WeekDayOfMonth`, one for the day, e.g. `MONDAY`, and one for the week, e.g. `LAST`. This field is only applicable for `recurrence_type`, `MONTHLY` and `YEARLY`. A validation error will occur if other values are supplied.
                    "dayOfWeek": "A String", # Required. Specifies the day of the week.
                    "weekOfMonth": "A String", # Required. Specifies the week of the month.
                  },
                },
              },
            ],
            "backupVault": "A String", # Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault}
            "backupVaultServiceAccount": "A String", # Output only. The Google Cloud service account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account.
            "computeInstanceBackupPlanProperties": { # Properties for a compute instance backup plan. # Optional. Defines optional properties specific to backups of compute instance-based resources, such as Compute Engine. This includes settings like whether to perform a guest flush.
              "bootDiskOnly": True or False, # Optional. If true, only the boot disk will be backed up.
              "diskExclusionLabels": { # Message for selective disk backup exclusion labels. # Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).
                "labels": [ # Optional. Labels used to identify disks for exclusion from the backup. If a disk carries any of these labels, it will be excluded (OR logic).
                  { # Message for a label key-value pair.
                    "key": "A String", # Key of the label. The key must follow the format: `\\p{Ll}\\p{Lo}{0,62}`. This means the key must start with a lowercase letter or a lowercase international character, followed by zero or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The key must be at most 63 characters long. International characters are allowed.
                    "value": "A String", # Value of the label. The value must follow the format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`. This means the value must be one or more lowercase letters, lowercase international characters, numbers, underscores, or dashes. The value must be at most 63 characters long. International characters are allowed.
                  },
                ],
              },
              "guestFlush": True or False, # Optional. Indicates whether to perform a guest flush operation before taking a compute backup. When set to false, the system will create crash-consistent backups. Default value is false.
            },
            "createTime": "A String", # Output only. When the `BackupPlan` was created.
            "description": "A String", # Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: "This is a backup plan that performs a daily backup at 6pm and retains data for 3 months". The description must be at most 2048 characters.
            "diskBackupPlanProperties": { # Properties for a disk backup plan. # Optional. Defines optional properties specific to backups of disk-based resources, such as Compute Engine Persistent Disks. This includes settings like whether to perform a guest flush.
              "guestFlush": True or False, # Optional. Indicates whether to perform a guest flush operation before taking a disk backup. When set to false, the system will create crash-consistent backups. Default value is false.
            },
            "etag": "A String", # Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources.
            "labels": { # Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {"tag": "Weekly"}.
              "a_key": "A String",
            },
            "logRetentionDays": "A String", # Optional. Applicable only for Cloud SQL resource_type. Configures how long logs will be stored. It is defined in “days”. This value should be greater than or equal to minimum enforced log retention duration of the backup vault.
            "maxCustomOnDemandRetentionDays": 42, # Optional. Optional field to configure the maximum number of days for which a backup can be retained. This field is only applicable for on-demand backups taken with custom retention value.
            "name": "A String", # Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}`
            "resourceType": "A String", # Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance", "sqladmin.googleapis.com/Instance", "alloydb.googleapis.com/Cluster", "compute.googleapis.com/Disk".
            "revisionId": "A String", # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
            "revisionName": "A String", # Output only. The resource id of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision_id}`
            "state": "A String", # Output only. The `State` for the `BackupPlan`.
            "supportedResourceTypes": [ # Output only. All resource types to which backupPlan can be applied.
              "A String",
            ],
            "updateTime": "A String", # Output only. When the `BackupPlan` was last updated.
          },
          "createTime": "A String", # Output only. The timestamp that the revision was created.
          "name": "A String", # Output only. Identifier. The resource name of the `BackupPlanRevision`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}/revisions/{revision}`
          "revisionId": "A String", # Output only. The user friendly revision ID of the `BackupPlanRevision`. Example: v0, v1, v2, etc.
          "state": "A String", # Output only. Resource State
        },
      ],
      "nextPageToken": "A String", # A token which may be sent as page_token in a subsequent `ListBackupPlanRevisions` call to retrieve the next page of results. If this field is omitted or empty, then there are no more results to return.
      "unreachable": [ # Locations that could not be reached.
        "A String",
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.