code: func (a *AuthWithRoles) UpsertCertAuthority(ca services.CertAuthority) error {
  	if ca == nil {
  		return trace.BadParameter("missing certificate authority")
  	}
  	ctx := &services.Context{User: a.user, Resource: ca}
  	if err := a.actionWithContext(ctx, defaults.Namespace, services.KindCertAuthority, services.VerbCreate); err != nil {
  		return trace.Wrap(err)
  	}
  	if err := a.actionWithContext(ctx, defaults.Namespace, services.KindCertAuthority, services.VerbUpdate); err != nil {
  		return trace.Wrap(err)
  	}
  	return a.authServer.UpsertCertAuthority(ca)
  }
docs: // UpsertCertAuthority updates existing cert authority or updates the existing one.