code: func AssumeRole(role string, config *aws.Config) (*aws.Config, error) {
  	stscreds := sts.New(session.New(config))
  
  	params := &sts.AssumeRoleInput{
  		RoleArn:         &role,
  		RoleSessionName: aws.String("apex"),
  		DurationSeconds: aws.Int64(1800),
  	}
  
  	res, err := stscreds.AssumeRole(params)
  	if err != nil {
  		return nil, err
  	}
  
  	id := *res.Credentials.AccessKeyId
  	secret := *res.Credentials.SecretAccessKey
  	token := *res.Credentials.SessionToken
  
  	return &aws.Config{
  		Region:      config.Region,
  		Credentials: credentials.NewStaticCredentials(id, secret, token),
  	}, nil
  }
docs: // AssumeRole uses STS to assume the given `role`.