code: func (ca *CertAuthorityV2) Check() error {
  	err := ca.ID().Check()
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	_, err = ca.Checkers()
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	_, err = ca.Signers()
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	// This is to force users to migrate
  	if len(ca.Spec.Roles) != 0 && len(ca.Spec.RoleMap) != 0 {
  		return trace.BadParameter("should set either 'roles' or 'role_map', not both")
  	}
  	if err := RoleMap(ca.Spec.RoleMap).Check(); err != nil {
  		return trace.Wrap(err)
  	}
  	return nil
  }
docs: // Check checks if all passed parameters are valid