我正在寻找一种将AWS Golang SDK的DeleteOnTermination位放到EBS卷上的方法。
我已经试过了这段代码,但是没有用:
attach := &ec2.AttachVolumeInput{
Device: aws.String(*DeviceName),
InstanceId: aws.String(*instanceID),
VolumeId: aws.String(*VolumeId),
}
volumeAttach, errAttach := client.AttachVolume(attach)
if errAttach != nil {
return errAttach
}
volumeAttach.SetDeleteOnTermination(true)
我在文档中找不到有用的线索,也找不到我的错误。
有人有想法吗?
谢谢 !
最佳答案
我已经解决了我的问题,这是解决方案:
mappingSpecification := ec2.InstanceBlockDeviceMappingSpecification{
DeviceName: aws.String(deviceName),
Ebs: &ec2.EbsInstanceBlockDeviceSpecification{
DeleteOnTermination: aws.Bool(true),
VolumeId: aws.String(volumeId),
},
}
attributeInput := ec2.ModifyInstanceAttributeInput{
BlockDeviceMappings: []*ec2.InstanceBlockDeviceMappingSpecification{&mappingSpecification},
InstanceId: instanceID,
}
requestModify, _ := e.client.ModifyInstanceAttributeRequest(&attributeInput)
errorRequest := requestModify.Send()
if errorRequest != nil {
return errorRequest
}
该代码对我有用。
关于amazon-web-services - AWS Golang SDK-如何将DeleteOnTermination放在EBS卷上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61969773/