public void validateFields()

in TerraformCustomResourceHandler/src/main/java/com/amazon/servicecatalog/terraform/customresource/model/TerraformResourceProperties.java [38:56]


    public void validateFields() {
        requireField(serviceToken, "ServiceToken");
        requireField(terraformArtifactUrl, "TerraformArtifactUrl");
        requireField(launchRoleArn, "LaunchRoleArn");

        if (!launchRoleArn.matches(ROLE_ARN_REGEX)) {
            throw new RuntimeException(String.format("LaunchRoleArn %s does not match regex %s", launchRoleArn, ROLE_ARN_REGEX));
        }

        if (terraformVariables != null) {
            List<String> invalidVariables = terraformVariables.entrySet().stream()
                    .filter(e -> !(e.getValue() instanceof String || isListOfString(e.getValue())))
                    .map(Map.Entry::getKey)
                    .collect(ImmutableList.toImmutableList());
            if (!invalidVariables.isEmpty()) {
                throw new RuntimeException(String.format("Invalid Terraform variables %s. Must be string or list of strings", invalidVariables));
            }
        }
    }