I've done a careful analysis of the following 3 AWS API versions: 2011-12-15 (used for all non-VPC calls), 2013-10-15 (used for VPC calls), 2014-10-01 (current latest version), using the published AWS WSDL schemas to determine how upgrading the version will impact juju-core's usage of goamz. Fortunately, there are not many changes and very few, easily fixable changes affect juju-core: VPC calls with no changes in 2014-10-01 vs 2013-10-15: AssignPrivateIpAddresses AttachNetworkInterface CreateNetworkInterface CreateSecurityGroup CreateSubnet CreateVpc DeleteNetworkInterface DeleteSubnet DeleteVpc DescribeAccountAttributes DescribeNetworkInterfaces DescribeSubnets DescribeVpcs DetachNetworkInterface UnassignPrivateIpAddresses non-VPC calls with no changes in 2014-10-01 vs 2011-12-15: AuthorizeSecurityGroupIngress CreateSnapshot CreateTags DeleteSnapshot DescribeAvailabilityZones DescribeSecurityGroups DescribeSnapshots RebootInstances RevokeSecurityGroupIngress StartInstances StopInstances TerminateInstances non-VPC calls with changes between 2011-12-15 and 2014-10-01: DescribeInstances request changes: maxResults, nextToken (added - not supported or used by juju; pagination support) response changes: instancesSet>item>productCodes>item>type (added - not supported or used by juju-core) instancesSet>item>iamInstanceProfile>* (added whole subtree - not supported or used by juju-core) instancesSet>item>ebsOptimized (added - not supported but needed for storage work in juju-core) instancesSet>item>sriovNetSupport (added - not supported or used by juju-core) instancesSet>item>networkInterfaceSet>item>macAddress (added - already supported since VPC calls landed) instancesSet>item>networkInterfaceSet>item>association>* (added whole subtree - not used by juju-core; related to elastic IPs) instancesSet>item>networkInterfaceSet>item>privateIpAddressesSet>* (added whole subtree - already supported since VPC calls landed; >item>association>* not supported, but not used as well) nextToken (added - not supported or used by juju; for pagination of results) RunInstances request changes: blockDeviceMapping>item>ebs>volumeType (added - already supported since storage changes landed) blockDeviceMapping>item>ebs>iops (added - already supported since storage changes) networkInterfaceSet>item>* - same changes as in DescribeInstances, except: networkInterfaceSet>item>associatePublicIpAddress (added - not supported but needed by juju) iamInstanceProfile>* (added whole subtree - not supported or used by juju) ebsOptimized (added - not supported but possibly needed for juju storage work) response changes: the same as for DescribeInstances, except for nextToken DescribeImages request - no changes response changes: sriovNetSupport (added - not supported or used by juju) productCodes, blockDeviceMapping (added - same changes as in RunInstances) So overall upgrading AWS API version to 2014-10-01 won't require changes in juju-core, and only a few changes to add what's missing in the request/response structs, as well as the Instance and NetworkInterface types. I'm about to propose this branch retargeted to goamz on github.