Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ops
/
monitor-service
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
qinchao
7 years ago
Commit
b7fdbe87ff3632c652c65b85d531ac9291565b6e
1 parent
344cd998
aws和qcloud伸缩接口
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
40 deletions
monitor-service-awstools/src/main/java/com/monitor/cloudtools/controller/CloudToolController.java
monitor-service-cmdb/src/main/java/com/monitor/cmdb/ctrl/AutoScalingCtrl.java
monitor-service-cmdb/src/main/java/com/yoho/ops/cmdb/qcloud/autoscaling/QcloudAutoScalingFetcher.java
monitor-service-awstools/src/main/java/com/monitor/cloudtools/controller/CloudToolController.java
View file @
b7fdbe8
...
...
@@ -69,39 +69,6 @@ public class CloudToolController {
return
response
;
}
/**
* 腾讯云:根据组id获取instanceIP
* 亚马逊云:待定
* @param groupId 伸缩组id
* @return
*/
@RequestMapping
(
"/getIpsByScalingGroupId"
)
@ResponseBody
public
BaseResponse
getIpsByScalingGroupId
(
int
cloudType
,
String
groupName
,
String
groupId
){
BaseResponse
response
=
new
BaseResponse
();
List
<
String
>
ipList
=
null
;
if
(
1
==
cloudType
){
if
(
groupName
==
null
||
groupName
.
length
()<=
0
){
response
.
setCode
(
300
);
response
.
setMessage
(
"aws伸缩组名字为空"
);
return
response
;
}
List
<
CommAutoScalingGroup
>
autoScalingGroups
=
awsQueryService
.
autoScalingConfig
(
groupName
);
if
(
autoScalingGroups
!=
null
&&
autoScalingGroups
.
get
(
0
)!=
null
&&
autoScalingGroups
.
get
(
0
).
getScalingInstancess
()!=
null
){
ipList
=
new
ArrayList
<
String
>();
for
(
CommAutoScalingInstances
ins:
autoScalingGroups
.
get
(
0
).
getScalingInstancess
()){
ipList
.
add
(
ins
.
getIp
());
}
}
}
else
if
(
2
==
cloudType
){
ipList
=
qCloudToolService
.
getIpsByScalingGroupId
(
groupId
);
}
response
.
setData
(
ipList
);
return
response
;
}
/**
* 腾讯云:根据实例id获取ip相关信息
* 亚马逊云:待定
...
...
monitor-service-cmdb/src/main/java/com/monitor/cmdb/ctrl/AutoScalingCtrl.java
View file @
b7fdbe8
...
...
@@ -3,6 +3,7 @@ package com.monitor.cmdb.ctrl;
import
com.yoho.ops.cmdb.aws.autoscaling.AutoScalingFetcher
;
import
com.yoho.ops.cmdb.domain.BaseResponse
;
import
com.yoho.ops.cmdb.models.AutoScalingGroup
;
import
com.yoho.ops.cmdb.models.AutoScalingHost
;
import
com.yoho.ops.cmdb.qcloud.autoscaling.QcloudAutoScalingFetcher
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -54,5 +56,36 @@ public class AutoScalingCtrl {
return
response
;
}
/**
* 腾讯云:根据组id获取instanceIP
* 亚马逊云:待定
* @param groupId 伸缩组id
* @return
*/
@RequestMapping
(
"/getIpsByScalingGroupId"
)
@ResponseBody
public
com
.
monitor
.
model
.
response
.
BaseResponse
getIpsByScalingGroupId
(
int
cloudType
,
String
groupName
,
String
groupId
){
com
.
monitor
.
model
.
response
.
BaseResponse
response
=
new
com
.
monitor
.
model
.
response
.
BaseResponse
();
List
<
String
>
ipList
=
new
ArrayList
<
String
>();;
AutoScalingGroup
group
=
null
;
if
(
1
==
cloudType
){
if
(
groupName
==
null
||
groupName
.
length
()<=
0
){
response
.
setCode
(
300
);
response
.
setMessage
(
"aws伸缩组名字为空"
);
return
response
;
}
group
=
awsFetcher
.
getAutoScalingByGroupName
(
groupName
);
}
else
if
(
2
==
cloudType
){
group
=
qcloudFetcher
.
getAutoScalingGroupByScalingGroupId
(
groupId
);
}
if
(
group
!=
null
&&
group
.
getAutoScalingHosts
()!=
null
){
for
(
AutoScalingHost
host:
group
.
getAutoScalingHosts
()){
ipList
.
add
(
host
.
getIp
());
}
}
response
.
setData
(
ipList
);
return
response
;
}
}
...
...
monitor-service-cmdb/src/main/java/com/yoho/ops/cmdb/qcloud/autoscaling/QcloudAutoScalingFetcher.java
View file @
b7fdbe8
package
com
.
yoho
.
ops
.
cmdb
.
qcloud
.
autoscaling
;
import
com.alibaba.fastjson.JSON
;
import
com.qcloud.Module.Scaling
;
import
com.yoho.ops.cmdb.models.AutoScalingGroup
;
import
com.yoho.ops.cmdb.models.Host
;
import
com.yoho.ops.cmdb.qcloud.QcloudClientFactory
;
import
com.yoho.ops.cmdb.qcloud.constant.QcloudConstant
;
import
com.yoho.ops.cmdb.qcloud.model.QcloudInstanceSet
;
import
com.yoho.ops.cmdb.qcloud.util.QcloudSdkUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.LinkedList
;
import
java.util.List
;
/**
...
...
@@ -29,6 +22,10 @@ public class QcloudAutoScalingFetcher {
return
autoScalingGroups
;
}
public
AutoScalingGroup
getAutoScalingGroupByScalingGroupId
(
String
scalingGroupId
){
return
qcloudClientFactory
.
getAutoScalingGroupByScalingGroupId
(
scalingGroupId
);
}
public
List
<
Host
>
getAllInstancesSet
(){
return
qcloudClientFactory
.
getAllInstancesSet
();
}
...
...
Please
register
or
login
to post a comment