package com.bocloud.cmp.provider.network;

import com.bocloud.cmp.model.ElasticIpModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

public interface ElasticIpProvider extends SuperProvider {

	default BocloudResult list() {
		return null;
	}

	default BocloudResult allocate(String name) {
		return null;
	}

	default BocloudResult associateNetworkInterface(String allocationId, String networkInterfaceId,
			String privateIpAddress, boolean allowReassociation) {
		return null;
	}

	default BocloudResult associateInstance(String allocationId, String instanceId, String privateIpAddress,
			boolean allowReassociation) {
		return null;
	}

	default BocloudResult disassociate(String associationId) {
		return null;
	}

	default BocloudResult release(String allocationId) {
		return null;
	}

	default BocloudResult update(ElasticIpModel model) {
		return null;
	}

	default BocloudResult allocate(ElasticIpModel model) {
		return null;
	}

	default BocloudResult allocatePrePaid(ElasticIpModel model) {
		return null;
	}

	default BocloudResult allocatePro(ElasticIpModel model) {
		return null;
	}

	default BocloudResult associate(ElasticIpModel model) {
		return null;
	}

	default BocloudResult disassociate(ElasticIpModel model) {
		return null;
	}

	default BocloudResult detail(String allocationId) {
		return null;
	}

	default BocloudResult updateBandwidth(ElasticIpModel model) {
		return null;
	}

}
