protected CloudServiceBinding getServiceBindingsForApplication(CloudApplication existingApp, List<CloudServiceBinding> serviceBindings) { Optional<CloudServiceBinding> optCloudServiceBinding = serviceBindings.stream() .filter(serviceBinding -> existingApp.getMeta() .getGuid() .equals(serviceBinding.getAppGuid())) .findFirst(); if (optCloudServiceBinding.isPresent()) { return optCloudServiceBinding.get(); } return null; }
private Map<String, UUID> getDomainGuids() { List<CloudDomain> availableDomains = new ArrayList<CloudDomain>(); availableDomains.addAll(getDomainsForOrg()); availableDomains.addAll(getSharedDomains()); Map<String, UUID> domains = new HashMap<String, UUID>(availableDomains.size()); for (CloudDomain availableDomain : availableDomains) { domains.put(availableDomain.getName(), availableDomain.getMeta() .getGuid()); } return domains; }
private void doUpdateSecurityGroup(CloudSecurityGroup currentGroup, String name, List<Map<String, Object>> rules) { String path = "/v2/security_groups/{guid}"; Map<String, Object> pathVariables = new HashMap<String, Object>(); pathVariables.put("guid", currentGroup.getMeta() .getGuid()); HashMap<String, Object> request = new HashMap<String, Object>(); request.put("name", name); request.put("rules", rules); // Updates of bindings to spaces and default staging/running groups must be done // through explicit calls to those methods and not through this generic update getRestTemplate().put(getUrl(path), request, pathVariables); }
private static boolean hasGuid(CloudApplication app, UUID appGuid) { return app.getMeta() .getGuid() .equals(appGuid); }
@Override public void unbindService(String appName, String serviceName) { CloudService cloudService = getService(serviceName); UUID appId = getApplicationId(appName); doUnbindService(appId, cloudService.getMeta() .getGuid()); }
@Override public void stopApplication(String appName) { CloudApplication app = getApplication(appName); if (app.getState() != CloudApplication.AppState.STOPPED) { HashMap<String, Object> appRequest = new HashMap<String, Object>(); appRequest.put("state", CloudApplication.AppState.STOPPED); getRestTemplate().put(getUrl("/v2/apps/{guid}"), appRequest, app.getMeta() .getGuid()); } }
@Override public InstancesInfo getApplicationInstances(CloudApplication app) { if (app.getState() .equals(CloudApplication.AppState.STARTED)) { return doGetApplicationInstances(app.getMeta() .getGuid()); } return null; }
@Override public void createSpace(String spaceName) { assertSpaceProvided("create a new space"); UUID orgGuid = sessionSpace.getOrganization() .getMeta() .getGuid(); UUID spaceGuid = getSpaceGuid(spaceName, orgGuid); if (spaceGuid == null) { doCreateSpace(spaceName, orgGuid); } }
@Override public void unbindRunningSecurityGroup(String securityGroupName) { CloudSecurityGroup group = doGetSecurityGroup(securityGroupName, true); Map<String, Object> urlVars = new HashMap<String, Object>(); String urlPath = "/v2/config/running_security_groups/{guid}"; urlVars.put("guid", group.getMeta().getGuid()); getRestTemplate().delete(getUrl(urlPath), urlVars); }
@Override public void bindRunningSecurityGroup(String securityGroupName) { CloudSecurityGroup group = doGetSecurityGroup(securityGroupName, true); String path = "/v2/config/running_security_groups/{guid}"; Map<String, Object> pathVariables = new HashMap<String, Object>(); pathVariables.put("guid", group.getMeta().getGuid()); getRestTemplate().put(getUrl(path), null, pathVariables); }
@Override public void bindStagingSecurityGroup(String securityGroupName) { CloudSecurityGroup group = doGetSecurityGroup(securityGroupName, true); String path = "/v2/config/staging_security_groups/{guid}"; Map<String, Object> pathVariables = new HashMap<String, Object>(); pathVariables.put("guid", group.getMeta().getGuid()); getRestTemplate().put(getUrl(path), null, pathVariables); }
@Override public void deleteSecurityGroup(String securityGroupName) { CloudSecurityGroup group = doGetSecurityGroup(securityGroupName, true); String path = "/v2/security_groups/{guid}"; Map<String, Object> pathVariables = new HashMap<String, Object>(); pathVariables.put("guid", group.getMeta().getGuid()); getRestTemplate().delete(getUrl(path), pathVariables); }
private UUID doCreateDomain(String domainName) { String urlPath = "/v2/private_domains"; HashMap<String, Object> domainRequest = new HashMap<String, Object>(); domainRequest.put("owning_organization_guid", sessionSpace.getOrganization().getMeta().getGuid()); domainRequest.put("name", domainName); domainRequest.put("wildcard", true); String resp = getRestTemplate().postForObject(getUrl(urlPath), domainRequest, String.class); Map<String, Object> respMap = JsonUtil.convertJsonToMap(resp); return resourceMapper.getGuidOfResource(respMap); }
@Override public void unbindStagingSecurityGroup(String securityGroupName) { CloudSecurityGroup group = getSecurityGroup(securityGroupName); Map<String, Object> urlVars = new HashMap<String, Object>(); String urlPath = "/v2/config/staging_security_groups/{guid}"; urlVars.put("guid", group.getMeta() .getGuid()); getRestTemplate().delete(getUrl(urlPath), urlVars); }
@Override public ApplicationStats getApplicationStats(String appName) { CloudApplication app = getApplication(appName); return doGetApplicationStats(app.getMeta() .getGuid(), app.getState()); }
@Override public void bindService(String appName, String serviceName) { CloudService cloudService = getService(serviceName); UUID appId = getApplicationId(appName); doBindService(appId, cloudService.getMeta() .getGuid()); }
private ServiceOperation getLastDeleteServiceOperation(ExecutionWrapper execution, CloudServiceExtended service) { if (service.getMeta() == null) { return null; } boolean isServiceDeleted = isServiceDeleted(execution, service.getMeta() .getGuid()); ServiceOperationState operationState = isServiceDeleted ? ServiceOperationState.SUCCEEDED : ServiceOperationState.IN_PROGRESS; return new ServiceOperation(ServiceOperationType.DELETE, ServiceOperationType.DELETE.name(), operationState); }
@Override public void unbindSecurityGroup(String orgName, String spaceName, String securityGroupName) { UUID spaceGuid = getSpaceGuid(orgName, spaceName); CloudSecurityGroup group = doGetSecurityGroup(securityGroupName, true); String path = "/v2/security_groups/{group_guid}/spaces/{space_guid}"; Map<String, Object> pathVariables = new HashMap<String, Object>(); pathVariables.put("group_guid", group.getMeta().getGuid()); pathVariables.put("space_guid", spaceGuid); getRestTemplate().delete(getUrl(path), pathVariables); }
@Override public void stopApplication(String appName) { CloudApplication app = getApplication(appName); if (app.getState() != CloudApplication.AppState.STOPPED) { HashMap<String, Object> appRequest = new HashMap<String, Object>(); appRequest.put("state", CloudApplication.AppState.STOPPED); getRestTemplate().put(getUrl("/v2/apps/{guid}"), appRequest, app.getMeta().getGuid()); } }
@Override public void deleteSpace(String spaceName) { assertSpaceProvided("delete a space"); UUID orgGuid = sessionSpace.getOrganization().getMeta().getGuid(); UUID spaceGuid = getSpaceGuid(spaceName, orgGuid); if (spaceGuid != null) { doDeleteSpace(spaceGuid); } }