blob: c0282c8a82371acc3fba7268b3cbdf7b01eb0014 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package org.apache.cloudstack.api.response;
import com.cloud.host.Host;
import com.cloud.serializer.Param;
import com.google.common.base.Strings;
import com.google.gson.annotations.SerializedName;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.EntityReference;
import org.apache.cloudstack.outofbandmanagement.OutOfBandManagement;
@EntityReference(value = Host.class)
public class OutOfBandManagementResponse extends BaseResponse {
@SerializedName(ApiConstants.HOST_ID)
@Param(description = "the ID of the host")
private String id;
@SerializedName(ApiConstants.POWER_STATE)
@Param(description = "the out-of-band management interface powerState of the host")
private OutOfBandManagement.PowerState powerState;
@SerializedName(ApiConstants.ENABLED)
@Param(description = "true if out-of-band management is enabled for the host")
private Boolean enabled;
@SerializedName(ApiConstants.DRIVER)
@Param(description = "the out-of-band management driver for the host")
private String driver;
@SerializedName(ApiConstants.ADDRESS)
@Param(description = "the out-of-band management interface address")
private String ipAddress;
@SerializedName(ApiConstants.PORT)
@Param(description = "the out-of-band management interface port")
private String port;
@SerializedName(ApiConstants.USERNAME)
@Param(description = "the out-of-band management interface username")
private String username;
@SerializedName(ApiConstants.PASSWORD)
@Param(description = "the out-of-band management interface password")
private String password;
@SerializedName(ApiConstants.ACTION)
@Param(description = "the out-of-band management action (if issued)")
private String outOfBandManagementAction;
@SerializedName(ApiConstants.DESCRIPTION)
@Param(description = "the operation result description")
private String resultDescription;
@SerializedName(ApiConstants.STATUS)
@Param(description = "the operation result")
private Boolean success;
public OutOfBandManagementResponse() {
super("outofbandmanagement");
}
public OutOfBandManagementResponse(final OutOfBandManagement outOfBandManagementConfig) {
this();
if (outOfBandManagementConfig == null) {
this.setEnabled(false);
this.setPowerState(OutOfBandManagement.PowerState.Disabled);
return;
}
this.setEnabled(outOfBandManagementConfig.isEnabled());
if (outOfBandManagementConfig.getPowerState() != null) {
this.setPowerState(outOfBandManagementConfig.getPowerState());
} else {
this.setPowerState(OutOfBandManagement.PowerState.Unknown);
}
this.setDriver(outOfBandManagementConfig.getDriver());
this.setIpAddress(outOfBandManagementConfig.getAddress());
if (outOfBandManagementConfig.getPort() != null) {
this.setPort(outOfBandManagementConfig.getPort());
}
this.setUsername(outOfBandManagementConfig.getUsername());
if (!Strings.isNullOrEmpty(outOfBandManagementConfig.getPassword())) {
this.setPassword(outOfBandManagementConfig.getPassword().substring(0, 1) + "****");
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public OutOfBandManagement.PowerState getPowerState() {
return powerState;
}
public void setPowerState(OutOfBandManagement.PowerState powerState) {
this.powerState = powerState;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getOutOfBandManagementAction() {
return outOfBandManagementAction;
}
public void setOutOfBandManagementAction(String outOfBandManagementAction) {
this.outOfBandManagementAction = outOfBandManagementAction;
}
public String getResultDescription() {
return resultDescription;
}
public void setResultDescription(String resultDescription) {
this.resultDescription = resultDescription;
}
public Boolean getSuccess() {
return success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
}