code: func (i IAMPrincipal) MarshalJSON() ([]byte, error) {
  	// Special case for "*"
  	if i.AWS != nil && len(i.AWS.Literal) == 1 && i.AWS.Literal[0].Literal == "*" {
  		return json.Marshal(i.AWS.Literal[0].Literal)
  	}
  
  	c := iamPrincipalCopy(i)
  
  	return json.Marshal(c)
  }
docs: // MarshalJSON returns a JSON representation of the object. This has been added
  // to handle the special case of "*" as the Principal value.