You are here

function elasticsearch_connector_cluster_indices_aliases in Elasticsearch Connector 7.2

Same name and namespace in other branches
  1. 7.5 elasticsearch_connector.admin.inc \elasticsearch_connector_cluster_indices_aliases()
  2. 7 elasticsearch_connector.admin.inc \elasticsearch_connector_cluster_indices_aliases()

List all aliases for an index.

Parameters

object $cluster:

string $index_name:

Return value

array

1 string reference to 'elasticsearch_connector_cluster_indices_aliases'
elasticsearch_connector_menu in ./elasticsearch_connector.module
Implements hook_menu().

File

./elasticsearch_connector.admin.inc, line 139
Created on Dec 23, 2013

Code

function elasticsearch_connector_cluster_indices_aliases($cluster, $index_name) {
  $headers = array(
    array(
      'data' => t('Alias name'),
    ),
  );
  $rows = array();
  $cluster_info = elasticsearch_connector_get_cluster_info($cluster);
  $client = $cluster_info['client'];
  if ($client && !empty($cluster_info['info']) && elasticsearch_connector_check_status($cluster_info['info'])) {
    try {
      $aliases = $client
        ->indices()
        ->getAliases(array(
        'index' => $index_name,
      ));
      foreach ($aliases[$index_name]['aliases'] as $alias_name => $alias_info) {
        $row = array();

        // TODO: Handle alias actions.
        $row[] = $alias_name;
        $rows[] = $row;
      }
    } catch (Exception $e) {
      drupal_set_message($e
        ->getMessage(), 'error');
    }
  }
  else {
    drupal_set_message(t('The cluster cannot be connected for some reason.'), 'error');
  }
  $output['elasticsearch_connector']['table'] = array(
    '#theme' => 'table',
    '#header' => $headers,
    '#rows' => $rows,
    '#attributes' => array(
      'class' => array(
        'admin-elasticsearch-connector-alias',
      ),
    ),
  );
  return $output;
}