code: func (a *AuthWithRoles) CompareAndSwapCertAuthority(new, existing services.CertAuthority) error {
  	if err := a.action(defaults.Namespace, services.KindCertAuthority, services.VerbCreate); err != nil {
  		return trace.Wrap(err)
  	}
  	if err := a.action(defaults.Namespace, services.KindCertAuthority, services.VerbUpdate); err != nil {
  		return trace.Wrap(err)
  	}
  	return a.authServer.CompareAndSwapCertAuthority(new, existing)
  }
docs: // CompareAndSwapCertAuthority updates existing cert authority if the existing cert authority
  // value matches the value stored in the backend.