code: func (a *AuthServer) DeleteRemoteCluster(clusterName string) error {
  	// To make sure remote cluster exists - to protect against random
  	// clusterName requests (e.g. when clusterName is set to local cluster name)
  	_, err := a.Presence.GetRemoteCluster(clusterName)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	// delete cert authorities associated with the cluster
  	err = a.DeleteCertAuthority(services.CertAuthID{
  		Type:       services.HostCA,
  		DomainName: clusterName,
  	})
  	if err != nil {
  		// this method could have succeeded on the first call,
  		// but then if the remote cluster resource could not be deleted
  		// it would be impossible to delete the cluster after then
  		if !trace.IsNotFound(err) {
  			return trace.Wrap(err)
  		}
  	}
  	// there should be no User CA in trusted clusters on the main cluster side
  	// per standard automation but clean up just in case
  	err = a.DeleteCertAuthority(services.CertAuthID{
  		Type:       services.UserCA,
  		DomainName: clusterName,
  	})
  	if err != nil {
  		if !trace.IsNotFound(err) {
  			return trace.Wrap(err)
  		}
  	}
  	return a.Presence.DeleteRemoteCluster(clusterName)
  }
docs: // DeleteRemoteCluster deletes remote cluster resource, all certificate authorities
  // associated with it