即使在明确配置区域之后,SDK 报告的快照似乎也比 AWS 控制台中可见的要多。似乎它返回了该帐户所有区域的快照数据。
sess := session.Must(session.NewSessionWithOptions(session.Options{
Config: aws.Config{Region: aws.String("eu-central-1"),Endpoint: aws.String("ec2.eu-central-1.amazonaws.com")},
}))
svc := ec2.New(sess, &aws.Config{
Region: aws.String(endpoints.EuCentral1RegionID),
})
input := &ec2.DescribeSnapshotsInput{
Filters: []*ec2.Filter{
&ec2.Filter{
Name: aws.String("status"),
Values: []*string{aws.String("completed")},
},
},
}
result, err := svc.DescribeSnapshots(input)
if err != nil {
if aerr, ok := err.(awserr.Error); ok {
switch aerr.Code() {
default:
fmt.Println(aerr.Error())
}
} else {
fmt.Println(err.Error())
}
}
for _, snapshot := range result.Snapshots{
fmt.Println(*snapshot.SnapshotId, " : ", *snapshot.VolumeSize)
}