static UpdateResourceCollectionRequest translateToAddResourceCollectionRequest()

in aws-devopsguru-resourcecollection/src/main/java/software/amazon/devopsguru/resourcecollection/Translator.java [25:50]


    static UpdateResourceCollectionRequest translateToAddResourceCollectionRequest(final ResourceModel model) {
        UpdateResourceCollectionRequest updateResourceCollectionRequest;
        if (model.getResourceCollectionFilter().getCloudFormation() != null) {

            // TODO: Set this value in the Handler instead of the Request
            model.setResourceCollectionType(ResourceCollectionType.AWS_CLOUD_FORMATION.getName());

            CloudFormationCollectionFilter cloudFormation = model.getResourceCollectionFilter().getCloudFormation();
            if (cloudFormation.getStackNames() == null || cloudFormation.getStackNames().size() == 0) {
                throw new CfnInvalidRequestException("Empty or missing stack names");
            }

            List<String> stackNames = cloudFormation.getStackNames();

            if (stackNames.contains("*") && stackNames.size() > 1) {
                throw new CfnInvalidRequestException("Star selection can only be used in isolation");
            }

            updateResourceCollectionRequest = UpdateResourceCollectionRequest.builder()
                    .resourceCollection(resourceCollectionConfigFromModel(model))
                    .build();
        } else {
            throw new CfnInvalidRequestException("Missing or invalid input");
        }
        return updateResourceCollectionRequest;
    }