Commit Graph

1530 Commits

Author SHA1 Message Date
Geoff Macartney 81f8818e32 Temporarily use a custom annotation instead of @SinceApiVersion.
The intention is to use @SinceApiVersion for this purpose, but that
would affect a number of APIs, and we would want to have good test
coverage before merging that change (in
FormSignerUtils#getAnnotatedApiVersion). However, there is some issue
wth certain tests at resent that means we cannot successfully test
all APIs that make use of @SinceApiVersion in order to assure
ourselves that FormSignerUtils will not introduce some problem.

See https://github.com/jclouds/jclouds/pull/1102#issuecomment-302682049
for details.

This annotation is introduced as a temporary measure in order to
decouple the functionality of FormSignerUtils#getAnnotatedApiVersion
from @SinceApiVersion and the tests in question. It can be removed and
replaced by @SinceApiVersion when those tests are fixed.

Designates that a method overrides the {@link ApiVersion} on the class
with a specific value.
2017-05-29 10:32:51 +02:00
Geoff Macartney c0f3eb6071 Add ModifySubnetAttribute 2017-05-29 10:32:48 +02:00
Geoff Macartney f7390443db Add RouteTable API.
Limitations:
Does not contain support for VgwRoutePropagation.
2017-05-29 10:31:44 +02:00
Geoff Macartney a911e5eef1 Add an InternetGatewayApi to AWSEC2Api.
This is a follow-up to https://github.com/jclouds/jclouds/pull/1091
and particularly the comment at
https://github.com/jclouds/jclouds/pull/1091#issuecomment-299202429:

I have been trying this out and I think we will need to extend it for
practical purposes; if you want to create a VPC and subnet and then
deploy a machine on to it, you also need to jump through a few other
hoops apart from creating the subnet:

 - modify the subnet attributes to permit auto-assign public
   IP ("ModifySubnetAttribute")
 - create an Internet Gateway on the VPC ("CreateInternetGateway")
 - get and then modify the routing table of the subnet to add a public
   (0.0.0.0/0) route through the newly added gateway ("CreateRoute" and
   friends)

There are three AWS APIs needed for the above, an `InternetGatewayApi`,
a `RouteTableApi` and a method in the subnet API, I guess, for modifying
attributes on subnets. This PR contains the `InternetGatewayApi`.
2017-05-11 00:31:59 +02:00
Andrea Turli a9cc10c490 JCLOUDS-1269; JCLOUDS-1120: ec2 subnet/securityGroups fixes 2017-05-04 17:42:26 +02:00
Andrew Gaul de084125f2 JCLOUDS-1262: Correct US-OH region
Follow on to 04ab255d9f.
2017-04-10 13:14:24 -07:00
Ignasi Barrera fcc8310d90 JCLOUDS-1262: Add the Ohio region to AWS 2017-03-29 09:25:07 +02:00
Michelle Zhang 73875884b5 JCLOUDS-1217/JCLOUDS-1258: Add Canada, London and China regions to AWS 2017-03-29 09:25:05 +02:00
Tomasz Wojtuń f5a5d869fe Wrap Image with Optional in DiskURIToImage 2017-03-14 08:47:39 +01:00
Andrew Gaul d89d6b5d05 Return more metadata from listMultipartUpload
Include Content-Length and Last-Modified.
2017-03-08 20:38:22 -08:00
Ignasi Barrera cbc750cb8b Next development version 2.0.2-SNAPSHOT 2017-02-22 10:32:50 +01:00
Ignasi Barrera bafa52be97 Apache jclouds 2.0.1-rc2 release 2017-02-22 10:28:10 +01:00
Timur Alperovich 3668a9905b GetBucketLocation should use path-style requests.
When making a GetBucketLocation request, Amazon may route the request
to the bucket region. When making it with v4 signer, the request may
fail because of the region mismatch. Concretely, a request to
test.s3.amazonaws.com may resolve to s3-us-west-2-w.amazonaws.com. The
request itself is prepared for the us-east-1 region (s3.amazonaws.com
endpoint), but then fails when the DNS resolution points to a
us-west-2 endpoint.

Bucket-in-path works around this for the GetBucketLocation requests.
That means that every GetBucketLocation request will be of the form:
https://s3.amazonaws.com/{bucket}?location. This ensures that jclouds
requests will not be subjected to Amazon's routing/DNS pointers.

Fixes: JCLOUDS-1213
2017-01-11 22:54:36 -08:00
Vijay Panghal 79ad45d6b9 Make user agent header configurable
Jclouds sends default user agent string with each request to cloud
services. But some of the application would like to overide this and
send custom user agent instead.

This commit define a string property to overide this default user agent
string. This property will be applied to all outgoing http request to
cloud services

JCLOUDS-819
2016-12-20 11:12:53 +01:00
Ignasi Barrera fa746ff162 Deprecate user metadata in DigitalOcean 2016-12-07 17:24:46 +01:00
Fritz Elfert 3ae2213a7d JCLOUDS-1206: Replace user metadata by byte[] userData 2016-12-07 17:24:42 +01:00
Ignasi Barrera 970f521bcd Next development version 2.0.1-SNAPSHOT 2016-11-15 01:17:08 +01:00
Ignasi Barrera 6a3a37f4e0 Apache jclouds 2.0.0-rc3 release 2016-11-09 22:30:45 +01:00
Andrea Turli 8649c3ff79 [aws-ec2] Add CRUD for VPC 2016-10-31 14:56:15 +01:00
Ignasi Barrera 06b69ffed4 Fix AWS EC2 compute live tests 2016-10-25 15:19:50 +02:00
Andrew Gaul 3c9f66b8e9 Avoid lower-case l literal suffix
Readers can confuse this with 1.  Found via error-prone.  Fixed via:

find -name \*.java | xargs sed -i 's/\( [0-9][0-9]*\)l/\1L/g'
find -name \*.java | xargs sed -i 's/\(([0-9][0-9]*\)l/\1L/g'
2016-10-23 14:24:35 -07:00
Andrew Gaul 8117574c83 Avoid C-style array declarations
Found via error-prone.
2016-10-23 13:51:59 -07:00
Andrew Gaul 25baad6d32 Address confusing operator precedence
Found via error-prone.
2016-10-23 06:39:46 -07:00
Andrew Gaul 2a04a52d56 Remove unused imports
Found via error-prone.
2016-10-23 06:39:46 -07:00
Ignasi Barrera 8030e53f32 Move digital ocean rate limit handler to core to make it reusable 2016-10-19 16:56:51 +02:00
Andrew Gaul bc97afc0c1 JCLOUDS-1182: Added Seoul and Mumbai regions to AWS
This commit addresses test failures in
AWSS3ServiceIntegrationLiveTest#testGetAssignableLocations.
2016-10-18 21:06:15 -07:00
Shri Javadekar 7826d22d30 JCLOUDS-1161: Make AWSS3BlobRequestSignerV4 the default signer.
Added new live tests and fixed some unit tests accordingly.
2016-10-18 20:06:34 -07:00
Andrea Turli 2c6caa04bf reduce payload for GET VirtualGuests 2016-10-14 10:45:57 +02:00
Ignasi Barrera b06795ebe4 JCLOUDS-1182: Added Seoul and Mumbai regions to AWS 2016-10-13 18:14:20 +02:00
Ignasi Barrera 3b726b5686 Fix DigitalOcean2 live tests 2016-10-13 15:06:50 +02:00
Andrew Gaul 50e6d44433 JCLOUDS-945: fix local blobstore marker handling
Previously using prefix markers would not correctly find the next key.
Add test for this behavior.
2016-10-12 22:22:28 -07:00
Stuart Hendren 26c060a0e8 JCLOUDS-1185 Allow rangeIPv4 to be null
The default network of recently created projects have a null value for rangeIPv4
And all regions as subnets, which do have values for the rangeIPv4.

Fixes JCLOUDS-1158
2016-10-07 14:12:08 +02:00
Ignasi Barrera 8e0e781df0 GCE live test fixes 2016-09-26 13:25:46 +02:00
Ignasi Barrera d98348d503 Better predicate signature for node operations 2016-09-23 10:22:23 +02:00
Andrew Gaul 080bcce224 Address Checkstyle violations
Regression from 76995a363d.
2016-09-17 14:27:03 -07:00
Andrew Gaul 76995a363d Do not fail AWS S3 signer tests with expiry
Regression from 41bdd9c5a9.
References #1008.
2016-09-17 12:13:28 -07:00
Andrew Gaul 7cde28a4d2 JCLOUDS-1074: Guava 20 compatibility
* dynamically call TypeToken.isSupertypeOf with Guava 19 and later and
  TypeToken.isAssignableFrom with Guava 18 and earlier
* consume or ignore values from methods with CheckReturnValue
* replace usage of removed Iterators.emptyIterator
2016-09-06 21:49:20 -07:00
Zack Shoylev 05c05e3de2 Allows users to download large files efficiently and directly to disk. 2016-09-02 14:05:26 -05:00
Iván Lomba 557a115694 JCLOUDS-482: Fix ProfitBricksComputeServiceLiveTest custom hardware assert 2016-08-16 23:12:42 +02:00
Iván Lomba aac9b5fd5d JCLOUDS-482: Add support for ProfitBricks 2016-08-16 02:44:13 +02:00
Iván Lomba 79e95c5a4c JCLOUDS-482: Add support for arbitrary CPU and RAM
This is a combination of 16 commits:

* First approach to ArbitraryCpuRamTemplateBuilderImpl
* Several fixes: refactoring some names, format, identation problems, some missing license headers and generateId method
* Refactored parse utility
* Added GoogleComputeEngineArbitraryCpuRamTemplateBuilderImpl to support GCE custom machine URI
* extracted hardware creation to automaticHardwareForCpuAndRam method
* Fixed ide automatic asterisk imports
* correcting WIP base case PR according to comments
* added machineTypeUriToHardware to set custom hardware in nodes
* fix checkstyle violations and other PR comments
* Set the providerId to custom machineType URI and fix adding node log
* Arbitrary hardware tests added to BaseTemplateBuilderLiveTest and GoogleComputeEngineTemplateBuilderLiveTest
* Added two more tests to BaseTemplateBuilderLiveTest
* Move repeated constants to TestUtils to reuse code
* Fix full path in the Hardware id and URI
* Add custom hardware tests to BaseComputeServiceLiveTest and GCEServiceLiveTest
* Change customHardware test to use buildTemplate and fix identation
2016-08-16 02:44:04 +02:00
Ignasi Barrera 1e4d0beae2 JCLOUDS-1145: Fix DigitalOceanImageExtension and live tests 2016-08-16 00:18:05 +02:00
Andrea Turli 93028b7529 GCE: fix tags order 2016-08-02 20:12:45 +02:00
Andrea Turli deeedd55e8 add support for security groups 2016-08-02 16:46:04 +02:00
Andrea Turli a515ce2f22 Change line endings on files recursively 2016-07-14 00:02:13 +02:00
Andrew Gaul de04c69141 Consistently name test container names
Previously jclouds allocated the initial container pool as
$USERNAME-blobstore-1, 2, etc. and subsequent containers with
$USERNAME-blobstore-$RANDOM.  Use only the former instead.
2016-06-22 22:50:22 -07:00
Ignasi Barrera bde70457d0 JCLOUDS-1105: Do not create the default security group if custom groups are specified 2016-06-17 22:18:35 +02:00
Ignasi Barrera 179ed3b2f6 Properly set the permissions in the ~/.ssh folder
When writing the ~/.ssh/authorized_keys file in a script that is being
run as sudo, the file is created with the root owner, instead of the
user defined by the node credentials. File ownership should be enforced
to make sure the right owner is alwaays set.
2016-06-17 22:16:19 +02:00
Andrew Gaul 5fec2346a6 JCLOUDS-1028: Configure idempotent methods
Enable POST for Atmos, S3, and Swift.
2016-06-15 16:35:22 -07:00
Valentin Aitken f98116ec83 GCE ResetWindowsPassword
- Function which tells to GCE to reset Windows password

- InstanceApiLiveTest for windows

- Unit test for decrypting windows password

- fixed compile errors
2016-06-15 12:31:48 +02:00