package com.sequenceiq.cloudbreak.cloud.openstack.nativ.group; import java.util.List; import javax.inject.Inject; import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext; import com.sequenceiq.cloudbreak.cloud.model.CloudResource; import com.sequenceiq.cloudbreak.cloud.model.CloudResourceStatus; import com.sequenceiq.cloudbreak.cloud.model.Group; import com.sequenceiq.cloudbreak.cloud.model.Network; import com.sequenceiq.cloudbreak.cloud.model.Security; import com.sequenceiq.cloudbreak.cloud.openstack.auth.OpenStackClient; import com.sequenceiq.cloudbreak.cloud.openstack.nativ.AbstractOpenStackResourceBuilder; import com.sequenceiq.cloudbreak.cloud.openstack.nativ.context.OpenStackContext; import com.sequenceiq.cloudbreak.cloud.openstack.nativ.service.OpenStackResourceNameService; import com.sequenceiq.cloudbreak.cloud.template.GroupResourceBuilder; public abstract class AbstractOpenStackGroupResourceBuilder extends AbstractOpenStackResourceBuilder implements GroupResourceBuilder<OpenStackContext> { @Inject private OpenStackResourceNameService resourceNameService; @Inject private OpenStackClient openStackClient; @Override public List<CloudResourceStatus> checkResources(OpenStackContext context, AuthenticatedContext auth, List<CloudResource> resources) { return checkResources(resourceType(), context, auth, resources); } @Override public CloudResource create(OpenStackContext context, AuthenticatedContext auth, Group group, Network network) { String resourceName = resourceNameService.resourceName(resourceType(), context.getName()); return createNamedResource(resourceType(), group.getName(), resourceName); } @Override public CloudResourceStatus update(OpenStackContext context, AuthenticatedContext auth, Group group, Network network, Security security, CloudResource resource) { return null; } }