1package shareddefaults
2
3import (
4	"os"
5	"path/filepath"
6	"runtime"
7)
8
9// SharedCredentialsFilename returns the SDK's default file path
10// for the shared credentials file.
11//
12// Builds the shared config file path based on the OS's platform.
13//
14//   - Linux/Unix: $HOME/.aws/credentials
15//   - Windows: %USERPROFILE%\.aws\credentials
16func SharedCredentialsFilename() string {
17	return filepath.Join(UserHomeDir(), ".aws", "credentials")
18}
19
20// SharedConfigFilename returns the SDK's default file path for
21// the shared config file.
22//
23// Builds the shared config file path based on the OS's platform.
24//
25//   - Linux/Unix: $HOME/.aws/config
26//   - Windows: %USERPROFILE%\.aws\config
27func SharedConfigFilename() string {
28	return filepath.Join(UserHomeDir(), ".aws", "config")
29}
30
31// UserHomeDir returns the home directory for the user the process is
32// running under.
33func UserHomeDir() string {
34	if runtime.GOOS == "windows" { // Windows
35		return os.Getenv("USERPROFILE")
36	}
37
38	// *nix
39	return os.Getenv("HOME")
40}
41