public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
public static Builder builder(Credentials creds) { if (creds == null) return builder(); if (creds instanceof LoginCredentials) return LoginCredentials.class.cast(creds).toBuilder(); else return builder().identity(creds.identity).credential(creds.credential); }
@Override public NodeMetadata createNodeWithGroupEncodedIntoName(String group, String name, Template template) { InstantiateVAppTemplateOptions options = getOptions.apply(template); NodeAndInitialCredentials<VApp> from = computeClient.startAndReturnCredentials(URI.create(template.getLocation().getId()), URI.create(template .getImage().getId()), name, options, template.getOptions().getInboundPorts()); LoginCredentials fromNode = from.getCredentials(); if (credentialStore.containsKey("group#" + group)) { fromNode = fromNode == null ? LoginCredentials.fromCredentials(credentialStore.get("group#" + group)) : fromNode.toBuilder().privateKey(credentialStore.get("group#" + group).credential).build(); } LoginCredentials creds = prioritizeCredentialsFromTemplate.apply(template, fromNode); if (creds != null) credentialStore.put("node#" + from.getNodeId(), creds); return vAppToNodeMetadata.apply(from.getNode()); }
private void conditionallyCheckSSH() { if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); assert HostSpecifier.isValid(vm.getIPAddress()); if (!InetAddresses2.isPrivateIPAddress(vm.getIPAddress())) { // not sure if the network is public or not, so we have to test HostAndPort socket = HostAndPort.fromParts(vm.getIPAddress(), 22); System.err.printf("testing socket %s%n", socket); System.err.printf("testing ssh %s%n", socket); checkSSH(socket); } else { System.err.printf("skipping ssh %s, as private%n", vm.getIPAddress()); } }
private void conditionallyCheckSSH() { if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); assert HostSpecifier.isValid(vm.getIPAddress()); if (!InetAddresses2.isPrivateIPAddress(vm.getIPAddress())) { // not sure if the network is public or not, so we have to test HostAndPort socket = HostAndPort.fromParts(vm.getIPAddress(), 22); System.err.printf("testing socket %s%n", socket); System.err.printf("testing ssh %s%n", socket); checkSSH(socket); } else { System.err.printf("skipping ssh %s, as private%n", vm.getIPAddress()); } }
public Optional<RunScriptOptions> apply(CreateJCloudsContainerMetadata containerMetadata) { CreateJCloudsContainerOptions options = containerMetadata.getCreateOptions(); NodeMetadata nodeMetadata = computeService.getNodeMetadata(containerMetadata.getNodeId()); LoginCredentials credentials = nodeMetadata.getCredentials(); LoginCredentials.Builder loginBuilder; if (options.getUser() != null) { if (credentials == null) { loginBuilder = LoginCredentials.builder(); } else { loginBuilder = credentials.toBuilder(); } if (options.getPassword() != null) { credentials = loginBuilder.user(options.getUser()).password(options.getPassword()).build(); } else { credentials = loginBuilder.user(options.getUser()).build(); } } if (credentials != null) { return Optional.of(RunScriptOptions.Builder.overrideLoginCredentials(credentials).runAsRoot(false)); } else { return Optional.absent(); } } }
public void testCreateVm() { if (networksDisabled) return; String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); }
@Test(dependsOnMethods = "testCreateIngress") public void testCreateVMInSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); // ingress port 22 checkSSH(HostAndPort.fromParts(vm.getIPAddress(), 22)); // ingress icmp disabled as this is platform dependent and may actually // just try tcp port 7 // assert InetAddress.getByName(vm.getIPAddress()).isReachable(1000) : vm; }
@Test(dependsOnMethods = "testCreateIngress") public void testCreateVMInSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); // ingress port 22 checkSSH(HostAndPort.fromParts(vm.getIPAddress(), 22)); // ingress icmp disabled as this is platform dependent and may actually // just try tcp port 7 // assert InetAddress.getByName(vm.getIPAddress()).isReachable(1000) : vm; }
@BeforeGroups(groups = "live") public void setupContext() { super.setupContext(); prefix += "rule"; try { network = find(client.getNetworkApi().listNetworks(), Predicates.and(supportsPortForwarding(), new Predicate<Network>() { @Override public boolean apply(Network network) { return network.isDefault() && !network.isSecurityGroupEnabled() && network.getAccount().equals(user.getAccount()); } })); String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }
public void testCreateVm() { if (networksDisabled) return; String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); }
@BeforeGroups(groups = "live") public void setupClient() { super.setupContext(); prefix += "nat"; try { network = find(client.getNetworkApi().listNetworks(), NetworkPredicates.supportsStaticNAT()); String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }
private LoginCredentials getFromImageAndOverrideIfRequired(org.jclouds.compute.domain.Image image, GoogleComputeEngineTemplateOptions options) { LoginCredentials defaultCredentials = image.getDefaultCredentials(); String[] keys = defaultCredentials.getPrivateKey().split(":"); String publicKey = keys[0]; String privateKey = keys[1]; LoginCredentials.Builder credentialsBuilder = defaultCredentials.toBuilder(); credentialsBuilder.privateKey(privateKey); // LoginCredentials from image stores the public key along with the private key in the privateKey field // @see GoogleComputePopulateDefaultLoginCredentialsForImageStrategy // so if options doesn't have a public key set we set it from the default if (options.getPublicKey() == null) { options.authorizePublicKey(publicKey); } if (options.hasLoginPrivateKeyOption()) { credentialsBuilder.privateKey(options.getPrivateKey()); } if (options.getLoginUser() != null) { credentialsBuilder.identity(options.getLoginUser()); } if (options.hasLoginPasswordOption()) { credentialsBuilder.password(options.getLoginPassword()); } if (options.shouldAuthenticateSudo() != null) { credentialsBuilder.authenticateSudo(options.shouldAuthenticateSudo()); } LoginCredentials credentials = credentialsBuilder.build(); options.overrideLoginCredentials(credentials); return credentials; }
private LoginCredentials getFromImageAndOverrideIfRequired(org.jclouds.compute.domain.Image image, GoogleComputeEngineTemplateOptions options) { LoginCredentials defaultCredentials = image.getDefaultCredentials(); String[] keys = defaultCredentials.getPrivateKey().split(":"); String publicKey = keys[0]; String privateKey = keys[1]; LoginCredentials.Builder credentialsBuilder = defaultCredentials.toBuilder(); credentialsBuilder.privateKey(privateKey); // LoginCredentials from image stores the public key along with the private key in the privateKey field // @see GoogleComputePopulateDefaultLoginCredentialsForImageStrategy // so if options doesn't have a public key set we set it from the default if (options.getPublicKey() == null) { options.authorizePublicKey(publicKey); } if (options.hasLoginPrivateKeyOption()) { credentialsBuilder.privateKey(options.getPrivateKey()); } if (options.getLoginUser() != null) { credentialsBuilder.identity(options.getLoginUser()); } if (options.hasLoginPasswordOption()) { credentialsBuilder.password(options.getLoginPassword()); } if (options.shouldAuthenticateSudo() != null) { credentialsBuilder.authenticateSudo(options.shouldAuthenticateSudo()); } LoginCredentials credentials = credentialsBuilder.build(); options.overrideLoginCredentials(credentials); return credentials; }
@BeforeGroups(groups = "live") public void setupContext() { super.setupContext(); prefix += "rule"; try { network = find(client.getNetworkClient().listNetworks(), Predicates.and(supportsPortForwarding(), new Predicate<Network>() { @Override public boolean apply(Network network) { return network.isDefault() && !network.isSecurityGroupEnabled() && network.getAccount().equals(user.getAccount()); } })); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }
@BeforeGroups(groups = "live") public void setupClient() { super.setupContext(); prefix += "nat"; try { network = find(client.getNetworkClient().listNetworks(), NetworkPredicates.supportsStaticNAT()); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }