in aws.go [290:322]
func (c *AWSConfig) SetProfile(profileName string, profile *ProfileConfiguration) error {
section, err := c.profileIniSection(profileName)
if err != nil {
return err
}
if err := setIniKeyValue(section, "expiration", profile.Expires.Format(time.RFC3339)); err != nil {
return err
}
if err := setIniKeyValue(section, "mfa_serial", profile.MFASerial); err != nil {
return err
}
if err := setIniKeyValue(section, "source_profile", profile.SourceProfile); err != nil {
return err
}
if err := setIniKeyValue(section, "role_arn", profile.RoleARN); err != nil {
return err
}
if err := setIniKeyValue(section, "role_session_name", profile.RoleSessionName); err != nil {
return err
}
// Ensure dir exists
if err := os.MkdirAll(filepath.Dir(c.config.ConfigFilePath), 0755); err != nil {
return err
}
return c.awsConfigIni.SaveTo(c.config.ConfigFilePath)
}