Source code for aliyun.log.machine_group_detail

#!/usr/bin/env python
# encoding: utf-8

# Copyright (C) Alibaba Cloud Computing
# All rights reserved.

import time

from .util import Util


[docs]class MachineGroupDetail(object): """ The machine group detail info :type group_name: string :param group_name: group name :type machine_type: string :param machine_type: "ip" or "userdefined" :type machine_list: string list :param machine_list: the list of machine ips or machine userdefined, e.g ["127.0.0.1", "127.0.0.2"] :type group_type: string :param group_type: the machine group type, "" or "Armory" :type group_attribute: dict :param group_attribute: the attributes in group, it contains two optional key : 1. "externalName": only used if the group_type is "Armory", its the Armory name 2. "groupTopic": group topic value """ def __init__(self, group_name=None, machine_type=None, machine_list=None, group_type="", group_attribute=None): if group_attribute is None: group_attribute = {} self.group_name = group_name self.machine_type = machine_type self.machine_list = machine_list self.group_type = group_type self.group_attribute = group_attribute self.create_time = int(time.time()) self.last_modify_time = self.create_time def to_json(self): json_value = {'groupName': self.group_name, 'groupType': self.group_type, 'groupAttribute': self.group_attribute, 'machineIdentifyType': self.machine_type, 'machineList': self.machine_list} return json_value def from_json(self, json_value): self.group_name = json_value.get("groupName", json_value.get("group_name", None)) self.group_type = json_value.get("groupType", json_value.get("group_type", "")) self.machine_type = json_value.get("machineIdentifyType", json_value.get("machine_type", None)) self.group_attribute = json_value.get("groupAttribute", json_value.get("group_attribute", {})) self.machine_list = json_value.get("machineList", json_value.get("machine_list", None)) self.create_time = json_value.get("crateTime", None) self.last_modify_time = json_value.get("lastModifyTime", None)
class MachineStatus(object): """ the machine status :type ip: string :param ip: the machine ip :type machine_unique_id: string :param machine_unique_id: the machine unique id :type user_defined_id: string :param user_defined_id: the user defined id :type heartbeat_time: int :param heartbeat_time: last updated heartbeat_time """ def __init__(self, ip, machine_unique_id, user_defined_id, heartbeat_time): self.ip = ip self.machine_unique_id = machine_unique_id self.user_defined_id = user_defined_id self.heartbeat_time = heartbeat_time