Search in sources :

Example 1 with ModifyNetworkInterfaceAttributeRequest

use of com.amazonaws.services.ec2.model.ModifyNetworkInterfaceAttributeRequest 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;
}
Also used : NetworkInterfaceAttachmentChanges(com.amazonaws.services.ec2.model.NetworkInterfaceAttachmentChanges) AttachNetworkInterfaceResult(com.amazonaws.services.ec2.model.AttachNetworkInterfaceResult) AttachNetworkInterfaceRequest(com.amazonaws.services.ec2.model.AttachNetworkInterfaceRequest) ModifyNetworkInterfaceAttributeRequest(com.amazonaws.services.ec2.model.ModifyNetworkInterfaceAttributeRequest)

Aggregations

AttachNetworkInterfaceRequest (com.amazonaws.services.ec2.model.AttachNetworkInterfaceRequest)1 AttachNetworkInterfaceResult (com.amazonaws.services.ec2.model.AttachNetworkInterfaceResult)1 ModifyNetworkInterfaceAttributeRequest (com.amazonaws.services.ec2.model.ModifyNetworkInterfaceAttributeRequest)1 NetworkInterfaceAttachmentChanges (com.amazonaws.services.ec2.model.NetworkInterfaceAttachmentChanges)1