amazon-web-services - AWS Golang SDK - 如何将 DeleteOnTermination 放在 EBS 卷上?
问题描述
我正在寻找一种使用 AWS Golang SDK 在 EBS 卷上放置 DeleteOnTermination 位的方法。我已经尝试过这段代码,但它不起作用:
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
}
这段代码对我有用。
推荐阅读
- c - zig 创建了一个 C 库,但 C 不能使用
- webstorm - Ctrl+Shift+Arrow 从 WebStorm 中消失了吗?
- webpack - html-webpack-plugin@4.5.0 和 html-loader@1.3.2
- java - 如何解决与用户定义的方法和对象相关的 Java 中的以下错误?
- laravel - Laravel Homestead 不接受密钥对
- html - 仅使用 HTML 垂直对齐段落
- android - 无法应用插件 [class 'org.gradle.language.base.plugins.LifecycleBasePlugin']
- excel-formula - 如何根据 Excel 中的另一列计算唯一值
- c++ - 编写一个主程序为空但打印“hello there!”的程序 屏幕上
- arrays - 按值将数组拆分为数组数组