use of com.amazonaws.services.ec2.model.NetworkInterfaceAttachmentChanges in project photon-model by vmware.
the class TestAWSSetupUtils method addNICDirectlyWithEC2Client.
/**
* Attach a provided AWS NIC to a given AWS VM with deviceIndex = number of NICs + 1
* returns the attachment ID of the newly created and attached NIC. This is necessary for
* removing it later for the goals of the test. The NIC is as well configured to be deleted on
* instance termination for sanity purposes.
*/
public static String addNICDirectlyWithEC2Client(ComputeState vm, AmazonEC2Client client, VerificationHost host, String newNicId) {
// attach the new AWS NIC to the AWS VM
AttachNetworkInterfaceRequest attachNewNic = new AttachNetworkInterfaceRequest().withInstanceId(vm.id).withDeviceIndex(vm.networkInterfaceLinks.size()).withNetworkInterfaceId(newNicId);
AttachNetworkInterfaceResult attachmetnResult = client.attachNetworkInterface(attachNewNic);
String attachmentId = attachmetnResult.getAttachmentId();
// ensure the new NIC is deleted when the VM is terminated
NetworkInterfaceAttachmentChanges attachTerm = new NetworkInterfaceAttachmentChanges().withAttachmentId(attachmentId).withDeleteOnTermination(true);
ModifyNetworkInterfaceAttributeRequest setDeleteOnTerm = new ModifyNetworkInterfaceAttributeRequest().withAttachment(attachTerm).withNetworkInterfaceId(newNicId);
client.modifyNetworkInterfaceAttribute(setDeleteOnTerm);
host.log("Created new NIC with id: %s to vm id: %s with attachment id: %s", newNicId, vm.id, attachmentId);
return attachmentId;
}
Aggregations