//
// typica - A client library for Amazon Web Services
//
// Licensed 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 com.xerox.amazonws.ec2;
import java.util.ArrayList;
import java.util.List;
import com.xerox.amazonws.typica.jaxb.DescribeInstanceAttributeResponse;
import com.xerox.amazonws.typica.jaxb.NullableAttributeValueType;
import com.xerox.amazonws.typica.jaxb.NullableAttributeBooleanValueType;
import com.xerox.amazonws.typica.jaxb.InstanceBlockDeviceMappingResponseType;
import com.xerox.amazonws.typica.jaxb.InstanceBlockDeviceMappingResponseItemType;
/**
* The results of a call to describe snapshot attributes.
*/
public class DescribeInstanceAttributeResult {
private String requestId;
private String instanceId;
private InstanceType instanceType;
private String kernelId;
private String ramdiskId;
private String userData;
private boolean disableApiTermination;
private String instanceInitiatedShutdownBehavior;
private String rootDeviceName;
private List<BlockDeviceMapping> blockDeviceMappings;
public DescribeInstanceAttributeResult(String requestId, String instanceId) {
this.requestId = requestId;
this.instanceId = instanceId;
blockDeviceMappings = new ArrayList<BlockDeviceMapping>();
}
DescribeInstanceAttributeResult(DescribeInstanceAttributeResponse response) {
requestId = response.getRequestId();
instanceId = response.getInstanceId();
NullableAttributeValueType val = response.getInstanceType();
if (val != null) instanceType = InstanceType.getTypeFromString(val.getValue());
val = response.getKernel();
if (val != null) kernelId = val.getValue();
val = response.getRamdisk();
if (val != null) ramdiskId = val.getValue();
val = response.getUserData();
if (val != null) userData = val.getValue();
NullableAttributeBooleanValueType bool = response.getDisableApiTermination();
if (bool != null) disableApiTermination = bool.isValue();
val = response.getInstanceInitiatedShutdownBehavior();
if (val != null) instanceInitiatedShutdownBehavior = val.getValue();
val = response.getRootDeviceName();
if (val != null) rootDeviceName = val.getValue();
blockDeviceMappings = new ArrayList<BlockDeviceMapping>();
InstanceBlockDeviceMappingResponseType bdmSet = response.getBlockDeviceMapping();
if (bdmSet != null) {
for (InstanceBlockDeviceMappingResponseItemType mapping : bdmSet.getItems()) {
// blockDeviceMappings.add(new BlockDeviceMapping(mapping.getVirtualName(), mapping.getDeviceName()));
}
}
}
public String getRequestId() {
return requestId;
}
public String getInstanceId() {
return instanceId;
}
public InstanceType getInstanceType() {
return this.instanceType;
}
public String getKernelId() {
return kernelId;
}
public String getRamdiskId() {
return ramdiskId;
}
public String getUserData() {
return userData;
}
public boolean getDisableApiTermination() {
return disableApiTermination;
}
public String getInstanceInitiatedShutdownBehavior() {
return instanceInitiatedShutdownBehavior;
}
public String getRootDeviceName() {
return rootDeviceName;
}
public List<BlockDeviceMapping> getBlockDeviceMappings() {
return blockDeviceMappings;
}
}