in projects/imds/update.go [13:44]
func updateLaunchTemplates(lt string) {
sess, _ := session.NewSession(&aws.Config{
Region: aws.String(region)},
)
client := ec2.New(sess)
opts := &ec2.LaunchTemplateInstanceMetadataOptionsRequest{
HttpPutResponseHopLimit: aws.Int64(1),
HttpTokens: aws.String("required"),
}
ltvo, err := client.CreateLaunchTemplateVersion(
&ec2.CreateLaunchTemplateVersionInput{
LaunchTemplateId: aws.String(lt),
SourceVersion: aws.String("$Default"),
LaunchTemplateData: &ec2.RequestLaunchTemplateData{MetadataOptions: opts},
VersionDescription: aws.String("Hop count 1"),
},
)
if err != nil {
fmt.Println(err)
}
_, err = client.ModifyLaunchTemplate(
&ec2.ModifyLaunchTemplateInput{
DefaultVersion: aws.String(fmt.Sprint(*ltvo.LaunchTemplateVersion.VersionNumber)),
LaunchTemplateId: aws.String(lt),
},
)
if err != nil {
fmt.Println(err)
}
fmt.Printf("Updated template %s successfully. IMDSv2 is required and hop count is set to 1.", lt)
}