func processSnapshots(svc *ec2.EC2, pageSize int64, apply func([]*string)) { ownerId := "owner-id" err := svc.DescribeSnapshotsPages(&ec2.DescribeSnapshotsInput{ Filters: []*ec2.Filter{ { Name: &ownerId, Values: []*string{&self}, }, }, }, func(snapshotsOut *ec2.DescribeSnapshotsOutput, lastPage bool) bool { var snapshotIds []*string for _, snapshot := range snapshotsOut.Snapshots { snapshotIds = append(snapshotIds, snapshot.SnapshotId) } apply(snapshotIds) return !lastPage }) kingpin.FatalIfError(err, "Could not retrieve EC2 snapshots") }