func()

in sharedlibraries/gce/gce.go [410:435]


func (g *GCE) ListSnapshots(ctx context.Context, project string) (*compute.SnapshotList, error) {
	snapshotService := compute.NewSnapshotsService(g.service)
	finalSnapshotList := &compute.SnapshotList{}
	pageToken := ""

	for {
		snapshotListCall := snapshotService.List(project)
		if pageToken != "" {
			snapshotListCall = snapshotListCall.PageToken(pageToken)
		}

		snapshotList, err := snapshotListCall.Do()
		if err != nil {
			return nil, err
		}

		finalSnapshotList.Items = append(finalSnapshotList.Items, snapshotList.Items...)

		pageToken = snapshotList.NextPageToken
		if pageToken == "" {
			break
		}
	}

	return finalSnapshotList, nil
}