func()

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)
}