createSnapshot method

Future<Operation> createSnapshot(
  1. CreateSnapshotDiskRequest request
)

Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.

Throws a http.ClientException if there were problems communicating with the API service. Throws a ServiceException if the API method failed for any reason.

Implementation

Future<Operation> createSnapshot(CreateSnapshotDiskRequest request) async {
  final url = _endPoint.replace(
    path:
        '/compute/v1/projects/${request.project}/zones/${request.zone}/disks/${request.disk}/createSnapshot',
    queryParameters: {
      if (request.guestFlush case final $1?) 'guestFlush': '${$1}',
      'requestId': ?request.requestId,
    },
  );
  final response = await _client.post(url, body: request.snapshotResource);
  return Operation.fromJson(response);
}