package com.bocloud.cmp.model.installation;

import java.util.List;
import java.util.Map;

/**
 * Node实体类
 *
 * @author 007
 */
public class Node {
    /**
     * 是否自动发现,false
     */
    private boolean autoDiscover;
    /**
     * node对应的catalogs信息,"/api/2.0/nodes/59fac6f826c3cb6b4a0a3b50/catalogs"
     */
    private String catalogs;
    /**
     * 带内管理信息,一般为snmp,[]
     */
    private List<Map<String, Object>> ibms;
    /**
     * node id,"59fac6f826c3cb6b4a0a3b50"
     */
    private String id;
    /**
     * node标识,一般发现的机器默认为dhcp所在网卡的mac地址,["00:25:90:5b:c0:40"]
     */
    private List<Object> identifiers;
    /**
     * 名称,默认为mac地址,"00:25:90:5b:c0:40"
     */
    private String name;
    /**
     * 带外管理信息,一般为ipmi信息 [ {"ref": "/api/2.0/obms/59fac70526c3cb6b4a0a3b5d",
     * "service": "ipmi-obm-service"}]
     */
    private List<Map<String, Object>> obms;
    /**
     * tags信息,"/api/2.0/nodes/59fac59a26c3cb6b4a0a3b34/tags"
     */
    private String tags;
    /**
     * pollers信息,"/api/2.0/nodes/59fac59a26c3cb6b4a0a3b34/pollers"
     */
    private String pollers;
    /**
     * 关系,[ { "info": null, "relationType": "enclosedBy", "targets": [
     * "59fac6f826c3cb6b4a0a3b50" ] }]
     */
    private List<Map<String, Object>> relations;
    /**
     * 用于定义装机规则
     */
    private String sku;
    /**
     * node种类,"compute"
     */
    private String type;
    /**
     * workflows信息, "/api/2.0/nodes/59fac59a26c3cb6b4a0a3b34/workflows"
     */
    private String workflows;

    /**
     * @return the autoDiscover
     */
    public boolean isAutoDiscover() {
        return autoDiscover;
    }

    /**
     * @param autoDiscover the autoDiscover to set
     */
    public void setAutoDiscover(boolean autoDiscover) {
        this.autoDiscover = autoDiscover;
    }

    /**
     * @return the catalogs
     */
    public String getCatalogs() {
        return catalogs;
    }

    /**
     * @param catalogs the catalogs to set
     */
    public void setCatalogs(String catalogs) {
        this.catalogs = catalogs;
    }

    /**
     * @return the ibms
     */
    public List<Map<String, Object>> getIbms() {
        return ibms;
    }

    /**
     * @param ibms the ibms to set
     */
    public void setIbms(List<Map<String, Object>> ibms) {
        this.ibms = ibms;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the identifiers
     */
    public List<Object> getIdentifiers() {
        return identifiers;
    }

    /**
     * @param identifiers the identifiers to set
     */
    public void setIdentifiers(List<Object> identifiers) {
        this.identifiers = identifiers;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the obms
     */
    public List<Map<String, Object>> getObms() {
        return obms;
    }

    /**
     * @param obms the obms to set
     */
    public void setObms(List<Map<String, Object>> obms) {
        this.obms = obms;
    }

    /**
     * @return the tags
     */
    public String getTags() {
        return tags;
    }

    /**
     * @param tags the tags to set
     */
    public void setTags(String tags) {
        this.tags = tags;
    }

    /**
     * @return the pollers
     */
    public String getPollers() {
        return pollers;
    }

    /**
     * @param pollers the pollers to set
     */
    public void setPollers(String pollers) {
        this.pollers = pollers;
    }

    /**
     * @return the relations
     */
    public List<Map<String, Object>> getRelations() {
        return relations;
    }

    /**
     * @param relations the relations to set
     */
    public void setRelations(List<Map<String, Object>> relations) {
        this.relations = relations;
    }

    /**
     * @return the sku
     */
    public String getSku() {
        return sku;
    }

    /**
     * @param sku the sku to set
     */
    public void setSku(String sku) {
        this.sku = sku;
    }

    /**
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * @return the workflows
     */
    public String getWorkflows() {
        return workflows;
    }

    /**
     * @param workflows the workflows to set
     */
    public void setWorkflows(String workflows) {
        this.workflows = workflows;
    }
}
