diff --git a/lib/VM/EC2.pm b/lib/VM/EC2.pm index 3bd49ca..04dcddf 100644 --- a/lib/VM/EC2.pm +++ b/lib/VM/EC2.pm @@ -140,7 +140,7 @@ L =head1 DESCRIPTION -This is an interface to the 2014-10-01 version of the Amazon AWS API +This is an interface to the 2016-11-15 version of the Amazon AWS API (http://aws.amazon.com/ec2). It was written provide access to the new tag and metadata interface that is not currently supported by Net::Amazon::EC2, as well as to provide developers with an extension @@ -1742,7 +1742,7 @@ sub guess_version_from_endpoint { my $self = shift; my $endpoint = $self->endpoint; return '2009-04-04' if $endpoint =~ /Eucalyptus/; # eucalyptus version according to http://www.eucalyptus.com/participate/code - return '2014-10-01'; # most recent AWS version that we support + return '2016-11-15'; # most recent AWS version that we support } =head2 $ts = $ec2->timestamp diff --git a/lib/VM/EC2/Image.pm b/lib/VM/EC2/Image.pm index af60bb4..6da09d5 100644 --- a/lib/VM/EC2/Image.pm +++ b/lib/VM/EC2/Image.pm @@ -47,6 +47,7 @@ These object methods are supported: platform -- "Windows" for Windows AMIs, otherwise undef. sriovNetSupport -- Specifies whether enhanced networking is enabled. "simple" if enabled. + enaSupport -- True if enabled stateReason -- Explanation of a "failed" imageState. This is a VM::EC2::Instance::State::Reason object. @@ -246,9 +247,10 @@ sub valid_fields { my $self = shift; return qw(imageId imageLocation imageState imageOwnerId isPublic productCodes architecture imageType kernelId ramdiskId - platform sriovNetSupport stateReason imageOwnerAlias name - description rootDeviceType rootDeviceName blockDeviceMapping - virtualizationType tagSet hypervisor); + platform sriovNetSupport enaSupport stateReason + imageOwnerAlias name description rootDeviceType + rootDeviceName blockDeviceMapping virtualizationType + tagSet hypervisor); } sub primary_id { shift->imageId } diff --git a/lib/VM/EC2/Instance.pm b/lib/VM/EC2/Instance.pm index e5263e1..7054352 100644 --- a/lib/VM/EC2/Instance.pm +++ b/lib/VM/EC2/Instance.pm @@ -165,6 +165,8 @@ These object methods are supported: sriovNetSupport -- Specifies whether enhanced networking is enabled. "simple" if so. + enaSupport -- Adds Amazon ENA support + tagSet -- Tags for the instance as a hashref. CHANGEABLE via add_tags() and delete_tags(). @@ -521,6 +523,7 @@ sub valid_fields { hypervisor tagSet sriovNetSupport + enaSupport ); } diff --git a/lib/VM/EC2/REST/ami.pm b/lib/VM/EC2/REST/ami.pm index e2e7c23..942bdd5 100644 --- a/lib/VM/EC2/REST/ami.pm +++ b/lib/VM/EC2/REST/ami.pm @@ -166,7 +166,7 @@ Common optional arguments: -virtualization_type Type of virtualization ("paravirtual" or "hvm") Default is "paravirtual" -sriov_net_support Set to "simple" to enable enhanced networking for the AMI - + -ena-support Set to true to enable ENA support While you do not have to specify the kernel ID, it is strongly recommended that you do so. Otherwise the kernel will have to be specified for run_instances(). @@ -193,6 +193,7 @@ sub register_image { SriovNetSupport)) { push @param,$self->single_parm($a,\%args); } + push @param,$self->boolean_parm("EnaSupport",\%args); push @param,$self->block_device_parm($args{-block_devices} || $args{-block_device_mapping}); return $self->call('RegisterImage',@param); @@ -224,6 +225,7 @@ retrieved: productCodes -- array blockDeviceMapping -- list of hashref sriovNetSupport -- scalar + enaSupport -- boolean All of these values can be retrieved more conveniently from the L object returned from describe_images(), so there is diff --git a/lib/VM/EC2/REST/instance.pm b/lib/VM/EC2/REST/instance.pm index 85860de..2ff2b41 100644 --- a/lib/VM/EC2/REST/instance.pm +++ b/lib/VM/EC2/REST/instance.pm @@ -653,6 +653,7 @@ retrieved: productCodes -- list of hashref ebsOptimized -- scalar sriovNetSupport -- scalar + enaSupport -- boolean All of these values can be retrieved more conveniently from the L object returned from describe_instances(), so @@ -695,6 +696,7 @@ The following is the list of attributes that can be set: -sriov_net_support -- enable enhanced networking support (must supply 'simple' as value) cannot be turned off once enabled + -ena-support -- Enhanced Amazon network support Only one attribute can be changed in a single request. For example: @@ -735,7 +737,7 @@ sub modify_instance_attribute { SriovNetSupport)], list_parm => 'GroupId', block_device_parm => 'BlockDeviceMapping', - boolean_parm => 'EbsOptimized', + boolean_parm => [qw(ebsOptimized EnaSupport)], }); return $self->call('ModifyInstanceAttribute',@param); }