示例#1
0
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")
}