package com.sequenceiq.cloudbreak.cloud.service;
import com.sequenceiq.cloudbreak.common.type.ResourceType;
/**
* Contract for resource name generation.
* Cloud providers may have specific rules regarding cloud resource names; implementers
* are expected to follow these.
*/
public interface ResourceNameService {
/**
* Generates a name based on the provided parts
*
* @param parts information to be used in the generated name
* @return the resourceName compliant with the provider's requirements
*/
String resourceName(ResourceType resourceType, Object... parts);
}