Backup and DR Service API . projects . locations . autoProtectionPolicies

Instance Methods

bindings()

Returns the bindings Resource.

close()

Close httplib2 connections.

create(parent, autoProtectionPolicyId=None, body=None, x__xgafv=None)

Creates a new AutoProtectionPolicy in a given project and location.

delete(name, etag=None, x__xgafv=None)

Deletes a single AutoProtectionPolicy.

get(name, x__xgafv=None)

Gets details of a single AutoProtectionPolicy.

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

Lists AutoProtectionPolicies for a given project and location.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the parameters of a single AutoProtectionPolicy.

Method Details

close()
Close httplib2 connections.
create(parent, autoProtectionPolicyId=None, body=None, x__xgafv=None)
Creates a new AutoProtectionPolicy in a given project and location.

Args:
  parent: string, Required. The parent resource where this policy will be created. Format: projects/{project}/locations/{location} (required)
  body: object, The request body.
    The object takes the form of:

{ # An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.
  "backupPlanDetails": [ # Required. The backup plan details for matching resources.
    { # BackupPlanDetail defines configuration of protection.
      "backupPlan": "A String", # Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}
      "resourceType": "A String", # Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.
    },
  ],
  "bindingSummary": { # BindingSummary contains count of different containers covered through this policy. # Output only. Summary of total count of different containers covered through this policy.
    "projectCount": "A String", # Output only. Total count of Projects protected with this policy.
  },
  "createTime": "A String", # Output only. The timestamp when the policy was created.
  "criteria": { # Criteria specifies a set of criteria for matching resources. # Required. The criteria for matching resources.
    "matchingConditions": [ # Required. A list of matching conditions that a resource must meet to be protected by the policy.
      { # MatchingCondition specifies a set of conditions for matching resources.
        "labelCondition": { # KeyValuePair defines a key-value pair for matching resource labels. # Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match.
          "key": "A String", # Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\p{Ll}\p{Lo}{0,62}`.
          "values": [ # Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`.
            "A String",
          ],
        },
      },
    ],
  },
  "description": "A String", # Optional. A description of the policy.
  "etag": "A String", # Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.
  "name": "A String", # Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`
  "policyEvaluationSummary": { # PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources. # Output only. Summary of last policy application when job was run per workload type.
    "failedResourceCount": "A String", # Output only. The number of matching resources whose protection failed during job run.
    "matchingResourceCount": "A String", # Output only. The number of resources that currently match the policy's criteria.
    "protectedResourceCount": "A String", # Output only. The number of matching resources that are successfully protected.
  },
  "state": "A String", # Output only. The current state of the AutoprotectionPolicy.
  "updateTime": "A String", # Output only. The timestamp when the policy was last updated.
}

  autoProtectionPolicyId: string, Required. The ID to use for the policy. This will become the final component of the policy's resource name.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, etag=None, x__xgafv=None)
Deletes a single AutoProtectionPolicy.

Args:
  name: string, Required. The name of the policy to delete. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy} (required)
  etag: string, The current etag of the AutoProtectionPolicy. If an etag is provided and does not match the current etag of the connection, the request will be rejected with an ABORTED error.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, x__xgafv=None)
Gets details of a single AutoProtectionPolicy.

Args:
  name: string, Required. The name of the policy to retrieve. Format: projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy} (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.
  "backupPlanDetails": [ # Required. The backup plan details for matching resources.
    { # BackupPlanDetail defines configuration of protection.
      "backupPlan": "A String", # Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}
      "resourceType": "A String", # Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.
    },
  ],
  "bindingSummary": { # BindingSummary contains count of different containers covered through this policy. # Output only. Summary of total count of different containers covered through this policy.
    "projectCount": "A String", # Output only. Total count of Projects protected with this policy.
  },
  "createTime": "A String", # Output only. The timestamp when the policy was created.
  "criteria": { # Criteria specifies a set of criteria for matching resources. # Required. The criteria for matching resources.
    "matchingConditions": [ # Required. A list of matching conditions that a resource must meet to be protected by the policy.
      { # MatchingCondition specifies a set of conditions for matching resources.
        "labelCondition": { # KeyValuePair defines a key-value pair for matching resource labels. # Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match.
          "key": "A String", # Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\p{Ll}\p{Lo}{0,62}`.
          "values": [ # Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`.
            "A String",
          ],
        },
      },
    ],
  },
  "description": "A String", # Optional. A description of the policy.
  "etag": "A String", # Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.
  "name": "A String", # Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`
  "policyEvaluationSummary": { # PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources. # Output only. Summary of last policy application when job was run per workload type.
    "failedResourceCount": "A String", # Output only. The number of matching resources whose protection failed during job run.
    "matchingResourceCount": "A String", # Output only. The number of resources that currently match the policy's criteria.
    "protectedResourceCount": "A String", # Output only. The number of matching resources that are successfully protected.
  },
  "state": "A String", # Output only. The current state of the AutoprotectionPolicy.
  "updateTime": "A String", # Output only. The timestamp when the policy was last updated.
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists AutoProtectionPolicies for a given project and location.

Args:
  parent: string, Required. The project and location for which to retrieve the list of policies. Format: projects/{project}/locations/{location} (required)
  filter: string, Optional. A filter expression that filters resources listed in the response. The following fields are filterable:
  orderBy: string, Optional. An expression that sorts the results in the response. The following fields are sortable:
  pageSize: integer, Optional. The maximum number of policies to return in a single page. If unspecified, a server-default value will be used.
  pageToken: string, Optional. A page token, received from a previous `ListAutoProtectionPolicies` call. Provide this to retrieve the subsequent page.
  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 ListAutoProtectionPolicies.
  "autoProtectionPolicies": [ # A list of the AutoProtectionPolicy resources found.
    { # An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.
      "backupPlanDetails": [ # Required. The backup plan details for matching resources.
        { # BackupPlanDetail defines configuration of protection.
          "backupPlan": "A String", # Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}
          "resourceType": "A String", # Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.
        },
      ],
      "bindingSummary": { # BindingSummary contains count of different containers covered through this policy. # Output only. Summary of total count of different containers covered through this policy.
        "projectCount": "A String", # Output only. Total count of Projects protected with this policy.
      },
      "createTime": "A String", # Output only. The timestamp when the policy was created.
      "criteria": { # Criteria specifies a set of criteria for matching resources. # Required. The criteria for matching resources.
        "matchingConditions": [ # Required. A list of matching conditions that a resource must meet to be protected by the policy.
          { # MatchingCondition specifies a set of conditions for matching resources.
            "labelCondition": { # KeyValuePair defines a key-value pair for matching resource labels. # Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match.
              "key": "A String", # Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\p{Ll}\p{Lo}{0,62}`.
              "values": [ # Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`.
                "A String",
              ],
            },
          },
        ],
      },
      "description": "A String", # Optional. A description of the policy.
      "etag": "A String", # Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.
      "name": "A String", # Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`
      "policyEvaluationSummary": { # PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources. # Output only. Summary of last policy application when job was run per workload type.
        "failedResourceCount": "A String", # Output only. The number of matching resources whose protection failed during job run.
        "matchingResourceCount": "A String", # Output only. The number of resources that currently match the policy's criteria.
        "protectedResourceCount": "A String", # Output only. The number of matching resources that are successfully protected.
      },
      "state": "A String", # Output only. The current state of the AutoprotectionPolicy.
      "updateTime": "A String", # Output only. The timestamp when the policy was last updated.
    },
  ],
  "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
  "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.
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the parameters of a single AutoProtectionPolicy.

Args:
  name: string, Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}` (required)
  body: object, The request body.
    The object takes the form of:

{ # An AutoprotectionPolicy is a policy resource designed to automate backup management, moving from manual per-resource protection to a bulk approach. The policy dynamically discovers and applies a specified backup plan to all eligible resources that match its defined scope and criteria.
  "backupPlanDetails": [ # Required. The backup plan details for matching resources.
    { # BackupPlanDetail defines configuration of protection.
      "backupPlan": "A String", # Required. The resource name of the BackupPlan to apply to resources that match the policy's criteria. This backup plan must be in the same location as AutoProtectionPolicy. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId}
      "resourceType": "A String", # Required. The type of resource that this policy will automatically protect. For MVP, `compute.googleapis.com/Instance` and `compute.googleapis.com/Disk` are supported.
    },
  ],
  "bindingSummary": { # BindingSummary contains count of different containers covered through this policy. # Output only. Summary of total count of different containers covered through this policy.
    "projectCount": "A String", # Output only. Total count of Projects protected with this policy.
  },
  "createTime": "A String", # Output only. The timestamp when the policy was created.
  "criteria": { # Criteria specifies a set of criteria for matching resources. # Required. The criteria for matching resources.
    "matchingConditions": [ # Required. A list of matching conditions that a resource must meet to be protected by the policy.
      { # MatchingCondition specifies a set of conditions for matching resources.
        "labelCondition": { # KeyValuePair defines a key-value pair for matching resource labels. # Optional. A condition that matches resources based on their labels. For MVP, this is limited to a single label match.
          "key": "A String", # Required. The key of the label to match. This must be in the format `{label_key}`. The key must match the regex Format:`\p{Ll}\p{Lo}{0,62}`.
          "values": [ # Required. The values of the label to match. There will be explicit “OR” between values of array. Each value must be in the format `{label_value}`. The value must match the regex Format: `[\\p{Ll}\\p{Lo}\\p{N}_-]{1,63}`.
            "A String",
          ],
        },
      },
    ],
  },
  "description": "A String", # Optional. A description of the policy.
  "etag": "A String", # Output only. The etag for the policy. If this is provided on update, it must match the server's etag, otherwise the request will be rejected with an ABORTED error.
  "name": "A String", # Identifier. The resource name of the AutoprotectionPolicy. Format: `projects/{project}/locations/{location}/autoProtectionPolicies/{auto_protection_policy}`
  "policyEvaluationSummary": { # PolicyEvaluationSummary contains the summary of the last run of job that applies policy to matching resources. # Output only. Summary of last policy application when job was run per workload type.
    "failedResourceCount": "A String", # Output only. The number of matching resources whose protection failed during job run.
    "matchingResourceCount": "A String", # Output only. The number of resources that currently match the policy's criteria.
    "protectedResourceCount": "A String", # Output only. The number of matching resources that are successfully protected.
  },
  "state": "A String", # Output only. The current state of the AutoprotectionPolicy.
  "updateTime": "A String", # Output only. The timestamp when the policy was last updated.
}

  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the AutoProtectionPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}