code: func (lst *LogStreamState) Validate() error {
  	if lst.Created.IsZero() {
  		return errors.New("missing created time")
  	}
  	if lst.Updated.IsZero() {
  		return errors.New("missing updated time")
  	}
  
  	if lst.Terminated() && lst.TerminatedTime.IsZero() {
  		return errors.New("log stream is terminated, but missing terminated time")
  	}
  	if err := types.PrefixSecret(lst.Secret).Validate(); err != nil {
  		return fmt.Errorf("invalid prefix secret: %v", err)
  	}
  
  	return nil
  }
docs: // Validate evaluates the state and data contents of the LogStreamState and
  // returns an error if it is invalid.