amazon-web-services - AWS Golang SDK-如何将DeleteOnTermination放在EBS卷上?

标签 amazon-web-services go

我正在寻找一种将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/

相关文章:

ruby-on-rails - 我应该有一个 heroku worker dyno 来轮询 AWS SQS 吗?

amazon-web-services - AWS IAM GetUser - 凭证的范围应使用curl和 "--aws-sigv4"选项限定在有效区域

memory-management - Go 内存消耗管理

unit-testing - httptest.NewRequest 设置上下文 stub

amazon-web-services - Elastic BeanStalk 应用程序部署后 Hook 未执行我的命令

amazon-web-services - AWS S3 存储桶重定向重定向到格式错误的 URL

java - 仅列出 s3 存储桶中的子文件夹

image - 使用golang获取图片大小

go - 使用 git2go 从远程执行 git fetch && git merge

sockets - 为什么连接读取返回缓冲区的长度,而不是真正发送?