Commit Graph

10785 Commits

Author SHA1 Message Date
Andrew Gaul 4c18cace97 Apache jclouds 2.5.0-rc1 release 2022-03-20 22:18:41 +09:00
ramahin 5fad7fa895 JCLOUDS-1599 - Add support for GLACIER_IR storage class 2022-03-09 09:06:13 +09:00
SATYANAN-ANAND 83deb0efef
JCLOUDS-1598: Support Metric Alert Operation (#134) 2022-02-25 10:12:43 -08:00
SATYANAN-ANAND 99f2ff86da
JCLOUDS-1597: Support for Alerts (#133) 2022-02-21 19:37:50 +09:00
SATYANAN-ANAND 738a01dda6 Update AzureComputeApi.java 2022-02-05 00:02:24 -08:00
SATYANAN-ANAND 2b16b55e33 JCLOUDS-1596: Support Activity Log Alert Operations 2022-02-05 00:02:24 -08:00
Andrew Gaul 468b126dd8 JCLOUDS-1594: Allow overriding S3 signer
Previously s3 always used v2 and aws-s3 always used v4.  Now s3
defaults to v2 and can override to v4.  Note that this does not change
BlobRequestSigner.
2022-01-12 22:24:45 +09:00
SATYANAN-ANAND c95ddff020
JCLOUDS-1591: Fix NPE in ClientCredentialsClaims 2021-12-27 16:26:28 +09:00
Andrew Gaul 1a4bcd5547 JCLOUDS-1589: Upgrade to log4j 2.17.0
This addresses a high severity CVE:

https://logging.apache.org/log4j/2.x/security.html
2021-12-19 09:30:03 +09:00
Andrew Gaul 3bbb0b446a JCLOUDS-1590: Promote glacier to core 2021-12-18 00:11:40 +09:00
Andrew Gaul afa92c7478 Merge remote-tracking branch 'jclouds-labs-aws-local/promote-glacier-moved' into promoted-glacier 2021-12-17 13:55:10 +09:00
Andrew Gaul 66ef18c6ae JCLOUDS-1589: Upgrade to log4j 2.16.0
This addresses a critical CVE:

https://logging.apache.org/log4j/2.x/security.html
2021-12-17 13:33:38 +09:00
Andrew Gaul dbd8eb1dab JCLOUDS-1589: Upgrade to log4j 2.16.0
This addresses a critical CVE:

https://logging.apache.org/log4j/2.x/security.html
2021-12-16 23:56:09 +09:00
Juan Cabrerizo 14e92fc8c8
JCLOUDS-1588: Bump google gson to 2.8.9 due to detected vulnerability (#124) 2021-11-10 19:51:52 +09:00
Andrew Gaul 7fffa59158 JCLOUDS-1586: Upgrade to Guice 5.0.1
Guice 4.2.3 makes illegal reflective accesses that Java 17 does not
allow.  References google/guice#1133.  Release notes:

https://github.com/google/guice/wiki/Guice501
2021-11-10 09:08:48 +09:00
Andrew Gaul 6db1ee9d6a Removed unused jetty-server dependency 2021-10-31 18:57:22 +09:00
Andrew Gaul b0592c5afa Next development version 2.5.0-SNAPSHOT 2021-09-19 08:59:59 +09:00
Andrew Gaul e8e78689e6 Next development version 2.4.0-SNAPSHOT 2021-09-19 08:58:25 +09:00
Rajani-cloud 8167513c35 JCLOUDS-1584 : Deployment API fails when ARM Template deploys for creating Azure VM 2021-09-04 16:30:18 +09:00
Timur Alperovich 0b68e8adee JCLOUDS-1558: Implement Azure Blob Azure AD auth
Implements the Azure AD authentication for Azure Blob, using the OAuth
module. Added more parameters to the AzureBlob provider:
- azureblob.auth
- azureblob.account
- azureblob.tenantId

The "auth" parameter is used to specify whether Key/SAS auth or Active
Directory is used. When using Active Directory auth, the identity no
longer maps to the storage account, which has to be specified
explicitly. The tenant ID also needs to be supplied to construct the
auth URL to obtain the token correctly.
2021-08-22 15:52:48 +09:00
Timur Alperovich 519bee9f60 AzureBlob: Update API to 2017-11-09 2021-08-16 00:03:07 -07:00
Timur Alperovich a1df0bb1f5 Store the MPU ETag for the transient blobstore
JCLOUDS-1582: fixes a bug in the transient blobstore where after
uploading a multipart upload, GET/HEAD returns the hash of the content,
rather than the MPU ETag.
2021-08-05 18:46:35 +09:00
Andrew Gaul 720e92c54a Prefer case-insenstive header comparisons
Follows up to #116.
2021-07-29 20:01:27 +09:00
Simone Locci 0787bb891b Fix location header case sensitive 2021-07-28 08:44:36 +09:00
Andrew Gaul d861768d49 Add missing javax dependencies for modern Java
Java 9 modularization removed these.
2021-07-20 23:04:53 +09:00
Andrew Gaul e49ce2e835 Remove tests which rely on an isolated ClassLoader
Java 9 returns jdk.internal.loader.ClassLoaders$AppClassLoader instead
of URLClassLoader so we cannot create an isolated ClassLoader.
2021-07-20 20:41:24 +09:00
Andrew Gaul 1321043c02 Remove Google appengine driver
This has an incompatibility with JAXB motivating this removal.
jclouds GAE has not seen any development or issues in recent years and
uses a very old appengine-api-1.0-sdk dependency.  Further it appears
to have modern Guava incompatibilities as seen in JCLOUDS-836.
2021-07-20 20:41:18 +09:00
Andrew Gaul a4a301fd7c Upgrade to duplicate-finder-maven-plugin 1.5.0
Notably this fixes an issue with duplicate module-version files in
JAXB.  Release notes:

https://github.com/basepom/duplicate-finder-maven-plugin/releases
2021-07-15 20:59:51 +09:00
Andrew Gaul 6de7854fd7 Upgrade animal sniffer to 1.20
This addresses a bad class file issues seen when using an explicit
JAXB dependency.  Release notes:

https://github.com/mojohaus/animal-sniffer/releases
2021-07-14 21:52:21 +09:00
Andrew Gaul f2eef863a1 Ignore copyOf method when testing with modern Java 2021-07-14 21:52:13 +09:00
Andrew Gaul ec395cc9af Upgrade to EasyMock 4.3
This upgrades asm which improves compatibility with modern Java.
Release notes:

https://github.com/easymock/easymock/releases
2021-07-14 21:52:04 +09:00
didixith 779bc2db19
JCLOUDS-1516: specify host name when creating bucket 2021-07-10 11:35:16 +09:00
Andrew Gaul fda1824620 JCLOUDS-1581: Make CORS maxAgeSeconds optional
This field is not required:

https://cloud.google.com/storage/docs/cross-origin#cors-elements
2021-06-30 10:13:44 +09:00
Miroslav Novak 261f9d1fd5 JCLOUDS-1577 - Allow to provide Azure Plan Information when starting custom image based on Azure Marketplace image. 2021-06-30 08:37:34 +09:00
Andrew Gaul d1bd51f7f1 Re-optimize LocalBlobStore.getBlob with ranges
This fixes a memory regression from
8de7b696e1 where the transient BlobStore
changed from a ByteSource to a byte[].
2021-06-30 08:09:30 +09:00
i831992 2791f47046 JCLOUDS-1580 - Add support for lowercase metadata headers
The issue happens if a cloud provider returns lowercase metadata headers, for example: "x-object-meta-apiversion" instead of "X-Object-Meta-ApiVersion"

In that case, BlobStore.blobMetadata(CONTAINER, PATH).getUserMetadata()
incorrectly returns an empty map.

This happens because the code is looking for the exact String "-Meta-" (case-sensitive).

This checkin allows to handle metadata headers of any case, and also adds a unit test for that situation.
2021-06-23 09:59:26 +09:00
Andrew Gaul ecec0265ad Remove error-prone
This does strange things with the java compiler which makes it
incompatible with more modern Java versions.
2021-04-15 08:02:06 +09:00
Andrew Gaul 09dfab4277 Next development version 2.4.0-SNAPSHOT 2021-04-14 23:14:10 +09:00
Andrew Gaul 7ad7890ad0 Next development version 2.4.0-SNAPSHOT 2021-04-14 23:07:54 +09:00
Timur Alperovich 04feb8f848 Parse out of order ListBuckets response elements
Currently, jclouds assumes that the ListBuckets response follows a
specific order: the <Owner> tag, followed by the <Buckets> tag. Within
the <Owner> tag, jclouds further assumes that the <ID> must occur before
the <DisplayName> tag. If the XML body does not adhere to this order,
the parser throws a NullPointerException.

DigitalOcean spaces does not adhere to this order and returns the
<DisplayName> tag before the <ID> tag. The patch changes the parser to
not depend on the order of the tags.
2021-04-04 20:06:26 +09:00
Andrew Gaul c995a04fe9 JCLOUDS-1572: Update GCS bucket regions 2021-03-31 11:55:47 +09:00
Jean-Noël Rouvignac 0b89ee0825
S3 APIs: Remove the dependency to com.jamesmurty.utils:java-xmlbuilder (#98)
XMLBuilder is a very nice fluent API for building XML documents.
However, it is only used by a tiny portion of jclouds: the s3 api. The
use of the XMLBuilder class requires a dependency to
com.jamesmurty.utils:java-xmlbuilder jar and a transitive
dependency to the net.iharder:base64 jar (superseded by
java.util.Base64 in java 8). They are 18kb each approximately and they
not OSGi compatible. They are not huge, but they represent more API
surface and more things to change when trying to use jclouds in an OSGi
context (they need to be replaced by OSGi compatible bundles like
org.apache.servicemix.bundles.java-xmlbuilder).

This commit replaces the use of XMLBuilder by a direct use of the
javax.xml and org.w3c.dom APIs.

I hope retesting will be minimal, and most of this code is covered by
unit tests.
2021-03-01 15:01:10 +01:00
Jean-Noël Rouvignac f6f3f99024
Avoid using the guice injector int ests which triggers an NPE 2021-03-01 11:49:24 +01:00
gurkerl83 b2bd270528 Remove maven emma plugin
Previously, the plugin "emma" was integrated/used for maven site deployment. The following commits removed site deployment entirely.
For reference
- e02503e1cb
- 9158ab0b0e
2021-02-19 23:31:03 +09:00
gurkerl83 6b00731950 Restructure build profiles
The project requires at least JDK version 8. The specification to disable the liniting process in the JavaDoc process as of JDK version 8 is thus doubly specified and fulfilled by default; an explicit specification is no longer required. Version 3 of the JavaDoc plugin removes the "additional param" configuration attribute. The "doclint=false" configuration attribute disables the lint operation of the plugin.

Summary:
- Remove the profile "disable-doclint"
- Bump version of JavaDoc plugin to the latest > 3
- Remove the JavaDoc plugin's declaration from the build plugins used for default builds (building without a profile)
- Bump version of source plugin to latest > 3

- Remove unnecessary profile "doc" from the jclouds pom artifact
2021-02-19 23:31:03 +09:00
gurkerl83 dec017c116 Remove distribution profiles
Remove distribution profiles from the JClouds parent, main, and core modules. Each profile defines assembly descriptors, but none of those files are provided by the project anymore.
The maven assembly plugin relies on those descriptors to dictate its execution.
The estimation is that individual maven artifacts, one per module, get deployed instead of a compressed deployment unit.
In that case, it is enough to use mavens deploy command in combination with distribution management configuration pushing individual jars to the artifact repositories.
2021-02-19 23:31:03 +09:00
gurkerl83 b0dacbac66 Remove jenkins profile
According to the Jenkins configuration, only the maven profiles src and doc are necessary to execute in the build process. This commit removes the dedicated jenkins profile.
2021-02-19 23:31:03 +09:00
gurkerl83 b7a8bd01f6 Remove site profile and wired enforcer executions
The site profile defines various enforcer execution rules, banned-dependencies, java (java and maven version). Those declarations in combination with the standard maven properties for the JDK version seem misleading and duplicated. Also, there is no indicator that the site profile is ever defined for a maven build.
2021-02-19 23:31:03 +09:00
gurkerl83 157c87017b Remove maven property site url
In the last three commits, the site reporting feature got gradually decommissioned. This commit removes any remaining fragments in this regard. Remove the section distribution management from the profile clouds-project. The comment about incorrect links generated might have resulted from multiple invocations of the check style plugin. Previously the check style plugin got utilized at multiple sections (reporting section and profiles) and probably overlapping maven lifecycles.
2021-02-19 23:31:03 +09:00
gurkerl83 b537a79b20 Remove section reporting
In the last two commits, the site reporting feature got gradually decommissioned. The maven plugin project-info-reports got removed in the previous commit, which gets controlled by the reporting section. Because this workflow is out of use, this commit removes the reporting section.
2021-02-19 23:31:03 +09:00