package io.cattle.platform.iaas.api.filter.machinedriver;
import io.cattle.platform.core.model.MachineDriver;
import io.cattle.platform.iaas.api.filter.common.AbstractDefaultResourceManagerFilter;
import io.cattle.platform.object.ObjectManager;
import io.cattle.platform.object.util.DataAccessor;
import io.github.ibuildthecloud.gdapi.request.ApiRequest;
import io.github.ibuildthecloud.gdapi.request.resource.ResourceManager;
import javax.inject.Inject;
import org.apache.commons.lang3.StringUtils;
public class MachineDriverFilter extends AbstractDefaultResourceManagerFilter {
public static final String VERIFY_AGENT = "CantVerifyAgent";
@Inject
ObjectManager objectManager;
@Override
public String[] getTypes() {
return new String[] { "machineDriver" };
}
@Override
public Object create(String type, ApiRequest request, ResourceManager next) {
String url = DataAccessor.fromMap(request.getRequestObject()).withKey("url").as(String.class);
MachineDriver md = request.proxyRequestObject(MachineDriver.class);
if (url != null && StringUtils.isBlank(md.getName())) {
String[] parts = url.split("/");
String name = parts[parts.length-1];
name = StringUtils.removeStart(name, "docker-machine-driver-");
name = StringUtils.removeStart(name, "docker-machine-");
name = name.split("[^a-zA-Z0-9]")[0];
md.setName(name);
}
return super.create(type, request, next);
}
}