def create_dhcp_pool(options, vsm_obj, range, default_gateway): """ function to create dhcp ip pool @param options cli options to this script @param vsm_obj reference to vsm client object @param range dhcp ip range @param default_gateway default gateway @return True/False True - success False - error """ edge = Edge(vsm_obj, '4.0') edge_id = get_edge(vsm_obj) edge.id = edge_id dhcp_py_dict = { 'enabled': True, 'logging': { 'loglevel': 'info', 'enable': False }, 'ippools': [{ 'autoconfiguredns': True, 'defaultGateway': default_gateway, 'iprange': range, }], } dhcp_client = DHCP(edge) print("Creating dhcp ippool with range %s" % range) dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict) existing_dhcp_schema = dhcp_client.read() if existing_dhcp_schema and existing_dhcp_schema.ipPools: print "append dhcp ippool to existing list" dhcp_schema_object.ipPools = existing_dhcp_schema.ipPools + \ dhcp_schema_object.ipPools result = dhcp_client.create(dhcp_schema_object) if (result[0].response.status != 204): r_vars = vars(result[0]) print("Create IP Pool error: %s" % result[0].response.reason) print ', '.join("%s: %s" % item for item in r_vars.items()) return False return True
def create_dhcp_pool(options, vsm_obj, range, default_gateway): """ function to create dhcp ip pool @param options cli options to this script @param vsm_obj reference to vsm client object @param range dhcp ip range @param default_gateway default gateway @return True/False True - success False - error """ edge = Edge(vsm_obj, '4.0') edge_id = get_edge(vsm_obj) edge.id = edge_id dhcp_py_dict = { 'enabled': True, 'logging': {'loglevel': 'info', 'enable': False}, 'ippools': [ { 'autoconfiguredns': True, 'defaultGateway': default_gateway, 'iprange': range, } ], } dhcp_client = DHCP(edge) print("Creating dhcp ippool with range %s" % range) dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict) existing_dhcp_schema = dhcp_client.read() if existing_dhcp_schema and existing_dhcp_schema.ipPools: print "append dhcp ippool to existing list" dhcp_schema_object.ipPools = existing_dhcp_schema.ipPools + \ dhcp_schema_object.ipPools result = dhcp_client.create(dhcp_schema_object) if (result[0].response.status != 204): r_vars = vars(result[0]) print("Create IP Pool error: %s" % result[0].response.reason) print ', '.join("%s: %s" % item for item in r_vars.items()) return False return True
'logging': {'loglevel': 'info', 'enable': False}, 'ippools': [ { 'autoconfiguredns': True, 'defaultGateway': '192.168.0.3', 'domainname': 'eng.vmware.com', 'primarynameserver': '192.168.0.4', 'secondarynameserver': '4.2.2.4', 'leasetime': 360000, 'iprange': '192.168.0.10-192.168.0.20', } ], } dhcp_client = DHCP(edge_client) dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict) result_obj_1 = dhcp_client.create(dhcp_schema_object) print result_obj_1.status_code dhcp_schema = dhcp_client.read() dhcp_schema.print_object() #Append IPPool to DHCP ippool_py_dict = { 'autoconfiguredns': True, 'defaultGateway': '192.168.0.3', 'domainname': 'eng.vmware.com', 'primarynameserver': '192.168.0.4', 'secondarynameserver': '4.2.2.4', 'leasetime': 360000, 'iprange': '192.168.0.21-192.168.0.25', }