com.icthh.xm.commons.tenantendpoint.provisioner.TenantProvisioner Maven / Gradle / Ivy
package com.icthh.xm.commons.tenantendpoint.provisioner;
import com.icthh.xm.commons.gen.model.Tenant;
/**
* Interface for tenant management actions on particular resource such as Database, xm-config, Elasticsearch etc.
*
*
* Known implementations:
*
{@link TenantAbilityCheckerProvisioner}
* {@link TenantListProvisioner}
* {@link TenantConfigProvisioner}
* com.icthh.xm.commons.migration.db.tenant.provisioner.TenantDatabaseProvisioner
*
*/
public interface TenantProvisioner {
/**
* Creates new tenant on specific resource.
*
* @param tenant tenant model.
*/
void createTenant(Tenant tenant);
/**
* Manages tenant state on specific resource.
*
* @param tenantKey tenant key
* @param state target tenant state.
*/
void manageTenant(String tenantKey, String state);
/**
* Deletes tenant on specific resource.
*
* @param tenantKey tenant key
*/
void deleteTenant(String tenantKey);
}