func()

in aws.go [356:395]


func (c *AWSConfig) SetCredentials(profileName string, creds *TemporaryCredentials) error {
	section, err := c.credentialsIniSection(profileName)
	if err != nil {
		return err
	}

	if err := setIniKeyValue(section, "aws_access_key_id", creds.AccessKeyID); err != nil {
		return err
	}

	if err := setIniKeyValue(section, "aws_secret_access_key", creds.SecretAccessKey); err != nil {
		return err
	}

	if err := setIniKeyValue(section, "aws_session_token", creds.SessionToken); err != nil {
		return err
	}

	profile, err := c.profileIniSection(profileName)
	if err != nil {
		return err
	}

	// Set the expiry time in the profile
	if err := setIniKeyValue(profile, "expiration", creds.Expires.Format(time.RFC3339)); err != nil {
		return err
	}

	// Save profile
	if err := c.awsConfigIni.SaveTo(c.config.ConfigFilePath); err != nil {
		return err
	}

	// Ensure dir exists
	if err := os.MkdirAll(filepath.Dir(c.config.CredentialsFilePath), 0755); err != nil {
		return err
	}

	return c.awsCredentialsIni.SaveTo(c.config.CredentialsFilePath)
}