Aunque AWS CLI es un gran recurso para administrar sus servicios basados en AWS, es difícil recordar el uso de:
SAWS
tiene como objetivo potenciar la CLI de AWS con funciones centradas en:
En el fondo, SAWS
funciona con la CLI de AWS y admite los mismos comandos y la misma estructura de comandos .
Uso SAWS
y AWS CLI
:
aws [parameters] [options]
Características SAWS
:
SAWS
está disponible para Mac, Linux, Unix y Windows.
Puedes controlar qué tema cargar para resaltar la sintaxis actualizando tu archivo ~/.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
proporciona autocompletado inteligente a medida que escribe. Al ingresar el siguiente comando, se enumerarán interactivamente y se completarán automáticamente todos los subcomandos específicos solo de ec2
:
aws ec2
Además de los comandos, subcomandos y opciones predeterminados que proporciona la CLI de AWS, SAWS
admite la finalización automática de sus recursos de AWS. Actualmente, se incluyen nombres de depósitos, identificadores de instancias y etiquetas de instancias, con soporte adicional para más recursos en desarrollo.
Opción para s3api
:
--bucket
Uso de muestra:
aws s3api get-bucket-acl --bucket
Sintaxis para s3
:
s3://
Uso de muestra:
aws s3 ls s3://
Nota: El siguiente ejemplo demuestra el uso de la finalización difusa de recursos:
Opción para ec2
:
--instance-ids
Uso de muestra:
aws ec2 describe-instances --instance-ids
aws ec2 ls --instance-ids
Nota: El comando ls
demuestra el uso de atajos personalizables:
Opción para ec2
:
--ec2-tag-key
--ec2-tag-value
Uso de muestra:
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
Las etiquetas admiten comodines con el carácter *
.
Nota: ls
, --ec2-tag-value
y --ec2-tag-key
demuestran el uso de atajos personalizables:
No dude en enviar un problema o una solicitud de extracción si desea obtener asistencia para recursos adicionales.
El archivo ~/.saws.shortcuts contiene accesos directos que puede modificar. Viene precargado con varios atajos útiles listos para usar. Puede combinar atajos con finalización difusa para lograr incluso menos pulsaciones de teclas. A continuación se muestran algunos ejemplos.
Enumere todas las instancias EC2:
aws ec2 ls
Enumere todas las instancias EC2 en ejecución:
aws ec2 ls --ec2-state running # fuzzy shortcut: aws ecstate
Enumere todas las instancias EC2 con una etiqueta coincidente (admite comodines *
):
aws ec2 ls --ec2-tag-key # fuzzy shortcut: aws ectagk
aws ec2 ls --ec2-tag-value # fuzzy shortcut: aws ectagv
Enumere la instancia EC2 con la identificación coincidente:
aws ec2 ls --instance-ids # fuzzy shortcut: aws eclsi
Enumere todas las tablas de DynamoDB:
aws dynamodb ls # fuzzy shortcut: aws dls
Enumere todos los grupos de EMR:
aws emr ls # fuzzy shortcut: aws emls
Agregue/elimine/modifique accesos directos en su archivo ~/.saws.shortcuts para satisfacer sus necesidades.
No dudes en enviar:
Para alternar la finalización difusa de los recursos y accesos directos de AWS, utilice la tecla F3
.
Ejemplos de atajos difusos para iniciar y detener instancias EC2:
aws ecstop
aws ecstart
Nota: Actualmente, la finalización aproximada solo funciona con recursos y accesos directos de AWS.
SAWS
admite sugerencias automáticas estilo Fish. Utilice la tecla right arrow
para completar una sugerencia.
SAWS
le permite ejecutar comandos de shell desde el símbolo saws>
.
SAWS
realiza un seguimiento de los comandos que ingresa y los almacena en ~/.saws-history
. Utilice las teclas de flecha hacia arriba y hacia abajo para recorrer el historial de comandos.
SAWS
admite help
de línea de comandos contextual y docs
web contextuales.
El comando help
funciona con la CLI de AWS y genera ayuda dentro de la línea de comando.
Uso:
aws help
A veces no estás muy seguro de qué combinación específica de comando/subcomando/opción necesitas usar. En tales casos, explorar varias combinaciones con la línea de comandos help
es engorroso en comparación con explorar los documentos de AWS CLI en línea a través de un navegador web.
SAWS
admite documentos web contextuales con el comando docs
o la tecla F9
. SAWS
mostrará los documentos web específicos del comando y subcomando ingresados actualmente.
Uso:
aws docs
SAWS
admite varias opciones de barra de herramientas:
F2
alterna el resaltado de sintaxis de salidaF3
alterna la finalización difusa de los recursos y accesos directos de AWSF4
alterna la finalización de atajosF5
actualiza los recursos para autocompletarF9
muestra los documentos web contextualesF10
o control d
salidas SAWS
SAWS
ha sido probado en Windows 7 y Windows 10.
En Windows, el archivo .sawsrc se puede encontrar en %userprofile%
. Por ejemplo:
C:Usersdmartin.sawsrc
Aunque puede utilizar el símbolo del sistema estándar de Windows, probablemente tendrá una mejor experiencia con cmder o conemu.
SAWS
está alojado en PyPI. El siguiente comando instalará SAWS
junto con dependencias como la AWS CLI:
$ pip install saws
También puede instalar el último SAWS
desde la fuente de GitHub que puede contener cambios que aún no se han enviado a PyPI:
$ pip install git+https://github.com/donnemartin/saws.git
Si no está instalando en un virtualenv, ejecute con sudo
:
$ sudo pip install saws
Una vez instalado, inicie SAWS
:
$ saws
Se recomienda instalar paquetes de Python en un entorno virtual para evitar posibles problemas con dependencias o permisos.
Para ver las instrucciones de instalación SAWS
virtualenv
y Docker, haga clic aquí.
Hay un problema conocido con Apple y las dependencias del paquete Python incluido (más información en pypa/pip#3165). Estamos investigando formas de solucionar este problema, pero mientras tanto, para instalar sierras, puede ejecutar:
$ sudo pip install saws --upgrade --ignore-installed six
Configure sus credenciales con la AWS CLI:
$ aws configure
Si desea utilizar un perfil con nombre específico con SAWS
, ejecute los siguientes comandos en OS X, Linux o Unix:
$ export AWS_DEFAULT_PROFILE=user1
$ saws
O como una sola línea:
$ AWS_DEFAULT_PROFILE=user1 saws
Los usuarios de Windows pueden ejecutar los siguientes comandos:
> set AWS_DEFAULT_PROFILE=user1
> saws
Se están desarrollando opciones de línea de comando para iniciar SAWS
con un perfil específico. Para obtener más detalles sobre cómo instalar y configurar AWS CLI, consulte la siguiente documentación.
Las pruebas ligeras indican que SAWS
también parece ser compatible con Python 3.5.
Pypy3 no es compatible debido a la falta de soporte de boto.
Si está interesado en contribuir a SAWS
, ejecute los siguientes comandos:
$ git clone https://github.com/donnemartin/saws.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ saws
Los detalles de la integración continua están disponibles en Travis CI.
Los detalles de gestión de dependencias están disponibles en Gemnasium.
Ejecute pruebas unitarias en su entorno Python activo:
$ python tests/run_tests.py
Ejecute pruebas unitarias con tox en múltiples entornos Python:
$ tox
La documentación del código fuente está disponible en Readthedocs.org.
Ejecute lo siguiente para compilar los documentos:
$ scripts/update_docs.sh
¡Las contribuciones son bienvenidas!
Revise las Pautas de contribución para obtener detalles sobre cómo:
SAWS
bajo el capóSAWS
SAWS
y por algunas útiles funciones útiles No dude en ponerse en contacto conmigo para discutir cualquier problema, pregunta o comentario.
Le proporciono código y recursos en este repositorio bajo una licencia de código abierto. Debido a que este es mi repositorio personal, la licencia que recibe para mi código y mis recursos es mía y no de mi empleador (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.