美文网首页
zabbixApi4j-Host prototype

zabbixApi4j-Host prototype

作者: 差不多先生_tl | 来源:发表于2018-01-11 14:15 被阅读44次

    Host prototype

    hostprototype.create: 创建新主机原型
    hostprototype.delete: 删除主机原型
    hostprototype.get: 检索主机原型
    hostprototype.isreadable: 检查主机原型是否是可读的
    hostprototype.iswritable: 检查主机原型是否是可写的
    hostprototype.update: 更新主机原型

    image.png
    HostPrototypeCreateTest
    package cn.com.yeexun.testzabbix.zabbix4j.example.hostprototype;
    
    import org.junit.Test;
    
    import com.zabbix4j.hostprototype.GroupLinkObject;
    import com.zabbix4j.hostprototype.GroupPrototypeObject;
    import com.zabbix4j.hostprototype.HostPrototypeCreateRequest;
    import com.zabbix4j.hostprototype.HostPrototypeCreateResponse;
    
    import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;
    import static org.junit.Assert.assertNotNull;
    
    /**
     * Created by Suguru Yajima on 2014/06/05.
     */
    public class HostPrototypeCreateTest extends ZabbixApiTestBase {
    
        private final int TEST_GROUP_ID = 20;
    
        public HostPrototypeCreateTest() {
            super();
        }
    
        @Test
        public void testCreate1() throws Exception {
    
            ZabbixApiTestDummyLLDRule dummyLLD = new ZabbixApiTestDummyLLDRule(zabbixApi);
            Integer lldRuleID = dummyLLD.createLLDRule();
            try {
                HostPrototypeCreateRequest request = new HostPrototypeCreateRequest();
                HostPrototypeCreateRequest.Params params = request.getParams();
                params.setRuleid(lldRuleID);
                GroupLinkObject linkObj = new GroupLinkObject();
                linkObj.setGroupid(TEST_GROUP_ID);
                params.addGroupLink(linkObj);
    
                GroupPrototypeObject typeObj = new GroupPrototypeObject();
                typeObj.setName("{#HV.NAME}");
                params.addGroupPrototype(typeObj);
    
                params.setHost("{#HV.NAME}");
    
                HostPrototypeCreateResponse response = zabbixApi.hostPrototype().create(request);
                assertNotNull(response);
    
                logger.debug(getGson().toJson(response));
    
                Integer actualId = response.getResult().getHostids().get(0);
                assertNotNull(actualId);
            } finally {
    
                dummyLLD.deleteLLDRule(lldRuleID);
            }
        }
    }
    
    
    HostPrototypeDeleteTest
    package cn.com.yeexun.testzabbix.zabbix4j.example.hostprototype;
    
    import static org.junit.Assert.assertNotNull;
    
    import org.junit.Test;
    
    import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;
    
    import com.zabbix4j.hostprototype.HostPrototypeDeleteRequest;
    import com.zabbix4j.hostprototype.HostPrototypeDeleteResponse;
    
    /**
     * @author Suguru Yajima
     */
    public class HostPrototypeDeleteTest extends ZabbixApiTestBase {
    
        public HostPrototypeDeleteTest() {
            super();
        }
    
        @Test
        public void testDelete1() throws Exception {
    
            ZabbixApiTestDummyHostPrototype dummy = new ZabbixApiTestDummyHostPrototype(zabbixApi);
            try {
                Integer targetId = dummy.createHost();
    
                HostPrototypeDeleteRequest request = new HostPrototypeDeleteRequest();
                request.addHostId(targetId);
    
                HostPrototypeDeleteResponse response = zabbixApi.hostPrototype().delete(request);
                assertNotNull(response);
    
                logger.debug(getGson().toJson(response));
            } finally {
    
            }
        }
    }
    
    
    HostPrototypeUpdateTest
    package cn.com.yeexun.testzabbix.zabbix4j.example.hostprototype;
    
    import static org.junit.Assert.assertNotNull;
    import static org.junit.Assert.assertThat;
    import static org.junit.Assert.fail;
    
    import org.hamcrest.core.Is;
    import org.junit.Test;
    
    import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;
    
    import com.zabbix4j.hostprototype.GroupPrototypeObject;
    import com.zabbix4j.hostprototype.HostPrototypeUpdateRequest;
    import com.zabbix4j.hostprototype.HostPrototypeUpdateResponse;
    
    /**
     * @author Suguru Yajima
     */
    public class HostPrototypeUpdateTest extends ZabbixApiTestBase{
    
        public HostPrototypeUpdateTest() {
            super();
        }
    
        @Test
        public void testTest1() throws Exception {
            Integer targetId = null;
            ZabbixApiTestDummyHostPrototype dummy = new ZabbixApiTestDummyHostPrototype(zabbixApi);
    
            try {
                targetId = dummy.createHost();
    
                HostPrototypeUpdateRequest request = new HostPrototypeUpdateRequest();
                HostPrototypeUpdateRequest.Params params = request.getParams();
                params.setHostid(targetId);
                params.setHost("host.prototype.update");
                params.setName("host prototype update");
    
                GroupPrototypeObject typeObj = new GroupPrototypeObject();
                typeObj.setName("host prototype update");
                params.addGroupPrototype(typeObj);
    
                params.setHost("192.168.0.1");
    
                HostPrototypeUpdateResponse response = zabbixApi.hostPrototype().update(request);
                assertNotNull(response);
    
                logger.debug(getGson().toJson(response));
    
                Integer actualId = response.getResult().getHostids().get(0);
                assertThat(targetId, Is.is(actualId));
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                dummy.deleteHostPrototype(targetId);
                fail();
            }
        }
    }
    
    
    ZabbixApiTestDummyHostPrototype
    package cn.com.yeexun.testzabbix.zabbix4j.example.hostprototype;
    
    import java.util.Random;
    
    import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;
    import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestDummyMethodBase;
    
    import com.zabbix4j.ZabbixApi;
    import com.zabbix4j.ZabbixApiException;
    import com.zabbix4j.hostprototype.GroupLinkObject;
    import com.zabbix4j.hostprototype.GroupPrototypeObject;
    import com.zabbix4j.hostprototype.HostPrototypeCreateRequest;
    import com.zabbix4j.hostprototype.HostPrototypeCreateResponse;
    import com.zabbix4j.hostprototype.HostPrototypeDeleteRequest;
    import com.zabbix4j.hostprototype.HostPrototypeDeleteResponse;
    
    /**
     * @author Suguru Yajima
     */
    public class ZabbixApiTestDummyHostPrototype extends ZabbixApiTestDummyMethodBase {
        private final int TEST_GROUP_ID = 20;
        private ZabbixApiTestBase dummyLLD;
        private Integer lldRuleID = 23796;
    
    
        public ZabbixApiTestDummyHostPrototype(ZabbixApi zabbixApi) {
            super(zabbixApi);
        }
    
        public Integer createHost() throws ZabbixApiException {
    
            try {
    
                HostPrototypeCreateRequest request = new HostPrototypeCreateRequest();
                HostPrototypeCreateRequest.Params params = request.getParams();
                params.setRuleid(lldRuleID);
                GroupLinkObject linkObj = new GroupLinkObject();
                linkObj.setGroupid(TEST_GROUP_ID);
                params.addGroupLink(linkObj);
    
                GroupPrototypeObject typeObj = new GroupPrototypeObject();
                typeObj.setName("host prototype name" + new Random().nextInt());
                params.addGroupPrototype(typeObj);
    
                params.setHost("{#HV.NAME}");
    
                HostPrototypeCreateResponse response = zabbixApi.hostPrototype().create(request);
    
                Integer actualId = response.getResult().getHostids().get(0);
    
                return actualId;
            } finally {
    
            }
        }
    
        public void deleteHostPrototype(Integer id) throws ZabbixApiException {
            if (id == null) {
                return;
            }
            HostPrototypeDeleteRequest request = new HostPrototypeDeleteRequest();
            request.addHostId(id);
    
            HostPrototypeDeleteResponse response = zabbixApi.hostPrototype().delete(request);
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:zabbixApi4j-Host prototype

          本文链接:https://www.haomeiwen.com/subject/nagznxtx.html