Repository: jclouds-karaf Updated Branches: refs/heads/master dd9efa1be -> e22b06138
Also take into account the credentials file in GCE Project: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/commit/e22b0613 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/tree/e22b0613 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-karaf/diff/e22b0613 Branch: refs/heads/master Commit: e22b0613810c6f26c1a302f2f4618671415541c5 Parents: dd9efa1 Author: Ignasi Barrera <[email protected]> Authored: Thu Nov 10 15:35:06 2016 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Tue Nov 22 13:42:03 2016 +0100 ---------------------------------------------------------------------- .../blobstore/BlobStoreCommandWithOptions.java | 2 +- .../compute/ComputeCommandWithOptions.java | 4 ++-- .../compute/ComputeServiceCreateCommand.java | 6 ++++-- .../java/org/jclouds/karaf/utils/EnvHelper.java | 18 +++++++++++------- 4 files changed, 18 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java ---------------------------------------------------------------------- diff --git a/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java b/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java index fda550f..9020e0c 100644 --- a/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java +++ b/commands/src/main/java/org/jclouds/karaf/commands/blobstore/BlobStoreCommandWithOptions.java @@ -90,7 +90,7 @@ public abstract class BlobStoreCommandWithOptions extends BlobStoreCommandBase { String identityValue = EnvHelper.getBlobStoreIdentity(identity); String credentialValue = EnvHelper.getBlobStoreCredential(credential); if (providerValue.equals("google-cloud-storage")) { - credentialValue = EnvHelper.getGoogleCredentialFromJsonFile(credentialValue); + credentialValue = EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue); } String endpointValue = EnvHelper.getBlobStoreEndpoint(endpoint); boolean contextNameProvided = !Strings.isNullOrEmpty(name); http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java ---------------------------------------------------------------------- diff --git a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java index 656936b..6f42cf9 100644 --- a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java +++ b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeCommandWithOptions.java @@ -87,8 +87,8 @@ public abstract class ComputeCommandWithOptions extends ComputeCommandBase { String apiValue = EnvHelper.getComputeApi(api); String identityValue = EnvHelper.getComputeIdentity(identity); String credentialValue = EnvHelper.getComputeCredential(credential); - if (providerValue != null && credentialValue != null && providerValue.equals("google-compute-engine")) { - credentialValue = EnvHelper.getGoogleCredentialFromJsonFile(credentialValue); + if (credentialValue != null && providerValue != null && providerValue.startsWith("google")) { + credentialValue = EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue); } String endpointValue = EnvHelper.getComputeEndpoint(endpoint); boolean contextNameProvided = !Strings.isNullOrEmpty(name); http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java ---------------------------------------------------------------------- diff --git a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java index 8c67b58..46ba926 100644 --- a/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java +++ b/commands/src/main/java/org/jclouds/karaf/commands/compute/ComputeServiceCreateCommand.java @@ -136,7 +136,6 @@ public class ComputeServiceCreateCommand extends ComputeCommandWithOptions { try { Configuration configuration = findOrCreateFactoryConfiguration(configurationAdmin, "org.jclouds.compute", name, provider, api); if (configuration != null) { - @SuppressWarnings("unchecked") Dictionary<String, Object> dictionary = configuration.getProperties(); if (dictionary == null) { dictionary = new Hashtable<String, Object>(); @@ -145,8 +144,11 @@ public class ComputeServiceCreateCommand extends ComputeCommandWithOptions { String providerValue = EnvHelper.getComputeProvider(provider); String apiValue = EnvHelper.getComputeApi(api); String identityValue = EnvHelper.getComputeIdentity(identity); - String credentialValue = EnvHelper.getComputeCredential(credential); String endpointValue = EnvHelper.getComputeEndpoint(endpoint); + String credentialValue = EnvHelper.getComputeCredential(credential); + if (credentialValue != null && providerValue != null && providerValue.startsWith("google")) { + credentialValue = EnvHelper.getGoogleCredentialFromJsonFileIfPath(credentialValue); + } if (name != null) { dictionary.put(Constants.NAME, name); http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/e22b0613/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java ---------------------------------------------------------------------- diff --git a/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java b/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java index f8cdd17..c3d7b8d 100644 --- a/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java +++ b/utils/src/main/java/org/jclouds/karaf/utils/EnvHelper.java @@ -99,19 +99,23 @@ public class EnvHelper { /** * Extracts the credential value from the Google Cloud credentials json file. - * @param jsonFile + * @param credentialValue * @return */ - public static String getGoogleCredentialFromJsonFile(String jsonFile) { - try { - String fileContents = Files.toString(new File(jsonFile), Charsets.UTF_8); + public static String getGoogleCredentialFromJsonFileIfPath(String credentialValue) { + File credentialsFile = new File(credentialValue); + if (credentialsFile.exists()) { + try { + String fileContents = Files.toString(credentialsFile, Charsets.UTF_8); Supplier<Credentials> credentialSupplier = new GoogleCredentialsFromJson(fileContents); - String credential = credentialSupplier.get().credential; - return credential; + return credentialSupplier.get().credential; } catch (IOException e) { return null; } - } + } else { + return credentialValue; + } + } /** * Returns the endpoint value and falls back to env if the specified value is null.
