Vijava 学习笔记之(获取自定义规范定义的IP相关配置信息)

来源:互联网 发布:百度云管家 mac 编辑:程序博客网 时间:2024/06/05 06:22

源代码:

package com.vmware.customzation;import com.vmware.util.Session;import com.vmware.vim25.*;import com.vmware.vim25.mo.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Created by vixuan-008 on 2015/6/1. */public class UserCustomzation {    public static void main(String[] args){        ServiceInstance serviceInstance=null;        try{            serviceInstance= Session.getInstance("192.168.0.22", "administrator@vsphere.local", "Vixuan12#");            Map map=new HashMap();           com.vmware.vim25.mo.CustomizationSpecManager manager=serviceInstance.getCustomizationSpecManager();            //获取自定义规范            getNetcard(serviceInstance, "windows7");            serviceInstance.getServerConnection().logout();        }catch (Exception e){            e.printStackTrace();            serviceInstance.getServerConnection().logout();            return;        }    }    //查询用户已经创建的自定义规范    public static CustomizationSpec getCustomizationSpec( ServiceInstance instance,String customizationName){        CustomizationSpec customizationSpec=null;        CustomizationSpecItem customizationSpecItem=null;        com.vmware.vim25.mo.CustomizationSpecManager manager=instance.getCustomizationSpecManager();        CustomizationSpecInfo[] infos=manager.getInfo();        if(infos!=null && infos.length>0){            for(CustomizationSpecInfo info:infos){                if(info.getName().equalsIgnoreCase(customizationName)){                    try{                        customizationSpecItem=manager.getCustomizationSpec(customizationName);                        customizationSpec=customizationSpecItem.getSpec();                    }catch (Exception e){                        e.printStackTrace();                        return customizationSpec;                    }                }            }        }        return customizationSpec;    }    public static List getNetcard(ServiceInstance instance,String customizationName){        List<Object> list=new ArrayList<Object>();        CustomizationSpec customizationSpec=null;        CustomizationSpecItem customizationSpecItem=null;        com.vmware.vim25.mo.CustomizationSpecManager manager=instance.getCustomizationSpecManager();        CustomizationSpecInfo[] infos=manager.getInfo();        if(infos!=null && infos.length>0){            for(CustomizationSpecInfo info:infos){                if(info.getName().equalsIgnoreCase(customizationName)){                    try{                        customizationSpecItem=manager.getCustomizationSpec(customizationName);                        customizationSpec=customizationSpecItem.getSpec();                        CustomizationAdapterMapping[] adapterMappings=customizationSpec.nicSettingMap;                        if(adapterMappings!=null && adapterMappings.length>0){                            for(CustomizationAdapterMapping adapter:adapterMappings){                                CustomizationIPSettings ipSettings=adapter.adapter;                                //IP地址疑惑                                CustomizationFixedIp fixedIp=(CustomizationFixedIp)ipSettings.ip;                                System.out.println(fixedIp.ipAddress);//IP地址                                System.out.println(ipSettings.subnetMask);//subnetMask                                String[] gateways=ipSettings.gateway;                                if(gateways!=null &&  gateways.length>0){                                    for(String str:gateways){                                        if(!str.equalsIgnoreCase("")){                                            System.out.println(str);//gateway                                        }                                    }                                }                                String[] dnss=ipSettings.dnsServerList;                                if(dnss!=null && dnss.length>0){                                    for(String dns:dnss){                                            System.out.println(dns);    //dnsServer                                    }                                }                            }                        }                    }catch (Exception e){                        e.printStackTrace();                        return list;                    }                }            }        }        return  list;    }}
效果截图:



0 0