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));
}
}
}