package main
import (
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
"os"
)
func modifyInstanceChargeType(client *ecs.Client, instanceId string) error {
request := ecs.CreateModifyInstanceChargeTypeRequest()
request.Scheme = "https"
request.InstanceIds = fmt.Sprintf("[\"%s\"]", instanceId)
request.InstanceChargeType = "PostPaid"
response, err := client.ModifyInstanceChargeType(request)
if err != nil {
return fmt.Errorf("failed to modify charge type for instance %s: %v", instanceId, err)
}
fmt.Printf("Instance %s charge type modified successfully. Request ID: %s\n", instanceId, response.RequestId)
return nil
}
func main() {
accessKeyId := os.Getenv("ALIYUN_ACCESS_KEY_ID")
accessKeySecret := os.Getenv("ALIYUN_ACCESS_KEY_SECRET")
regionId := "cn-beijing"
client, err := ecs.NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret)
if err != nil {
fmt.Println("Failed to create Aliyun client:", err)
return
}
instanceIds := []string{
"i-xxx",
"i-xxx",
}
for _, instanceId := range instanceIds {
err := modifyInstanceChargeType(client, instanceId)
if err != nil {
fmt.Println("Error:", err)
}
}
}