org.openstack4j.api.identity.v3.ServiceEndpointService Maven / Gradle / Ivy
package org.openstack4j.api.identity.v3;
import java.net.URL;
import java.util.List;
import org.openstack4j.api.types.Facing;
import org.openstack4j.common.RestService;
import org.openstack4j.model.identity.v3.Endpoint;
import org.openstack4j.model.identity.v3.Service;
import org.openstack4j.model.common.ActionResponse;
/**
* Identity V3 ServiceManager
*
*/
public interface ServiceEndpointService extends RestService {
/**
* Create a new service
*
* @param service the service
* @return the created service
*/
Service create(Service service);
/**
* Creates a new service
*
* @param type the type of the service
* @param name the name of the service
* @param description the description of the service
* @param enabled the enabled status of the service
* @return the created service
*/
Service create(String type, String name, String description, boolean enabled);
/**
* Get details of a service by id
*
* @param serviceId the id of the service
* @return the service
*/
Service get(String serviceId);
/**
* Updates a service
*
* @param service the service set to update
* @return the updated service
*/
Service update(Service service);
/**
* Delete a service
*
* @param serviceId the id of the service
* @return the ActionResponse
*/
ActionResponse delete(String serviceId);
/**
* Lists services
*
* @return the list of services
*/
List extends Service> list();
/**
* Lists available endpoints
*
* @return the list of endpoints
*/
List extends Endpoint> listEndpoints();
/**
* Creates a new endpoint
*
* @param endpoint the endpoint
* @return the created endpoint
*/
Endpoint createEndpoint(Endpoint endpoint);
/**
* Creates a new endpoint
*
* @param name the name of the endpoint
* @param url the url of the endpont
* @param iface the interface type of the endpoint
* @param regionId the region id of the region that contains the endpoint
* @param serviceId the service id of the service the endpoint belongs to
* @param enabled the enabled status of the endpoint
* @return
*/
Endpoint createEndpoint(String name, URL url, Facing iface, String regionId, String serviceId, boolean enabled);
/**
* Get details for an endpoint
*
* @param endpointId the endpoint id
* @return the endpoint
*/
Endpoint getEndpoint(String endpointId);
/**
* Updates a endpoint
*
* @param endpoint the endpoint set to update
* @return the updated endpoint
*/
Endpoint updateEndpoint(Endpoint endpoint);
/**
* Delete an Endpoint
*
* @param endpointId the endpoint identifier
* @return the ActionResponse
*/
ActionResponse deleteEndpoint(String endpointId);
}