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 }