# Backup for GKE API . projects . locations . backupChannels . backupPlanBindings

## Instance Methods

Close httplib2 connections.

Retrieve the details of a single BackupPlanBinding.

Lists BackupPlanBindings in a given location.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`get(name, x__xgafv=None)`

    Retrieve the details of a single BackupPlanBinding.

    Args:
      name: string, Required. Fully qualified BackupPlanBinding name. Format: `projects/*/locations/*/backupChannels/*/backupPlanBindings/*` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A BackupPlanBinding binds a BackupPlan with a BackupChannel. This resource is created automatically when a BackupPlan is created using a BackupChannel. This also serves as a holder for cross-project fields that need to be displayed in the current project.
      "backupPlan": "A String", # Output only. Immutable. The fully qualified name of the BackupPlan bound with the parent BackupChannel. `projects/*/locations/*/backupPlans/{backup_plan}`
      "backupPlanDetails": { # Contains metadata about the backup plan/backup. # Output only. Contains details about the backup plan/backup.
        "backupConfigDetails": { # BackupConfigDetails defines the configuration of Backups created via this BackupPlan. # Output only. Contains details about the BackupConfig of Backups created via this BackupPlan.
          "allNamespaces": True or False, # Output only. If True, include all namespaced resources
          "encryptionKey": { # Defined a customer managed encryption key that will be used to encrypt Backup artifacts. # Output only. 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.
            "gcpKmsEncryptionKey": "A String", # Optional. Google Cloud KMS encryption key. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`
          },
          "includeSecrets": True or False, # Output only. This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups. Default: False
          "includeVolumeData": True or False, # Output only. This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup. Default: False
          "selectedApplications": { # A list of namespaced Kubernetes resources. # Output only. If set, include just the resources referenced by the listed ProtectedApplications.
            "namespacedNames": [ # Optional. A list of namespaced Kubernetes resources.
              { # A reference to a namespaced resource in Kubernetes.
                "name": "A String", # Optional. The name of the Kubernetes resource.
                "namespace": "A String", # Optional. The Namespace of the Kubernetes resource.
              },
            ],
          },
          "selectedNamespaces": { # A list of Kubernetes Namespaces. # Output only. If set, include just the resources in the listed namespaces.
            "namespaces": [ # Optional. A list of Kubernetes Namespaces.
              "A String",
            ],
          },
        },
        "lastSuccessfulBackup": "A String", # Output only. The fully qualified name of the last successful Backup created under this BackupPlan. `projects/*/locations/*/backupPlans/*/backups/*`
        "lastSuccessfulBackupTime": "A String", # Output only. Completion time of the last successful Backup. This is sourced from a successful Backup's complete_time field.
        "nextScheduledBackupTime": "A String", # Output only. Start time of next scheduled backup under this BackupPlan by either cron_schedule or rpo config. This is sourced from BackupPlan.
        "protectedPodCount": 42, # Output only. The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.
        "retentionPolicyDetails": { # RetentionPolicyDetails defines a Backup retention policy for a BackupPlan. # Output only. Contains details about the RetentionPolicy of Backups created via this BackupPlan.
          "backupDeleteLockDays": 42, # 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 (create_time + backup_delete_lock_days). 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": 42, # 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 (create_time + backup_retain_days). If not specified, Backups created under this BackupPlan will NOT be subject to automatic deletion. Default: 0 (no automatic deletion)
        },
        "rpoRiskLevel": 42, # 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.
        "state": "A String", # Output only. State of the BackupPlan.
      },
      "cluster": "A String", # Output only. Immutable. The fully qualified name of the cluster that is being backed up Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*`
      "createTime": "A String", # Output only. The timestamp when this binding was created.
      "etag": "A String", # Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a BackupPlanBinding from overwriting each other. It is strongly suggested that systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlanBinding updates in order to avoid race conditions: An `etag` is returned in the response to `GetBackupPlanBinding`, and systems are expected to put that etag in the request to `UpdateBackupPlanBinding` or `DeleteBackupPlanBinding` to ensure that their change will be applied to the same version of the resource.
      "name": "A String", # Identifier. The fully qualified name of the BackupPlanBinding. `projects/*/locations/*/backupChannels/*/backupPlanBindings/*`
      "uid": "A String", # Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier)
      "updateTime": "A String", # Output only. The timestamp when this binding was created.
    }

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

    Lists BackupPlanBindings in a given location.

    Args:
      parent: string, Required. The BackupChannel that contains the BackupPlanBindings to list. Format: `projects/*/locations/*/backupChannels/*` (required)
      filter: string, Optional. Field match expression used to filter the results.
      orderBy: string, Optional. Field by which to sort the results.
      pageSize: integer, Optional. The target number of results 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 `ListBackupPlanBindings` call. Provide this to retrieve the subsequent page in a multi-page list of results. When paginating, all other parameters provided to `ListBackupPlanBindings` 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:

        { # Response message for ListBackupPlanBindings.
      "backupPlanBindings": [ # The list of BackupPlanBindings matching the given criteria.
        { # A BackupPlanBinding binds a BackupPlan with a BackupChannel. This resource is created automatically when a BackupPlan is created using a BackupChannel. This also serves as a holder for cross-project fields that need to be displayed in the current project.
          "backupPlan": "A String", # Output only. Immutable. The fully qualified name of the BackupPlan bound with the parent BackupChannel. `projects/*/locations/*/backupPlans/{backup_plan}`
          "backupPlanDetails": { # Contains metadata about the backup plan/backup. # Output only. Contains details about the backup plan/backup.
            "backupConfigDetails": { # BackupConfigDetails defines the configuration of Backups created via this BackupPlan. # Output only. Contains details about the BackupConfig of Backups created via this BackupPlan.
              "allNamespaces": True or False, # Output only. If True, include all namespaced resources
              "encryptionKey": { # Defined a customer managed encryption key that will be used to encrypt Backup artifacts. # Output only. 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.
                "gcpKmsEncryptionKey": "A String", # Optional. Google Cloud KMS encryption key. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`
              },
              "includeSecrets": True or False, # Output only. This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups. Default: False
              "includeVolumeData": True or False, # Output only. This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup. Default: False
              "selectedApplications": { # A list of namespaced Kubernetes resources. # Output only. If set, include just the resources referenced by the listed ProtectedApplications.
                "namespacedNames": [ # Optional. A list of namespaced Kubernetes resources.
                  { # A reference to a namespaced resource in Kubernetes.
                    "name": "A String", # Optional. The name of the Kubernetes resource.
                    "namespace": "A String", # Optional. The Namespace of the Kubernetes resource.
                  },
                ],
              },
              "selectedNamespaces": { # A list of Kubernetes Namespaces. # Output only. If set, include just the resources in the listed namespaces.
                "namespaces": [ # Optional. A list of Kubernetes Namespaces.
                  "A String",
                ],
              },
            },
            "lastSuccessfulBackup": "A String", # Output only. The fully qualified name of the last successful Backup created under this BackupPlan. `projects/*/locations/*/backupPlans/*/backups/*`
            "lastSuccessfulBackupTime": "A String", # Output only. Completion time of the last successful Backup. This is sourced from a successful Backup's complete_time field.
            "nextScheduledBackupTime": "A String", # Output only. Start time of next scheduled backup under this BackupPlan by either cron_schedule or rpo config. This is sourced from BackupPlan.
            "protectedPodCount": 42, # Output only. The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.
            "retentionPolicyDetails": { # RetentionPolicyDetails defines a Backup retention policy for a BackupPlan. # Output only. Contains details about the RetentionPolicy of Backups created via this BackupPlan.
              "backupDeleteLockDays": 42, # 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 (create_time + backup_delete_lock_days). 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": 42, # 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 (create_time + backup_retain_days). If not specified, Backups created under this BackupPlan will NOT be subject to automatic deletion. Default: 0 (no automatic deletion)
            },
            "rpoRiskLevel": 42, # 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.
            "state": "A String", # Output only. State of the BackupPlan.
          },
          "cluster": "A String", # Output only. Immutable. The fully qualified name of the cluster that is being backed up Valid formats: - `projects/*/locations/*/clusters/*` - `projects/*/zones/*/clusters/*`
          "createTime": "A String", # Output only. The timestamp when this binding was created.
          "etag": "A String", # Output only. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a BackupPlanBinding from overwriting each other. It is strongly suggested that systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlanBinding updates in order to avoid race conditions: An `etag` is returned in the response to `GetBackupPlanBinding`, and systems are expected to put that etag in the request to `UpdateBackupPlanBinding` or `DeleteBackupPlanBinding` to ensure that their change will be applied to the same version of the resource.
          "name": "A String", # Identifier. The fully qualified name of the BackupPlanBinding. `projects/*/locations/*/backupChannels/*/backupPlanBindings/*`
          "uid": "A String", # Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier)
          "updateTime": "A String", # Output only. The timestamp when this binding was created.
        },
      ],
      "nextPageToken": "A String", # A token which may be sent as page_token in a subsequent `ListBackupPlanBindingss` 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(previous_request, previous_response)`

    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.