restore method

Future<Object> restore(
  1. String bucket,
  2. String object,
  3. String generation, {
  4. bool? copySourceAcl,
  5. String? ifGenerationMatch,
  6. String? ifGenerationNotMatch,
  7. String? ifMetagenerationMatch,
  8. String? ifMetagenerationNotMatch,
  9. String? projection,
  10. String? restoreToken,
  11. String? userProject,
  12. String? $fields,
})

Restores a soft-deleted object.

Request parameters:

bucket - Name of the bucket in which the object resides.

object - Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.

generation - Selects a specific revision of this object.

copySourceAcl - If true, copies the source object's ACL; otherwise, uses the bucket's default object ACL. The default is false.

ifGenerationMatch - Makes the operation conditional on whether the object's one live generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.

ifGenerationNotMatch - Makes the operation conditional on whether none of the object's live generations match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.

ifMetagenerationMatch - Makes the operation conditional on whether the object's one live metageneration matches the given value.

ifMetagenerationNotMatch - Makes the operation conditional on whether none of the object's live metagenerations match the given value.

projection - Set of properties to return. Defaults to full. Possible string values are:

  • "full" : Include all properties.
  • "noAcl" : Omit the owner, acl property.

restoreToken - Restore token used to differentiate sof-deleted objects with the same name and generation. Only applicable for hierarchical namespace buckets. This parameter is optional, and is only required in the rare case when there are multiple soft-deleted objects with the same name and generation.

userProject - The project to be billed for this request. Required for Requester Pays buckets.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Object.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Object> restore(
  core.String bucket,
  core.String object,
  core.String generation, {
  core.bool? copySourceAcl,
  core.String? ifGenerationMatch,
  core.String? ifGenerationNotMatch,
  core.String? ifMetagenerationMatch,
  core.String? ifMetagenerationNotMatch,
  core.String? projection,
  core.String? restoreToken,
  core.String? userProject,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    'generation': [generation],
    if (copySourceAcl != null) 'copySourceAcl': ['${copySourceAcl}'],
    if (ifGenerationMatch != null) 'ifGenerationMatch': [ifGenerationMatch],
    if (ifGenerationNotMatch != null)
      'ifGenerationNotMatch': [ifGenerationNotMatch],
    if (ifMetagenerationMatch != null)
      'ifMetagenerationMatch': [ifMetagenerationMatch],
    if (ifMetagenerationNotMatch != null)
      'ifMetagenerationNotMatch': [ifMetagenerationNotMatch],
    if (projection != null) 'projection': [projection],
    if (restoreToken != null) 'restoreToken': [restoreToken],
    if (userProject != null) 'userProject': [userProject],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'b/' +
      commons.escapeVariable('$bucket') +
      '/o/' +
      commons.escapeVariable('$object') +
      '/restore';

  final response_ = await _requester.request(
    url_,
    'POST',
    queryParams: queryParams_,
  );
  return Object.fromJson(response_ as core.Map<core.String, core.dynamic>);
}