67 lines
No EOL
1.5 KiB
Bash
Executable file
67 lines
No EOL
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
USAGE="Usage: ./es_create_alias.sh \
|
|
[-s <server>] [-p <port>] [-i <index>] [-a <alias>]
|
|
Example usage: ./es_create_alias.sh -s 172.25.61.45 -p 9200 -i \
|
|
test_index -a test_index_alias"
|
|
|
|
HELP="${USAGE}\n\n\
|
|
Create a new alias so that we can refer to an index via an alternate name.\n\
|
|
This is useful so we can remap an index without any downtime. \n\
|
|
|
|
Options:\n\
|
|
-s IP of server running elasticsearch\n\
|
|
-p Port of server running elasticsearch\n\
|
|
-a A new name that we can refer to the index as \n\
|
|
-i elasticsearch index, i.e. atlantis4.mtv, cautotest, localhost, etc.\n"
|
|
|
|
SERVER=
|
|
PORT=
|
|
ALIAS=
|
|
INDEX=
|
|
while getopts ":s:p:a:i:" opt; do
|
|
case $opt in
|
|
s)
|
|
SERVER=$OPTARG
|
|
;;
|
|
p)
|
|
PORT=$OPTARG
|
|
;;
|
|
a)
|
|
ALIAS=$OPTARG
|
|
;;
|
|
i)
|
|
INDEX=$OPTARG
|
|
;;
|
|
\?)
|
|
echo "Invalid option: -$OPTARG" >&2
|
|
echo "${USAGE}" >&2
|
|
exit 1
|
|
;;
|
|
:)
|
|
echo "Option -$OPTARG requires an argument." >&2
|
|
echo "${USAGE}" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Creating alias ${ALIAS} for index ${INDEX} for
|
|
ES server at: ${SERVER}:${PORT}..."
|
|
|
|
|
|
curl -XPOST ${SERVER}:${PORT}/_aliases -d '
|
|
{
|
|
"actions": [
|
|
{ "add": {
|
|
"alias": '"\"${ALIAS}\""',
|
|
"index": '"\"${INDEX}\""'
|
|
}}
|
|
]
|
|
}'
|
|
|
|
echo '' |