public static AWSCredentialsProvider create(final Config conf, final String serviceName) { LinkedList<AWSCredentialsProvider> chain = chain(); applicationCredentials(conf, serviceName, chain::addFirst); return new AWSCredentialsProviderChain(chain); }
/** * @deprecated Extend from {@link AWSIntegrationTestBase} to access credentials */ @Deprecated public static void setUpCredentials() { if (credentials == null) { try { credentials = chain.getCredentials(); } catch (Exception ignored) { } } }
@Override protected AWSCredentialsProvider createInstance() throws Exception { AWSCredentialsProviderChain awsCredentialsProviderChain; if (this.delegates.isEmpty()) { awsCredentialsProviderChain = new DefaultAWSCredentialsProviderChain(); } else { awsCredentialsProviderChain = new AWSCredentialsProviderChain(this.delegates.toArray(new AWSCredentialsProvider[this.delegates.size()])); } awsCredentialsProviderChain.setReuseLastProvider(false); return awsCredentialsProviderChain; } }
/** * Tests that, when provider caching is disabled, the chain will always try * all providers in the chain, starting with the first, until it finds a * provider that can return credentials. */ @Test public void testDisableReusingLastProvider() throws Exception { MockCredentialsProvider provider1 = new MockCredentialsProvider(); provider1.throwException = true; MockCredentialsProvider provider2 = new MockCredentialsProvider(); AWSCredentialsProviderChain chain = new AWSCredentialsProviderChain(provider1, provider2); chain.setReuseLastProvider(false); assertEquals(0, provider1.getCredentialsCallCount); assertEquals(0, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(1, provider1.getCredentialsCallCount); assertEquals(1, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(2, provider1.getCredentialsCallCount); assertEquals(2, provider2.getCredentialsCallCount); }
/** * Tests that, by default, the chain remembers which provider was able to * provide credentials, and only calls that provider for any additional * calls to getCredentials. */ @Test public void testReusingLastProvider() throws Exception { MockCredentialsProvider provider1 = new MockCredentialsProvider(); provider1.throwException = true; MockCredentialsProvider provider2 = new MockCredentialsProvider(); AWSCredentialsProviderChain chain = new AWSCredentialsProviderChain(provider1, provider2); assertEquals(0, provider1.getCredentialsCallCount); assertEquals(0, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(1, provider1.getCredentialsCallCount); assertEquals(1, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(1, provider1.getCredentialsCallCount); assertEquals(2, provider2.getCredentialsCallCount); chain.getCredentials(); assertEquals(1, provider1.getCredentialsCallCount); assertEquals(3, provider2.getCredentialsCallCount); }
@Override protected AWSCredentialsProvider createInstance() throws Exception { AWSCredentialsProviderChain awsCredentialsProviderChain; if (this.delegates.isEmpty()) { awsCredentialsProviderChain = new DefaultAWSCredentialsProviderChain(); } else { awsCredentialsProviderChain = new AWSCredentialsProviderChain(this.delegates.toArray(new AWSCredentialsProvider[this.delegates.size()])); } awsCredentialsProviderChain.setReuseLastProvider(false); return awsCredentialsProviderChain; } }
public static AWSCredentialsProviderChain defaultAWSCredentialsProviderChain(final AWSCredentialsConfig config) { return new AWSCredentialsProviderChain( new ConfigDrivenAwsCredentialsConfigProvider(config), new LazyFileSessionCredentialsProvider(config), new EnvironmentVariableCredentialsProvider(), new SystemPropertiesCredentialsProvider(), new ProfileCredentialsProvider(), new InstanceProfileCredentialsProvider()); } }
); AWSCredentialsProviderChain providerChain = new AWSCredentialsProviderChain(providerArray); providerChain.setReuseLastProvider(true); return providerChain;
/** * Before of super class is guaranteed to be called before that of a subclass so the following * is safe. http://junit-team.github.io/junit/javadoc/latest/org/junit/Before.html */ @BeforeClass public static void setUpCredentials() { if (credentials == null) { try { credentials = chain.getCredentials(); } catch (Exception ignored) { } } }
/** * Constructor. * @param clientConfiguration clientConfiguration * @param environment environment */ public AWSLambdaConfiguration(AWSClientConfiguration clientConfiguration, Environment environment) { this.clientConfiguration = clientConfiguration; this.builder.setCredentials(new AWSCredentialsProviderChain( new EnvironmentAWSCredentialsProvider(environment), new EnvironmentVariableCredentialsProvider(), new SystemPropertiesCredentialsProvider(), new ProfileCredentialsProvider(), new EC2ContainerCredentialsProviderWrapper() )); }
); AWSCredentialsProviderChain providerChain = new AWSCredentialsProviderChain(providerArray); providerChain.setReuseLastProvider(true); return providerChain;
/** * Create AWSCredentionals from the information in system properties, environment variables, settings.xml, or EC2 instance metadata (only applicable when running the wagon on * an Amazon EC2 instance) */ protected AWSCredentials getCredentials(final AuthenticationInfo authenticationInfo) { Optional<AuthenticationInfo> auth = Optional.fromNullable(authenticationInfo); AWSCredentialsProviderChain chain = new MavenAwsCredentialsProviderChain(auth); AWSCredentials credentials = chain.getCredentials(); if (credentials instanceof AWSSessionCredentials) { return new AwsSessionCredentials((AWSSessionCredentials) credentials); } else { return new AwsCredentials(credentials); } }
/** * Get AWSCredentialsProvider property. * * @param value property value as String * @return corresponding variable in correct type */ @Override public AWSCredentialsProvider decodeValue(String value) { if (value != null) { List<String> providerNames = getProviderNames(value); List<AWSCredentialsProvider> providers = getValidCredentialsProviders(providerNames); AWSCredentialsProvider[] ps = new AWSCredentialsProvider[providers.size()]; providers.toArray(ps); return new AWSCredentialsProviderChain(ps); } else { throw new IllegalArgumentException("Property AWSCredentialsProvider is missing."); } }
@Override public AWSCredentials getCredentials() { AWSCredentials creds = super.getCredentials(); String accessKey = creds.getAWSAccessKeyId(); String secretKey = EncUtils.decrypt(enc, creds.getAWSSecretKey()); if (creds instanceof AWSSessionCredentials) { AWSSessionCredentials sessionCreds = (AWSSessionCredentials) creds; return ImmutableAWSSessionCredentials.build(accessKey, secretKey, sessionCreds.getSessionToken()); } else { return ImmutableAWSCredentials.build(accessKey, secretKey); } }
/** * Get AWSCredentialsProvider property. * * @param value * property value as String * @return corresponding variable in correct type */ @Override public AWSCredentialsProvider decodeValue(String value) { if (value != null) { List<String> providerNames = getProviderNames(value); List<AWSCredentialsProvider> providers = getValidCredentialsProviders(providerNames); AWSCredentialsProvider[] ps = new AWSCredentialsProvider[providers.size()]; providers.toArray(ps); return new AWSCredentialsProviderChain(providers); } else { throw new IllegalArgumentException("Property AWSCredentialsProvider is missing."); } }
/********************** Member Functions **************************/ public AwsGlacierInventoryRetriever(String region) { // Get credentials from credentials file, environment variable, or // Java property. // See http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html AWSCredentialsProviderChain credentialsProvider = new DefaultAWSCredentialsProviderChain(); AWSCredentials credentials = credentialsProvider.getCredentials(); logger.debug("Read in credentials AWSAccessKeyId={} AWSSecretKey={}...", credentials.getAWSAccessKeyId(), credentials.getAWSSecretKey().substring(0, 4)); // Create the glacier client and set to specified region. glacierClient = new AmazonGlacierClient(credentials); glacierClient.setEndpoint("https://glacier." + region + ".amazonaws.com"); // Set up params needed for retrieving vault inventory sqsClient = new AmazonSQSClient(credentials); sqsClient.setEndpoint("https://sqs." + region + ".amazonaws.com"); snsClient = new AmazonSNSClient(credentials); snsClient.setEndpoint("https://sns." + region + ".amazonaws.com"); setupSQS(); setupSNS(); }
public static AWSCredentialsProvider create(final Config conf, final String serviceName) { LinkedList<AWSCredentialsProvider> chain = chain(); applicationCredentials(conf, serviceName, chain::addFirst); return new AWSCredentialsProviderChain(chain); }
credentials = credentialsProvider.getCredentials(); logger.debug("Read in credentials AWSAccessKeyId={} AWSSecretKey={}...", credentials.getAWSAccessKeyId(),
public AWSCredentialsProvider newCredentialsProvider(String profileName) { if (credentialsProvider != null) { return credentialsProvider; } String profileNameToUse = profileName != null ? profileName : this.profileName; if (Strings.isNullOrEmpty(profileNameToUse) == false) { List<AWSCredentialsProvider> providers = new ArrayList<AWSCredentialsProvider>(); providers.add(new EnvironmentVariableCredentialsProvider()); providers.add(new SystemPropertiesCredentialsProvider()); providers.add(new ProfileCredentialsProvider(profileNameToUse)); providers.add(new EC2ContainerCredentialsProviderWrapper()); return new AWSCredentialsProviderChain(providers); } return DefaultAWSCredentialsProviderChain.getInstance(); }
@SuppressWarnings("unchecked") @Override public PutObjectResult answer(InvocationOnMock invocation) throws Throwable { AmazonS3Client amazonS3Client = invocation.getArgument(1); AWSCredentialsProviderChain awsCredentialsProviderChain = (AWSCredentialsProviderChain) ReflectionTestUtils.getField(amazonS3Client, "awsCredentialsProvider"); List<AWSCredentialsProvider> credentialsProviders = (List<AWSCredentialsProvider>) ReflectionTestUtils.getField(awsCredentialsProviderChain, "credentialsProviders"); assertEquals(2, credentialsProviders.size()); // refresh() does nothing, but gives code coverage credentialsProviders.get(0).refresh(); /* * We can't inspect the field directly since the class definition is private. * Instead we call the getCredentials() and verify that it returns the credentials staged as part of this test. */ AWSCredentials credentials = awsCredentialsProviderChain.getCredentials(); assertEquals(BasicSessionCredentials.class, credentials.getClass()); BasicSessionCredentials basicSessionCredentials = (BasicSessionCredentials) credentials; assertEquals(awsAccessKey, basicSessionCredentials.getAWSAccessKeyId()); assertEquals(awsSecretKey, basicSessionCredentials.getAWSSecretKey()); assertEquals(awsSessionToken, basicSessionCredentials.getSessionToken()); return new PutObjectResult(); } });