diff --git a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
index 3f4f80f..ced9de2 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
@@ -84,16 +84,19 @@
ecs20140526
5.1.8
+
com.aliyun
tea-openapi
0.3.2
+
com.aliyun
tea-console
0.0.1
+
com.aliyun
tea-util
@@ -107,6 +110,14 @@
+
+
+ aliyun-repo
+ https://maven.aliyun.com/repository/public
+
+
+
+
${project.artifactId}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/AcquireInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/AcquireInstance.java
new file mode 100644
index 0000000..282bd06
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/AcquireInstance.java
@@ -0,0 +1,21 @@
+package com.muyu.vehiclegateway.instance;
+
+import com.aliyun.cloudapi20160714.models.DescribeInstancesRequest;
+import com.aliyun.cloudapi20160714.models.DescribeInstancesResponse;
+import com.aliyun.ecs20140526.Client;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName acquireInstance
+ * @Description 描述
+ * @Author YiBo.Liu
+ * @Date 2024/9/29 17:24
+ */
+@Component
+public class AcquireInstance {
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
index 729271b..627810b 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
@@ -1,16 +1,25 @@
package com.muyu.vehiclegateway.instance;
import com.aliyun.ecs20140526.Client;
+import com.aliyun.ecs20140526.models.DescribeInstancesRequest;
+import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
+import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody;
import com.aliyun.ecs20140526.models.RunInstancesRequest;
import com.aliyun.tea.TeaException;
import com.aliyun.teautil.Common;
import com.aliyun.teautil.models.RuntimeOptions;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* @ClassName GenerateInstance
* @Description 描述
@@ -22,11 +31,14 @@ import org.springframework.stereotype.Component;
@Tag(name = "程序启动创建ECS服务器实例")
public class GenerateInstance implements ApplicationRunner {
+ @Autowired
+ private static StringRedisTemplate redisTemplate;
+
/**
* 启动自动创建实例
* @throws Exception
*/
- public static void generateInstance() throws Exception {
+ public static List generateInstance() throws Exception {
// 创建ECS客户端对象,用于后续调用ECS相关API
Client client = CreateClient.createClient();
@@ -58,7 +70,7 @@ public class GenerateInstance implements ApplicationRunner {
// 设置实例密码
.setPassword("Six@211206")
// 设置创建实例的数量
- .setAmount(1);
+ .setAmount(2);
RuntimeOptions runtime = new RuntimeOptions();
try {
@@ -80,8 +92,43 @@ public class GenerateInstance implements ApplicationRunner {
System.out.println(error.getData().get("Recommend"));
Common.assertAsString(error.message);
}
+
+ DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest()
+ .setRegionId("cn-shanghai");
+
+ //创建运行时选择对象,用于配置运行时的选项参数
+ RuntimeOptions runtimeOptions = new RuntimeOptions();
+
+ //获取实例列表
+ DescribeInstancesResponse describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtimeOptions);
+
+ //提取实例ID集合
+ ArrayList list = new ArrayList<>();
+
+ DescribeInstancesResponseBody body = describeInstancesResponse.getBody();
+
+ for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()) {
+ list.add(instance.getInstanceId());
+ list.add(instance.getPublicIpAddress().ipAddress.get(0));
+ list.add(instance.getStatus());
+
+ log.info("实例id为:"+instance.getInstanceId());
+ log.info("实例ip为:"+instance.getPublicIpAddress().ipAddress.get(0));
+ log.info("实例状态为:"+instance.getStatus());
+ }
+
+// redisTemplate.opsForList().rightPushAll("shili",list.toString());
+//
+// List shili = redisTemplate.opsForList().range("shili", 0, -1);
+// for (String string : shili) {
+// log.info("redis实例:"+string);
+// }
+
+ return list;
+
}
+
@Override
public void run(ApplicationArguments args) throws Exception {
generateInstance();
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml
index 03a6f37..99dd7b7 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml
index 0d5066f..f9cfee4 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml
index 0d5066f..f9cfee4 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml
@@ -1,7 +1,7 @@
-
+