package org.zstack.storage.ceph.primary; import org.springframework.http.HttpMethod; import org.zstack.header.message.APIEvent; import org.zstack.header.message.APIMessage; import org.zstack.header.message.APIParam; import org.zstack.header.notification.ApiNotification; import org.zstack.header.rest.APINoSee; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.PrimaryStorageMessage; import org.zstack.header.storage.primary.PrimaryStorageVO; /** * Created by Mei Lei on 6/6/2016. */ @RestRequest( path = "/primary-storage/ceph/mons/{monUuid}/actions", isAction = true, method = HttpMethod.PUT, responseClass = APIUpdateCephPrimaryStorageMonEvent.class ) public class APIUpdateCephPrimaryStorageMonMsg extends APIMessage implements PrimaryStorageMessage { @APINoSee private String primaryStorageUuid; @APIParam(resourceType = CephPrimaryStorageMonVO.class, emptyString = false) private String monUuid; @APIParam(maxLength = 255, required = false) private String hostname; @APIParam(maxLength = 255, required = false) private String sshUsername; @APIParam(maxLength = 255, required = false) private String sshPassword; @APIParam(numberRange = {1, 65535}, required = false) private Integer sshPort; @APIParam(numberRange = {1, 65535}, required = false) private Integer monPort; @Override public String getPrimaryStorageUuid() { return primaryStorageUuid; } public void setPrimaryStorageUuid(String primaryStorageUuid) { this.primaryStorageUuid = primaryStorageUuid; } public String getHostname() { return hostname; } public void setHostname(String hostname) { this.hostname = hostname; } public String getSshUsername() { return sshUsername; } public void setSshUsername(String sshUsername) { this.sshUsername = sshUsername; } public String getSshPassword() { return sshPassword; } public void setSshPassword(String sshPassword) { this.sshPassword = sshPassword; } public Integer getSshPort() { return sshPort; } public void setSshPort(Integer sshPort) { this.sshPort = sshPort; } public Integer getMonPort() { return monPort; } public void setMonPort(Integer monPort) { this.monPort = monPort; } public String getMonUuid() { return monUuid; } public void setMonUuid(String monUuid) { this.monUuid = monUuid; } public static APIUpdateCephPrimaryStorageMonMsg __example__() { APIUpdateCephPrimaryStorageMonMsg msg = new APIUpdateCephPrimaryStorageMonMsg(); msg.setMonUuid(uuid()); msg.setHostname("10.0.1.4"); return msg; } public ApiNotification __notification__() { APIMessage that = this; return new ApiNotification() { @Override public void after(APIEvent evt) { ntfy("Updated a mon server").resource(getPrimaryStorageUuid(), PrimaryStorageVO.class.getSimpleName()) .messageAndEvent(that, evt).done(); } }; } }