//package com.muyu.cloud.vehicle.gateway.utils;
//
//
//import com.aliyun.ecs20140526.Client;
//import com.aliyun.ecs20140526.models.*;
//import com.aliyun.tea.*;
//import com.aliyun.teaopenapi.models.Config;
//import com.aliyun.teautil.models.RuntimeOptions;
//import lombok.extern.log4j.Log4j2;
//import org.springframework.boot.ApplicationArguments;
//import org.springframework.boot.ApplicationRunner;
//import org.springframework.stereotype.Component;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
///**
// * 批量创建ECS实例
// */
//@Log4j2
//@Component
//public class Sample {
//
//
//
//    /**
//     * <b>description</b> :
//     * <p>使用AK&amp;SK初始化账号Client</p>
//     * @return Client
//     *
//     * @throws Exception
//     */
//    public static Client createClient() throws Exception {
//        // 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
//        Config config = new Config()
//                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
//                .setAccessKeyId("LTAI5t7Fnx2QLTYLSu9357wP")
//                // 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
//                .setAccessKeySecret("3LOnydNZ25ytsTGczuSygElx0HJ6nN");
//        // Endpoint 请参考 https://api.aliyun.com/product/Ecs
//        config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
//        return new Client(config);
//    }
//
//    public  void creatInstance() throws Exception {
//
//        // 将命令行参数转换为字符串列表
//        List<String> args = Arrays.asList();
//        // 创建阿里云ECS客户端
//        Client client = Sample.createClient();
//        // 配置系统盘参数
//        RunInstancesRequest.RunInstancesRequestSystemDisk systemDisk = new RunInstancesRequest.RunInstancesRequestSystemDisk()
//                .setSize("20")// 设置系统盘大小为40GB
//                .setCategory("cloud_essd");// 设置系统盘类型为cloud_essd
//           // 创建创建实例请求对象并设置参数
//        RunInstancesRequest runInstancesRequest = new RunInstancesRequest()
//                .setRegionId("cn-shanghai") // 设置地域ID
//                .setImageId("m-uf66taa8r57ky0pg3e7s")// 设置镜像ID
//                .setInstanceType("ecs.e-c1m1.large")// 设置实例类型
//                .setSecurityGroupId("sg-uf6hyictocodexptlgiv")// 设置安全组ID
//                .setVSwitchId("vsw-uf6ags5luz17qd6ckn2tb")// 设置虚拟交换机ID
//                .setInstanceName("launch-advisor-20240929")// 设置实例名称
//                .setInstanceChargeType("PostPaid")// 设置实例付费类型为后付费按量付费
//                .setSystemDisk(systemDisk)// 设置系统盘配置
//                .setHostName("root")// 设置主机名
//                .setPassword("@ywt021900")// 设置实例密码
//                .setAmount(1)// 设置创建实例的数量
//                .setInternetChargeType("PayByTraffic")// 设置互联网计费类型为按流量计费
//                .setInternetMaxBandwidthOut(1);// 设置互联网最大出带宽为1 Mbps
//        RuntimeOptions runtime = new RuntimeOptions();
//        try {
//            // 复制代码运行请自行打印 API 的返回值
//            RunInstancesResponse runInstancesResponse = client.runInstancesWithOptions(runInstancesRequest, runtime);
//            RunInstancesResponseBody body = runInstancesResponse.getBody();
//            ArrayList<String> list = new ArrayList<>(body.getInstanceIdSets().getInstanceIdSet());
//            log.info("实例ID：{}", list);
//
//        } catch (TeaException error) {
//            // 此处仅做打印展示，请谨慎对待异常处理，在工程项目中切勿直接忽略异常。
//            // 错误 message
//            System.out.println(error.getMessage());
//            // 诊断地址
//            System.out.println(error.getData().get("Recommend"));
//            com.aliyun.teautil.Common.assertAsString(error.message);
//        } catch (Exception _error) {
//            TeaException error = new TeaException(_error.getMessage(), _error);
//            // 此处仅做打印展示，请谨慎对待异常处理，在工程项目中切勿直接忽略异常。
//            // 错误 message
//            System.out.println(error.getMessage());
//            // 诊断地址
//            System.out.println(error.getData().get("Recommend"));
//            com.aliyun.teautil.Common.assertAsString(error.message);
//        }
//    }
//
////    private static DescribeInstancesResponse queryInstanceDetails(Client client) {
////
////        //创建查询实例请求对象并设置参数
////        DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest();
////        return null;
////    }
////
////    @Override
////    public void run(ApplicationArguments args) throws Exception {
////        log.info("===============>开始批量创建实例");
////        creatInstance();
////    }
//}
