Bien que l'AWS CLI soit une excellente ressource pour gérer vos services AWS, il est difficile de se souvenir de l'utilisation de :
SAWS
vise à dynamiser l'AWS CLI avec des fonctionnalités axées sur :
Sous le capot, SAWS
est alimenté par l'AWS CLI et prend en charge les mêmes commandes et structure de commandes .
Utilisation SAWS
et AWS CLI
:
aws [parameters] [options]
Caractéristiques SAWS
:
SAWS
est disponible pour Mac, Linux, Unix et Windows.
Vous pouvez contrôler le thème à charger pour la coloration syntaxique en mettant à jour votre fichier ~/.sawsrc :
# Visual theme. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,
# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,
# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity
theme = vim
SAWS
fournit une saisie semi-automatique intelligente au fur et à mesure que vous tapez. La saisie de la commande suivante répertoriera et complétera de manière interactive toutes les sous-commandes spécifiques uniquement à ec2
:
aws ec2
En plus des commandes, sous-commandes et options par défaut fournies par l'AWS CLI, SAWS
prend en charge la saisie semi-automatique de vos ressources AWS. Actuellement, les noms de compartiment, les identifiants d'instance et les balises d'instance sont inclus, avec une prise en charge supplémentaire pour davantage de ressources en cours de développement.
Option pour s3api
:
--bucket
Exemple d'utilisation :
aws s3api get-bucket-acl --bucket
Syntaxe pour s3
:
s3://
Exemple d'utilisation :
aws s3 ls s3://
Remarque : L'exemple ci-dessous illustre l'utilisation de la complétion de ressources floues :
Option pour ec2
:
--instance-ids
Exemple d'utilisation :
aws ec2 describe-instances --instance-ids
aws ec2 ls --instance-ids
Remarque : La commande ls
illustre l'utilisation de raccourcis personnalisables :
Option pour ec2
:
--ec2-tag-key
--ec2-tag-value
Exemple d'utilisation :
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
Les balises prennent en charge les caractères génériques avec le caractère *
.
Remarque : ls
, --ec2-tag-value
et --ec2-tag-key
démontrent l'utilisation de raccourcis personnalisables :
N'hésitez pas à soumettre un problème ou une pull request si vous souhaitez obtenir de l'aide pour des ressources supplémentaires.
Le fichier ~/.saws.shortcuts contient des raccourcis que vous pouvez modifier. Il est livré pré-rempli avec plusieurs raccourcis pratiques prêts à l'emploi. Vous pouvez combiner des raccourcis avec une complétion floue pour encore moins de frappes. Voici quelques exemples.
Répertoriez toutes les instances EC2 :
aws ec2 ls
Répertoriez toutes les instances EC2 en cours d'exécution :
aws ec2 ls --ec2-state running # fuzzy shortcut: aws ecstate
Répertoriez toutes les instances EC2 avec une balise correspondante (prend en charge les caractères génériques *
) :
aws ec2 ls --ec2-tag-key # fuzzy shortcut: aws ectagk
aws ec2 ls --ec2-tag-value # fuzzy shortcut: aws ectagv
Répertoriez l'instance EC2 avec l'identifiant correspondant :
aws ec2 ls --instance-ids # fuzzy shortcut: aws eclsi
Répertoriez toutes les tables DynamoDB :
aws dynamodb ls # fuzzy shortcut: aws dls
Répertoriez tous les clusters EMR :
aws emr ls # fuzzy shortcut: aws emls
Ajoutez/supprimez/modifiez des raccourcis dans votre fichier ~/.saws.shortcuts en fonction de vos besoins.
N'hésitez pas à soumettre :
Pour activer la complétion floue des ressources et des raccourcis AWS, utilisez la touche F3
.
Exemples de raccourcis flous pour démarrer et arrêter les instances EC2 :
aws ecstop
aws ecstart
Remarque : La complétion floue ne fonctionne actuellement qu'avec les ressources et les raccourcis AWS.
SAWS
prend en charge les suggestions automatiques de style Fish. Utilisez la touche right arrow
pour compléter une suggestion.
SAWS
vous permet d'exécuter des commandes shell à partir de l'invite saws>
.
SAWS
garde une trace des commandes que vous entrez et les stocke dans ~/.saws-history
. Utilisez les touches fléchées haut et bas pour parcourir l’historique des commandes.
SAWS
prend en charge help
contextuelle en ligne de commande et docs
Web contextuels.
La commande help
est alimentée par l'AWS CLI et génère de l'aide dans la ligne de commande.
Usage:
aws help
Parfois, vous n'êtes pas sûr de la combinaison commande/sous-commande/option spécifique que vous devez utiliser. Dans de tels cas, parcourir plusieurs combinaisons avec la ligne de commande help
est fastidieux par rapport à la navigation dans les documents AWS CLI en ligne via un navigateur Web.
SAWS
prend en charge les documents Web contextuels avec la commande docs
ou la touche F9
. SAWS
affichera les documents Web spécifiques à la commande et à la sous-commande actuellement saisies.
Usage:
aws docs
SAWS
prend en charge un certain nombre d'options de barre d'outils :
F2
bascule la mise en évidence de la syntaxe de sortieF3
bascule l'achèvement flou des ressources et des raccourcis AWSF4
bascule l'achèvement des raccourcisF5
actualise les ressources pour la complétion automatiqueF9
affiche les documents Web contextuelsF10
ou control d
quitte SAWS
SAWS
a été testé sur Windows 7 et Windows 10.
Sous Windows, le fichier .sawsrc se trouve dans %userprofile%
. Par exemple:
C:Usersdmartin.sawsrc
Bien que vous puissiez utiliser l'invite de commande Windows standard, vous aurez probablement une meilleure expérience avec cmder ou conemu.
SAWS
est hébergé sur PyPI. La commande suivante installera SAWS
avec des dépendances telles que l'AWS CLI :
$ pip install saws
Vous pouvez également installer la dernière version SAWS
à partir de la source GitHub qui peut contenir des modifications non encore transmises à PyPI :
$ pip install git+https://github.com/donnemartin/saws.git
Si vous n'installez pas dans un virtualenv, exécutez avec sudo
:
$ sudo pip install saws
Une fois installé, démarrez SAWS
:
$ saws
Il est recommandé d'installer les packages Python dans un environnement virtuel pour éviter des problèmes potentiels de dépendances ou d'autorisations.
Pour afficher les instructions d'installation SAWS
virtualenv
et Docker, cliquez ici.
Il existe un problème connu avec Apple et ses dépendances de packages Python incluses (plus d'informations sur pypa/pip#3165). Nous étudions des moyens de résoudre ce problème, mais en attendant, pour installer les scies, vous pouvez exécuter :
$ sudo pip install saws --upgrade --ignore-installed six
Configurez vos informations d'identification avec l'AWS CLI :
$ aws configure
Si vous souhaitez utiliser un profil nommé spécifique avec SAWS
, exécutez les commandes suivantes sous OS X, Linux ou Unix :
$ export AWS_DEFAULT_PROFILE=user1
$ saws
Ou en one-liner :
$ AWS_DEFAULT_PROFILE=user1 saws
Les utilisateurs Windows peuvent exécuter les commandes suivantes :
> set AWS_DEFAULT_PROFILE=user1
> saws
Les options de ligne de commande permettant de démarrer SAWS
avec un profil spécifique sont en cours de développement. Pour plus de détails sur la façon d'installer et de configurer l'AWS CLI, reportez-vous à la documentation suivante.
Des tests légers indiquent que SAWS
semble également être compatible avec Python 3.5.
Pypy3 n'est pas pris en charge en raison du manque de support de Boto.
Si vous souhaitez contribuer à SAWS
, exécutez les commandes suivantes :
$ git clone https://github.com/donnemartin/saws.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ saws
Les détails de l'intégration continue sont disponibles sur Travis CI.
Les détails de la gestion des dépendances sont disponibles sur Gemnasium.
Exécutez des tests unitaires dans votre environnement Python actif :
$ python tests/run_tests.py
Exécutez des tests unitaires avec tox sur plusieurs environnements Python :
$ tox
La documentation du code source est disponible sur Readthedocs.org.
Exécutez la commande suivante pour créer les documents :
$ scripts/update_docs.sh
Les contributions sont les bienvenues !
Consultez les directives de contribution pour plus de détails sur la façon de :
SAWS
sous le capotSAWS
SAWS
et pour quelques fonctions utilitaires pratiques N'hésitez pas à me contacter pour discuter de tout problème, question ou commentaire.
Je vous fournis le code et les ressources de ce référentiel sous une licence open source. Puisqu'il s'agit de mon référentiel personnel, la licence que vous recevez pour mon code et mes ressources vient de moi et non de mon employeur (Facebook).
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License 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.