package com.sequenceiq.cloudbreak.cloud.model; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; import java.util.Map; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.collect.ImmutableMap; import com.sequenceiq.cloudbreak.api.model.InstanceGroupType; @JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, setterVisibility = NONE) @JsonIgnoreProperties(ignoreUnknown = true) public class Image { private final String imageName; private final Map<InstanceGroupType, String> userdata; public Image(@JsonProperty("imageName") String imageName, @JsonProperty("userdata") Map<InstanceGroupType, String> userdata) { this.imageName = imageName; this.userdata = ImmutableMap.copyOf(userdata); } public String getImageName() { return imageName; } public String getUserData(InstanceGroupType key) { return userdata.get(key); } public Map<InstanceGroupType, String> getUserdata() { return userdata; } @Override public String toString() { return "Image{" + "imageName='" + imageName + '\'' + ", userdata=" + userdata + '}'; } }