コード例 #1
0
ファイル: test.py プロジェクト: opnms/opnms
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException,ServerException
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest
from aliyunsdkecs.request.v20140526 import StopInstanceRequest
import json

client = AcsClient(
    'LTAIuSLn28HWNALb',
    'O8Qobl7znrzcPIj90GAwu018OCrVkM',
    'cn-hangzhou',
)

request = DescribeInstancesRequest.DescribeInstancesRequest()
request.set_PageSize(10)
respone = client.do_action_with_exception(request)
# print(respone)
print(json.loads(respone))
コード例 #2
0
ファイル: ecs.py プロジェクト: fengjp/cmdb
 def set_request(self):
     request = DescribeInstancesRequest.DescribeInstancesRequest()
     request.set_PageNumber(self.page_number)
     request.set_PageSize(self.page_size)
     return request
コード例 #3
0
    def aliyunDescribeInstances(self, **kwargs):
        '''
            获取 ECS 所有实例的详细信息
            者指定实例的详细信息: 通过传参 InstanceIds = ["实例id"]
        '''
        request = DescribeInstancesRequest.DescribeInstancesRequest()
        request.set_accept_format('json')
        request.add_query_param('PageSize', 100)

        if kwargs:
            for k, v in kwargs.items():
                request.add_query_param(str(k), str(v))
        try:
            response = self.clt.do_action_with_exception(request)
        except Exception as e:
            logError().error("获取阿里云上 ECS 实例信息异常,错误信息: %s" % (e))
            return
        ret = {
            i["NetworkInterfaces"]["NetworkInterface"][0]["PrimaryIpAddress"]:
            {
                "idc":
                i["ZoneId"],
                "cpu_count":
                "%s 核" % (i["Cpu"]),
                "online_time":
                i["CreationTime"],
                "expired_time":
                i["ExpiredTime"],
                "charge_type":
                i["InstanceChargeType"],
                "instance_id":
                i["InstanceId"],
                "instance_name":
                i["InstanceName"],
                "instance_type":
                i["InstanceType"],
                "mem":
                "%.2f GB" % (i["Memory"] / 1024.0),
                "os_version":
                i["OSName"],
                "uuid":
                "%s" % (i["SerialNumber"].upper()),
                "server_brand":
                "Alibaba Cloud",
                "server_model":
                "Alibaba Cloud ECS",
                "type":
                "cloud",
                "idrac_ip":
                "0.0.0.0",
                "status":
                i["Status"],
                "hostname":
                i["HostName"],
                "public_ip":
                i["PublicIpAddress"].get("IpAddress")[0]
                if i["PublicIpAddress"].get("IpAddress") else
                i["EipAddress"]["IpAddress"],
                "manager_ip":
                i["NetworkInterfaces"]["NetworkInterface"][0]
                ["PrimaryIpAddress"],
                "network": [{
                    "status":
                    "up",
                    "ips": [{
                        "ip":
                        i["NetworkInterfaces"]["NetworkInterface"][0]
                        ["PrimaryIpAddress"],
                        "netmask":
                        "255.255.240.0"
                    }],
                    "mac":
                    i["NetworkInterfaces"]["NetworkInterface"][0]
                    ["MacAddress"],
                    "name":
                    "eth0"
                }]
            }
            for i in json.loads(response)["Instances"]["Instance"]
        }
        return ret
コード例 #4
0
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest, DescribeInstanceAttributeRequest
from aliyunsdkslb.request.v20140515 import DescribeLoadBalancersRequest, DescribeLoadBalancersRelatedEcsRequest, DescribeLoadBalancerAttributeRequest

# Global Info:
ALI_ACCESS_KEY = "XXXX"
ALI_SECRET_KEY = "XXXX"
SLB_NAME = "remix.example.com_qd_slb"
SLB_REGION = "cn-qingdao"

# Initialize AcsClient instance
client = AcsClient(ALI_ACCESS_KEY, ALI_SECRET_KEY, SLB_REGION)

# Initialize a ecs request and set parameters
ecs_req = DescribeInstancesRequest.DescribeInstancesRequest()
ecs_req.set_PageSize(10)

# Print response, list all ecs instance:
ecs_res = client.do_action_with_exception(ecs_req)
instances = json.loads(ecs_res.decode('utf-8'))
# print(json.dumps(instances, indent=2))

# Initialize a slb request and set parameters
slb_req = DescribeLoadBalancersRequest.DescribeLoadBalancersRequest()
slb_req.set_PageSize(10)

# Print response, list all slb instances:
slb_res = client.do_action_with_exception(slb_req)
slbs = json.loads(slb_res.decode('utf-8'))
# print(json.dumps(slbs, indent=2))
コード例 #5
0
 def get_query_resource_request(self, list_of_ids=None):
     queryInstances = DescribeInstancesRequest.DescribeInstancesRequest()
     if list_of_ids and len(list_of_ids) > 0:
         queryInstances.set_InstanceIds(str(list_of_ids))
     return queryInstances
コード例 #6
0
 def get_request(id):
     request = DescribeInstancesRequest.DescribeInstancesRequest()
     request.set_accept_format('json')
     request.set_SecurityGroupId(id)
     return request