1 package com.github.davidmoten.aws.lw.client;
2
3 import java.util.Optional;
4
5 import com.github.davidmoten.aws.lw.client.internal.CredentialsImpl;
6 import com.github.davidmoten.aws.lw.client.internal.Environment;
7
8 public interface Credentials {
9
10 String accessKey();
11
12 String secretKey();
13
14 Optional<String> sessionToken();
15
16 static Credentials of(String accessKey, String secretKey) {
17 return new CredentialsImpl(accessKey, secretKey, Optional.empty());
18 }
19
20 static Credentials of(String accessKey, String secretKey, String sessionToken) {
21 return new CredentialsImpl(accessKey, secretKey, Optional.of(sessionToken));
22 }
23
24 static Credentials fromEnvironment() {
25 return Environment.instance().credentials();
26 }
27
28 static Credentials fromSystemProperties() {
29 return new CredentialsImpl(System.getProperty("aws.accessKeyId"),
30 System.getProperty("aws.secretKey"),
31 Optional.empty());
32 }
33
34 }