aws_communication_success
This commit is contained in:
54
aws/README.md
Normal file
54
aws/README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# AWS CLI v2
|
||||
|
||||
This bundle contains a built executable of the AWS CLI v2.
|
||||
|
||||
## Installation
|
||||
|
||||
To install the AWS CLI v2, run the `install` script:
|
||||
```
|
||||
$ sudo ./install
|
||||
You can now run: /usr/local/bin/aws --version
|
||||
```
|
||||
This will install the AWS CLI v2 at `/usr/local/bin/aws`. Assuming
|
||||
`/usr/local/bin` is on your `PATH`, you can now run:
|
||||
```
|
||||
$ aws --version
|
||||
```
|
||||
|
||||
|
||||
### Installing without sudo
|
||||
|
||||
If you don't have ``sudo`` permissions or want to install the AWS
|
||||
CLI v2 only for the current user, run the `install` script with the `-b`
|
||||
and `-i` options:
|
||||
```
|
||||
$ ./install -i ~/.local/aws-cli -b ~/.local/bin
|
||||
```
|
||||
This will install the AWS CLI v2 in `~/.local/aws-cli` and create
|
||||
symlinks for `aws` and `aws_completer` in `~/.local/bin`. For more
|
||||
information about these options, run the `install` script with `-h`:
|
||||
```
|
||||
$ ./install -h
|
||||
```
|
||||
|
||||
### Updating
|
||||
|
||||
If you run the `install` script and there is a previously installed version
|
||||
of the AWS CLI v2, the script will error out. To update to the version included
|
||||
in this bundle, run the `install` script with `--update`:
|
||||
```
|
||||
$ sudo ./install --update
|
||||
```
|
||||
|
||||
|
||||
### Removing the installation
|
||||
|
||||
To remove the AWS CLI v2, delete the its installation and symlinks:
|
||||
```
|
||||
$ sudo rm -rf /usr/local/aws-cli
|
||||
$ sudo rm /usr/local/bin/aws
|
||||
$ sudo rm /usr/local/bin/aws_completer
|
||||
```
|
||||
Note if you installed the AWS CLI v2 using the `-b` or `-i` options, you will
|
||||
need to remove the installation and the symlinks in the directories you
|
||||
specified.
|
||||
1468
aws/THIRD_PARTY_LICENSES
Normal file
1468
aws/THIRD_PARTY_LICENSES
Normal file
File diff suppressed because it is too large
Load Diff
155
aws/install
Executable file
155
aws/install
Executable file
@@ -0,0 +1,155 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
||||
# may not use this file except in compliance with the License. A copy of
|
||||
# the License is located at
|
||||
#
|
||||
# http://aws.amazon.com/apache2.0/
|
||||
#
|
||||
# or in the "license" file accompanying this file. This file is
|
||||
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
||||
# ANY KIND, either express or implied. See the License for the specific
|
||||
# language governing permissions and limitations under the License.
|
||||
|
||||
usage() {
|
||||
cat 1>&2 <<EOF
|
||||
Installs the AWS CLI v2
|
||||
|
||||
USAGE:
|
||||
install [FLAGS] [OPTIONS]
|
||||
|
||||
FLAGS:
|
||||
-u, --update Updates the AWS CLI v2 if a different version
|
||||
is previously installed. By default, this script
|
||||
will not update the AWS CLI if a previous
|
||||
installation is detected.
|
||||
|
||||
-h, --help Prints help information
|
||||
|
||||
OPTIONS:
|
||||
-i, --install-dir <path> The directory to install the AWS CLI v2. By
|
||||
default, this directory is: /usr/local/aws-cli
|
||||
|
||||
-b, --bin-dir <path> The directory to store symlinks to executables
|
||||
for the AWS CLI v2. By default, the directory
|
||||
used is: /usr/local/bin
|
||||
EOF
|
||||
}
|
||||
|
||||
parse_commandline() {
|
||||
while test $# -gt 0
|
||||
do
|
||||
key="$1"
|
||||
case "$key" in
|
||||
-i|--install-dir)
|
||||
PARSED_INSTALL_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
-b|--bin-dir)
|
||||
PARSED_BIN_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
-u|--update)
|
||||
PARSED_UPGRADE="yes"
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
die "Got an unexpected argument: $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
set_global_vars() {
|
||||
ROOT_INSTALL_DIR=${PARSED_INSTALL_DIR:-/usr/local/aws-cli}
|
||||
BIN_DIR=${PARSED_BIN_DIR:-/usr/local/bin}
|
||||
UPGRADE=${PARSED_UPGRADE:-no}
|
||||
|
||||
EXE_NAME="aws"
|
||||
COMPLETER_EXE_NAME="aws_completer"
|
||||
INSTALLER_DIR="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )"
|
||||
INSTALLER_DIST_DIR="$INSTALLER_DIR/dist"
|
||||
INSTALLER_EXE="$INSTALLER_DIST_DIR/$EXE_NAME"
|
||||
AWS_EXE_VERSION=$($INSTALLER_EXE --version | cut -d ' ' -f 1 | cut -d '/' -f 2)
|
||||
|
||||
INSTALL_DIR="$ROOT_INSTALL_DIR/v2/$AWS_EXE_VERSION"
|
||||
INSTALL_DIR="$INSTALL_DIR"
|
||||
INSTALL_DIST_DIR="$INSTALL_DIR/dist"
|
||||
INSTALL_BIN_DIR="$INSTALL_DIR/bin"
|
||||
INSTALL_AWS_EXE="$INSTALL_BIN_DIR/$EXE_NAME"
|
||||
INSTALL_AWS_COMPLETER_EXE="$INSTALL_BIN_DIR/$COMPLETER_EXE_NAME"
|
||||
|
||||
CURRENT_INSTALL_DIR="$ROOT_INSTALL_DIR/v2/current"
|
||||
CURRENT_AWS_EXE="$CURRENT_INSTALL_DIR/bin/$EXE_NAME"
|
||||
CURRENT_AWS_COMPLETER_EXE="$CURRENT_INSTALL_DIR/bin/$COMPLETER_EXE_NAME"
|
||||
|
||||
BIN_AWS_EXE="$BIN_DIR/$EXE_NAME"
|
||||
BIN_AWS_COMPLETER_EXE="$BIN_DIR/$COMPLETER_EXE_NAME"
|
||||
}
|
||||
|
||||
create_install_dir() {
|
||||
mkdir -p "$INSTALL_DIR" || exit 1
|
||||
{
|
||||
setup_install_dist &&
|
||||
setup_install_bin &&
|
||||
create_current_symlink
|
||||
} || {
|
||||
rm -rf "$INSTALL_DIR"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
check_preexisting_install() {
|
||||
if [ -L "$CURRENT_INSTALL_DIR" ] && [ "$UPGRADE" = "no" ]
|
||||
then
|
||||
die "Found preexisting AWS CLI installation: $CURRENT_INSTALL_DIR. Please rerun install script with --update flag."
|
||||
fi
|
||||
if [ -d "$INSTALL_DIR" ]
|
||||
then
|
||||
echo "Found same AWS CLI version: $INSTALL_DIR. Skipping install."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
setup_install_dist() {
|
||||
cp -r "$INSTALLER_DIST_DIR" "$INSTALL_DIST_DIR"
|
||||
}
|
||||
|
||||
setup_install_bin() {
|
||||
mkdir -p "$INSTALL_BIN_DIR"
|
||||
ln -s "../dist/$EXE_NAME" "$INSTALL_AWS_EXE"
|
||||
ln -s "../dist/$COMPLETER_EXE_NAME" "$INSTALL_AWS_COMPLETER_EXE"
|
||||
}
|
||||
|
||||
create_current_symlink() {
|
||||
ln -snf "$INSTALL_DIR" "$CURRENT_INSTALL_DIR"
|
||||
}
|
||||
|
||||
create_bin_symlinks() {
|
||||
mkdir -p "$BIN_DIR"
|
||||
ln -sf "$CURRENT_AWS_EXE" "$BIN_AWS_EXE"
|
||||
ln -sf "$CURRENT_AWS_COMPLETER_EXE" "$BIN_AWS_COMPLETER_EXE"
|
||||
}
|
||||
|
||||
die() {
|
||||
err_msg="$1"
|
||||
echo "$err_msg" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
main() {
|
||||
parse_commandline "$@"
|
||||
set_global_vars
|
||||
check_preexisting_install
|
||||
create_install_dir
|
||||
create_bin_symlinks
|
||||
echo "You can now run: $BIN_AWS_EXE --version"
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@" || exit 1
|
||||
Reference in New Issue
Block a user