StringBuilder sb = new StringBuilder();
sb.append("#!/bin/bash\n");
sb.append("# Created / managed by PlatformLayer. Do not edit.\n");
sb.append("# __PLATFORMLAYER__METADATA__BEGIN__\n");
Sanitizer sanitizer = new Sanitizer(Decision.Throw, '_');
sanitizer.allowAlphanumeric();
sanitizer.allowCharacters("!@$%^&*()[]{}_-+|<>,.");
sanitizer.setDecision("#= ", Decision.Throw);
for (Entry<String, String> entry : metadata.entrySet()) {
String key = sanitizer.clean(entry.getKey());
String value = sanitizer.clean(entry.getValue());
sb.append("# " + key + "=" + value + "\n");
}
sb.append("# __PLATFORMLAYER__METADATA__END__\n");
sb.append("set -e\n");