package com.sequenceiq.cloudbreak.api.model; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import javax.validation.Valid; import com.fasterxml.jackson.annotation.JsonRawValue; import com.fasterxml.jackson.databind.JsonNode; import com.sequenceiq.cloudbreak.doc.ModelDescriptions; import com.sequenceiq.cloudbreak.doc.ModelDescriptions.ClusterModelDescription; import io.swagger.annotations.ApiModelProperty; public class ClusterResponse { @ApiModelProperty(ModelDescriptions.ID) private Long id; @ApiModelProperty(ModelDescriptions.NAME) private String name; @ApiModelProperty(ClusterModelDescription.STATUS) private String status; @ApiModelProperty(ClusterModelDescription.HOURS) private int hoursUp; @ApiModelProperty(ClusterModelDescription.MINUTES) private int minutesUp; @ApiModelProperty(ClusterModelDescription.CLUSTER_NAME) private String cluster; @ApiModelProperty(ClusterModelDescription.BLUEPRINT_ID) private Long blueprintId; @ApiModelProperty(ClusterModelDescription.BLUEPRINT) private BlueprintResponse blueprint; @ApiModelProperty(ModelDescriptions.DESCRIPTION) private String description; @ApiModelProperty(ClusterModelDescription.STATUS_REASON) private String statusReason; @ApiModelProperty(ModelDescriptions.StackModelDescription.AMBARI_IP) private String ambariServerIp; @ApiModelProperty(ModelDescriptions.StackModelDescription.AMBARI_URL) private String ambariServerUrl; @ApiModelProperty(value = ModelDescriptions.StackModelDescription.USERNAME) private String userName; private boolean secure; @ApiModelProperty(value = ClusterModelDescription.LDAP_REQUIRED) private Boolean ldapRequired = false; @ApiModelProperty(value = ClusterModelDescription.SSSDCONFIG_ID) private Long sssdConfigId; @ApiModelProperty(value = ClusterModelDescription.SSSDCONFIG) private SssdConfigResponse sssdConfig; private Set<HostGroupResponse> hostGroups = new HashSet<>(); @ApiModelProperty(ClusterModelDescription.RDSCONFIG_IDS) private Set<Long> rdsConfigIds = new HashSet<>(); @ApiModelProperty(ClusterModelDescription.RDSCONFIGS) private Set<RDSConfigResponse> rdsConfigs = new HashSet<>(); @ApiModelProperty(ClusterModelDescription.SERVICE_ENDPOINT_MAP) private Map<String, String> serviceEndPoints = new HashMap<>(); @ApiModelProperty(ClusterModelDescription.CONFIG_STRATEGY) private ConfigStrategy configStrategy; @ApiModelProperty(ClusterModelDescription.ENABLE_SHIPYARD) private Boolean enableShipyard; @ApiModelProperty(value = ClusterModelDescription.LDAP_CONFIG_ID) private Long ldapConfigId; @ApiModelProperty(value = ClusterModelDescription.LDAP_CONFIG) private LdapConfigResponse ldapConfig; @ApiModelProperty(ClusterModelDescription.CLUSTER_ATTRIBUTES) private Map<String, Object> attributes = new HashMap<>(); @ApiModelProperty(value = ClusterModelDescription.BLUEPRINT_INPUTS) private Set<BlueprintInputJson> blueprintInputs = new HashSet<>(); @ApiModelProperty(value = ClusterModelDescription.BLUEPRINT_CUSTOM_PROPERTIES) private String blueprintCustomProperties; private GatewayJson gateway; @ApiModelProperty(value = ClusterModelDescription.CUSTOM_CONTAINERS) private CustomContainerResponse customContainers; @ApiModelProperty(value = ModelDescriptions.ClusterModelDescription.AMBARI_STACK_DETAILS) private AmbariStackDetailsJson ambariStackDetails; @ApiModelProperty(value = ModelDescriptions.ClusterModelDescription.AMBARI_REPO_DETAILS) private AmbariRepoDetailsJson ambariRepoDetailsJson; @Valid @ApiModelProperty(value = ModelDescriptions.ClusterModelDescription.AMBARI_DATABASE_DETAILS) private AmbariDatabaseDetailsJson ambariDatabaseDetails; @ApiModelProperty(value = ClusterModelDescription.CUSTOM_QUEUE) private String customQueue; public Boolean getEnableShipyard() { return enableShipyard; } public void setEnableShipyard(Boolean enableShipyard) { this.enableShipyard = enableShipyard; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public int getHoursUp() { return hoursUp; } public void setHoursUp(int hoursUp) { this.hoursUp = hoursUp; } public int getMinutesUp() { return minutesUp; } public void setMinutesUp(int minutesUp) { this.minutesUp = minutesUp; } public String getStatusReason() { return statusReason; } public void setStatusReason(String statusReason) { this.statusReason = statusReason; } @JsonRawValue public String getCluster() { return cluster; } public void setCluster(JsonNode node) { this.cluster = node.toString(); } public Long getBlueprintId() { return blueprintId; } public void setBlueprintId(Long blueprintId) { this.blueprintId = blueprintId; } public Set<HostGroupResponse> getHostGroups() { return hostGroups; } public void setHostGroups(Set<HostGroupResponse> hostGroups) { this.hostGroups = hostGroups; } public boolean isSecure() { return secure; } public void setSecure(boolean secure) { this.secure = secure; } public Boolean getLdapRequired() { return ldapRequired; } public void setLdapRequired(Boolean ldapRequired) { this.ldapRequired = ldapRequired; } public Long getSssdConfigId() { return sssdConfigId; } public void setSssdConfigId(Long sssdConfigId) { this.sssdConfigId = sssdConfigId; } public String getAmbariServerIp() { return ambariServerIp; } public void setAmbariServerIp(String ambariServerIp) { this.ambariServerIp = ambariServerIp; } public String getAmbariServerUrl() { return ambariServerUrl; } public void setAmbariServerUrl(String ambariServerUrl) { this.ambariServerUrl = ambariServerUrl; } public Set<Long> getRdsConfigIds() { return rdsConfigIds; } public void setRdsConfigId(Set<Long> rdsConfigIds) { this.rdsConfigIds = rdsConfigIds; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public Map<String, String> getServiceEndPoints() { return serviceEndPoints; } public void setServiceEndPoints(Map<String, String> serviceEndPoints) { this.serviceEndPoints = serviceEndPoints; } public ConfigStrategy getConfigStrategy() { return configStrategy; } public void setConfigStrategy(ConfigStrategy configStrategy) { this.configStrategy = configStrategy; } public Long getLdapConfigId() { return ldapConfigId; } public void setLdapConfigId(Long ldapConfigId) { this.ldapConfigId = ldapConfigId; } public Map<String, Object> getAttributes() { return attributes; } public void setAttributes(Map<String, Object> attributes) { this.attributes = attributes; } public Set<BlueprintInputJson> getBlueprintInputs() { return blueprintInputs; } public void setBlueprintInputs(Set<BlueprintInputJson> blueprintInputs) { this.blueprintInputs = blueprintInputs; } @JsonRawValue public String getBlueprintCustomProperties() { return blueprintCustomProperties; } public void setBlueprintCustomProperties(JsonNode blueprintCustomProperties) { this.blueprintCustomProperties = blueprintCustomProperties.toString(); } public SssdConfigResponse getSssdConfig() { return sssdConfig; } public void setSssdConfig(SssdConfigResponse sssdConfig) { this.sssdConfig = sssdConfig; } public Set<RDSConfigResponse> getRdsConfigs() { return rdsConfigs; } public void setRdsConfigs(Set<RDSConfigResponse> rdsConfigs) { this.rdsConfigs = rdsConfigs; } public LdapConfigResponse getLdapConfig() { return ldapConfig; } public void setLdapConfig(LdapConfigResponse ldapConfig) { this.ldapConfig = ldapConfig; } public BlueprintResponse getBlueprint() { return blueprint; } public void setBlueprint(BlueprintResponse blueprint) { this.blueprint = blueprint; } public GatewayJson getGateway() { return gateway; } public void setGateway(GatewayJson gateway) { this.gateway = gateway; } public CustomContainerResponse getCustomContainers() { return customContainers; } public void setCustomContainers(CustomContainerResponse customContainers) { this.customContainers = customContainers; } public AmbariStackDetailsJson getAmbariStackDetails() { return ambariStackDetails; } public void setAmbariStackDetails(AmbariStackDetailsJson ambariStackDetails) { this.ambariStackDetails = ambariStackDetails; } public AmbariRepoDetailsJson getAmbariRepoDetailsJson() { return ambariRepoDetailsJson; } public void setAmbariRepoDetailsJson(AmbariRepoDetailsJson ambariRepoDetailsJson) { this.ambariRepoDetailsJson = ambariRepoDetailsJson; } public AmbariDatabaseDetailsJson getAmbariDatabaseDetails() { return ambariDatabaseDetails; } public void setAmbariDatabaseDetails(AmbariDatabaseDetailsJson ambariDatabaseDetails) { this.ambariDatabaseDetails = ambariDatabaseDetails; } public String getCustomQueue() { return customQueue; } public void setCustomQueue(String customQueue) { this.customQueue = customQueue; } }