All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huawei.openstack4j.api.dns.v2.RecordsetService Maven / Gradle / Ivy

/*******************************************************************************
 * 	Copyright 2017 HuaWei TLD
 * 	Copyright 2016 ContainX and OpenStack4j
 *
 * 	Licensed under the Apache License, Version 2.0 (the "License"); you may not      
 * 	use this file except in compliance with the License. You may obtain a copy of    
 * 	the License at                                                                   
 * 	                                                                                 
 * 	    http://www.apache.org/licenses/LICENSE-2.0                                   
 * 	                                                                                 
 * 	Unless required by applicable law or agreed to in writing, software              
 * 	distributed under the License is distributed on an "AS IS" BASIS, WITHOUT        
 * 	WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the         
 * 	License for the specific language governing permissions and limitations under    
 * 	the License.                                                                     
 *******************************************************************************/
package com.huawei.openstack4j.api.dns.v2;

import java.util.List;

import com.huawei.openstack4j.common.RestService;
import com.huawei.openstack4j.model.dns.v2.Recordset;
import com.huawei.openstack4j.openstack.dns.v2.options.RecordsetListOptions;


/**
 * Designate V2 Recordset Service
 *
 */
public interface RecordsetService extends RestService {

	/**
	 * create a new recordset
	 *
	 * @param zoneId the identifier of the zone
	 * @param recordSet the Recordset
	 * @return the newly created Recordset
	 */
	Recordset create(String zoneId, Recordset recordSet);

	/**
	 * create a new recordset
	 *
	 * @param zoneId the identifier for the zone
	 * @param name the DNS name for the recordset
	 * @param type the RRTYPE of the recordset
	 * @param records a list of data for this recordset. Each item will be a separate record in Designate These items should conform to the DNS spec for the record type - e.g. A records must be IPv4 addresses, CNAME records must be a hostname.
	 *
	 * @return the newly created Recordset
	 */
	Recordset create(String zoneId, String name, String description, String type, Integer ttl, List records);

	/**
	 * gets detailed information about a specified recordset in a zone by id
	 *
	 * @param zoneId the uui of the zone
	 * @param recordsetId the uuid of the recordset
	 * @return the recordset
	 */
	Recordset get(String zoneId, String recordsetId);


	/**
	 * delete a recordset within a zone
	 *
	 * @param zoneId the uuid of the zone
	 * @param recordsetId the uuid of the recordset
	 * @return the recordset
	 */
	Recordset delete(String zoneId, String recordsetId);

	/**
	 * list recordsets by filter options
	 *
	 * @return list of recordsets
	 */
	List list(RecordsetListOptions options);
	
	
	/**
	 * list recordsets (first page)
	 *
	 * @return list of recordsets
	 */
	public List list();
	
	
	
	/**
	 * list records in a zone
	 * 
	 * @param zoneId	the identifier of the zone
	 * @return
	 */
	public List list(String zoneId);

	/**
	 * list recordsets in a zone
	 * 
	 * @param zoneId zoneId the identifier of the zone
	 * @param limit per page's item amount, the value is 0~500
	 * @param marker the initial ID of a paging query, if null, query the first page
	 * @return list of recordsets in a zone
	 */
	List list(String zoneId, Integer limit, String marker);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy