src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

shared_config.go (1117B)


      1 package shareddefaults
      2 
      3 import (
      4 	"os"
      5 	"os/user"
      6 	"path/filepath"
      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
     16 func 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
     27 func 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.
     33 func UserHomeDir() string {
     34 	// Ignore errors since we only care about Windows and *nix.
     35 	home, _ := os.UserHomeDir()
     36 
     37 	if len(home) > 0 {
     38 		return home
     39 	}
     40 
     41 	currUser, _ := user.Current()
     42 	if currUser != nil {
     43 		home = currUser.HomeDir
     44 	}
     45 
     46 	return home
     47 }