Search in sources :

Example 1 with SpecialParameters

use of com.sequenceiq.cloudbreak.api.model.SpecialParameters in project cloudbreak by hortonworks.

the class PlatformParameterV1Controller method getPlatforms.

@Override
public Map<String, Object> getPlatforms(Boolean extended) {
    PlatformVariants pv = cloudParameterService.getPlatformVariants();
    PlatformDisks diskTypes = cloudParameterService.getDiskTypes();
    PlatformRegions regions = cloudParameterService.getRegions();
    PlatformVirtualMachines vmtypes = new PlatformVirtualMachines();
    PlatformOrchestrators orchestrators = cloudParameterService.getOrchestrators();
    Map<Platform, PlatformParameters> platformParameters = cloudParameterService.getPlatformParameters();
    SpecialParameters specialParameters = cloudParameterService.getSpecialParameters();
    Map<String, Object> map = new HashMap<>();
    map.put("variants", conversionService.convert(pv, PlatformVariantsJson.class));
    map.put("disks", conversionService.convert(diskTypes, PlatformDisksJson.class));
    map.put("regions", conversionService.convert(regions, PlatformRegionsJson.class));
    map.put("virtualMachines", conversionService.convert(vmtypes, PlatformVirtualMachinesJson.class));
    map.put("orchestrators", conversionService.convert(orchestrators, PlatformOrchestratorsJson.class));
    map.put("tagspecifications", conversionService.convert(platformParameters, TagSpecificationsJson.class));
    Map<String, Boolean> globalParameters = conversionService.convert(specialParameters, Map.class);
    Map<String, Map<String, Boolean>> platformSpecificParameters = conversionService.convert(platformParameters, Map.class);
    SpecialParametersJson specialParametersJson = new SpecialParametersJson();
    specialParametersJson.setSpecialParameters(globalParameters);
    specialParametersJson.setPlatformSpecificSpecialParameters(platformSpecificParameters);
    map.put("specialParameters", specialParametersJson);
    return map;
}
Also used : PlatformRegions(com.sequenceiq.cloudbreak.cloud.model.PlatformRegions) Platform(com.sequenceiq.cloudbreak.cloud.model.Platform) HashMap(java.util.HashMap) PlatformRegionsJson(com.sequenceiq.cloudbreak.api.model.PlatformRegionsJson) PlatformDisks(com.sequenceiq.cloudbreak.cloud.model.PlatformDisks) PlatformVirtualMachines(com.sequenceiq.cloudbreak.cloud.model.PlatformVirtualMachines) PlatformVariantsJson(com.sequenceiq.cloudbreak.api.model.PlatformVariantsJson) SpecialParametersJson(com.sequenceiq.cloudbreak.api.model.SpecialParametersJson) SpecialParameters(com.sequenceiq.cloudbreak.api.model.SpecialParameters) PlatformOrchestratorsJson(com.sequenceiq.cloudbreak.api.model.PlatformOrchestratorsJson) TagSpecificationsJson(com.sequenceiq.cloudbreak.api.model.TagSpecificationsJson) PlatformDisksJson(com.sequenceiq.cloudbreak.api.model.PlatformDisksJson) PlatformVariants(com.sequenceiq.cloudbreak.cloud.model.PlatformVariants) PlatformParameters(com.sequenceiq.cloudbreak.cloud.PlatformParameters) PlatformOrchestrators(com.sequenceiq.cloudbreak.cloud.model.PlatformOrchestrators) PlatformVirtualMachinesJson(com.sequenceiq.cloudbreak.api.model.PlatformVirtualMachinesJson) HashMap(java.util.HashMap) Map(java.util.Map)

Example 2 with SpecialParameters

use of com.sequenceiq.cloudbreak.api.model.SpecialParameters in project cloudbreak by hortonworks.

the class PlatformParameterV1Controller method getSpecialProperties.

@Override
public SpecialParametersJson getSpecialProperties() {
    SpecialParameters specialParameters = cloudParameterService.getSpecialParameters();
    Map<Platform, PlatformParameters> platformParameters = cloudParameterService.getPlatformParameters();
    Map<String, Boolean> globalParameters = conversionService.convert(specialParameters, Map.class);
    Map<String, Map<String, Boolean>> platformSpecificParameters = conversionService.convert(platformParameters, Map.class);
    SpecialParametersJson specialParametersJson = new SpecialParametersJson();
    specialParametersJson.setSpecialParameters(globalParameters);
    specialParametersJson.setPlatformSpecificSpecialParameters(platformSpecificParameters);
    return specialParametersJson;
}
Also used : Platform(com.sequenceiq.cloudbreak.cloud.model.Platform) PlatformParameters(com.sequenceiq.cloudbreak.cloud.PlatformParameters) HashMap(java.util.HashMap) Map(java.util.Map) SpecialParametersJson(com.sequenceiq.cloudbreak.api.model.SpecialParametersJson) SpecialParameters(com.sequenceiq.cloudbreak.api.model.SpecialParameters)

Example 3 with SpecialParameters

use of com.sequenceiq.cloudbreak.api.model.SpecialParameters in project cloudbreak by hortonworks.

the class StackValidationRequestToStackValidationConverter method validateNetwork.

private void validateNetwork(Long networkId, NetworkRequest networkRequest, StackValidation stackValidation) {
    SpecialParameters specialParameters = cloudParameterCache.getPlatformParameters().get(Platform.platform(stackValidation.getCredential().cloudPlatform())).specialParameters();
    if (networkId != null) {
        Network network = networkService.get(networkId);
        stackValidation.setNetwork(network);
    } else if (networkRequest != null) {
        Network network = conversionService.convert(networkRequest, Network.class);
        stackValidation.setNetwork(network);
    } else if (specialParameters.getSpecialParameters().get(PlatformParametersConsts.NETWORK_IS_MANDATORY)) {
        throw new BadRequestException("Network is not configured for the validation request!");
    }
}
Also used : Network(com.sequenceiq.cloudbreak.domain.Network) BadRequestException(com.sequenceiq.cloudbreak.controller.BadRequestException) SpecialParameters(com.sequenceiq.cloudbreak.api.model.SpecialParameters)

Example 4 with SpecialParameters

use of com.sequenceiq.cloudbreak.api.model.SpecialParameters in project cloudbreak by hortonworks.

the class PlatformParametersToSpecialParametersJsonConverter method convert.

@Override
public Map<String, Map<String, Boolean>> convert(Map<Platform, PlatformParameters> source) {
    Map<String, Map<String, Boolean>> specialParameters = new HashMap<>();
    source.keySet().forEach(p -> {
        SpecialParameters sp = source.get(p).specialParameters();
        specialParameters.put(p.value(), sp.getSpecialParameters());
    });
    return specialParameters;
}
Also used : HashMap(java.util.HashMap) Map(java.util.Map) HashMap(java.util.HashMap) SpecialParameters(com.sequenceiq.cloudbreak.api.model.SpecialParameters)

Aggregations

SpecialParameters (com.sequenceiq.cloudbreak.api.model.SpecialParameters)4 HashMap (java.util.HashMap)3 Map (java.util.Map)3 SpecialParametersJson (com.sequenceiq.cloudbreak.api.model.SpecialParametersJson)2 PlatformParameters (com.sequenceiq.cloudbreak.cloud.PlatformParameters)2 Platform (com.sequenceiq.cloudbreak.cloud.model.Platform)2 PlatformDisksJson (com.sequenceiq.cloudbreak.api.model.PlatformDisksJson)1 PlatformOrchestratorsJson (com.sequenceiq.cloudbreak.api.model.PlatformOrchestratorsJson)1 PlatformRegionsJson (com.sequenceiq.cloudbreak.api.model.PlatformRegionsJson)1 PlatformVariantsJson (com.sequenceiq.cloudbreak.api.model.PlatformVariantsJson)1 PlatformVirtualMachinesJson (com.sequenceiq.cloudbreak.api.model.PlatformVirtualMachinesJson)1 TagSpecificationsJson (com.sequenceiq.cloudbreak.api.model.TagSpecificationsJson)1 PlatformDisks (com.sequenceiq.cloudbreak.cloud.model.PlatformDisks)1 PlatformOrchestrators (com.sequenceiq.cloudbreak.cloud.model.PlatformOrchestrators)1 PlatformRegions (com.sequenceiq.cloudbreak.cloud.model.PlatformRegions)1 PlatformVariants (com.sequenceiq.cloudbreak.cloud.model.PlatformVariants)1 PlatformVirtualMachines (com.sequenceiq.cloudbreak.cloud.model.PlatformVirtualMachines)1 BadRequestException (com.sequenceiq.cloudbreak.controller.BadRequestException)1 Network (com.sequenceiq.cloudbreak.domain.Network)1