Skip to main content

httpAWS - a CLI, cURL-like tool for AWS services.

Project description

Directly make HTTP calls to AWS service endpoints using the requsts and aws-requests-auth modules.

This is a low-level command-line tool intended for use by developers so that they can easily make direct HTTP calls
to AWS services. It is effectively a command-line programmatic replacement for using a graphical tool like Postman
(https://www.getpostman.com) and was inspired by tools like HTTPie (https://httpie.org) but is specific to AWS services.

WARNING: This tool is intended for development and educational purposes. It is NOT intended for robust and reliable
administration of AWS services. For interaction with production AWS services, it is highly recommended that you use an
officially supported tool specifically designed for that purpose such as any of the following:
- AWS Console
* https://aws.amazon.com
- AWS CLI
* https://aws.amazon.com/cli/
- AWS Shell
* https://github.com/awslabs/aws-shell
- AWS SDK for Python (boto3)
* https://aws.amazon.com/sdk-for-python/
Home-page: https://github.com/http-aws/http-aws
Author: Todd Leonhardt
Author-email: todd.leonhardt@gmail.com
License: Apache 2.0
Download-URL: https://github.com/http-aws/http-aws
Description: # httpAWS: a CLI, [cURL](https://curl.haxx.se)-like tool for [AWS](https://aws.amazon.com) services

httpAWS is a command line HTTP client for AWS services. Its goal is to make CLI interaction with AWS web services as
human-friendly as possible. It provides a simple ``httpaws`` command that allows for sending HTTP requests to AWS
services using a simple and natural syntax, and displays colorized output. httpAWS can be used for testing, debugging,
and generally interacting direly with AWS services with HTTP requests.

httpAWS directly makes HTTP calls to AWS service endpoints using the [requests](http://docs.python-requests.org) and
[aws-requests-auth](https://github.com/DavidMuller/aws-requests-auth) modules.

This is a low-level command-line tool intended for use by developers so that they can easily make direct HTTP calls
to AWS services. It is effectively a command-line programmatic replacement for using a graphical tool like
[Postman](https://www.getpostman.com) and was inspired by tools like [HTTPie](https://httpie.org) but is specific to
AWS services.

**WARNING**: *This tool is intended for development and educational purposes*. It is NOT intended for robust and reliable
administration of AWS services. For interaction with production AWS services, it is highly recommended that you use an
officially supported tool specifically designed for that purpose such as any of the following:
- [AWS Console](https://aws.amazon.com/console)
- [AWS CLI](https://aws.amazon.com/cli/)
- [AWS Shell](https://github.com/awslabs/aws-shell)
- [AWS SDK for Python (boto3)](https://aws.amazon.com/sdk-for-python/)

# Main Features
- Expressive and intuitive syntax
- Formatted and colorized terminal output
- Built-in XML support
- Python 2.7 and 3.x support
- Linux, macOS and Windows support

# Installation
A universal installation method (that works on Windows, Mac OS X, Linux, …, and always provides the latest version) is
to use [pip](https://pypi.org/project/pip/):

```sh
# Make sure we have an up-to-date version of pip and setuptools:
$ pip install -U pip setuptools

$ pip install -U httpaws
```

# Usage
Hello World:

```sh
$ httpaws -s ec2 DescribeVpcs
```
The above command calls the **DescribeVpcs** API on the EC2 service using the credentials and default region found in
your *~/.aws* directory.

Synopsis:
```sh
$ httpaws [flags] <API>
```

See also ``httpaws -h`` for detailed help:
```sh
httpaws -h
usage: http_aws [-h] [-r REGION] [-s SERVICE] [-e ENDPOINT] [-c CREDS]
[-v VERSION] [-p] [-w]
api

A command line HTTP client for AWS services with an intuitive UI, XML support
and syntax highlighting.

positional arguments:
api Name of the API to call - e.g. "DescribeVpcs" (for ec2
service)

optional arguments:
-h, --help show this help message and exit
-r REGION, --region REGION
The region to use. Overrides config/env settings.
-s SERVICE, --service SERVICE
AWS service - e.g. ec2, s3, etc.
-e ENDPOINT, --endpoint ENDPOINT
Override command's default URL with the given URL -
e.g. ec2.us-east-1.amazonaws.com
-c CREDS, --creds CREDS
Override AWS Access Key Id and AWS Secret Access Key -
i.e. <Access_Key>:<Secret_Key>
-v VERSION, --version VERSION
API version to use for the service
-p, --paginate Paginate long output
-w, --wrap Wrap long lines in paginated output instead of
chopping them off

See the AWS Documentation for API references for each service:
https://docs.aws.amazon.com
```


Keywords: http cli aws
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache 2.0 License
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development
Classifier: Topic :: System :: Networking
Classifier: Topic :: Terminals
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=2.7

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpaws-0.0.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

httpaws-0.0.1-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file httpaws-0.0.1.tar.gz.

File metadata

  • Download URL: httpaws-0.0.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.2

File hashes

Hashes for httpaws-0.0.1.tar.gz
Algorithm Hash digest
SHA256 2360da21f39df680d2abcf46be0a96d602d356dfb5e03371c6803e3a9f89b1e9
MD5 5f383e8c13a0ba9b1745b9986e8b3373
BLAKE2b-256 381ab4942f18d3a7eee01e2a22458365b9d4f7e13dfcfb4c070eec445b9a1bcb

See more details on using hashes here.

File details

Details for the file httpaws-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: httpaws-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.2

File hashes

Hashes for httpaws-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 516e3c7bc7d997d39b2a8b918ae4bdf51883c86c141a7abd9351c1bf5963d491
MD5 4d8b4670f950436a9a2bf653baae7dd7
BLAKE2b-256 f9767b20785a0f877d4294b0a84a458ba3f168b7214b7418fe2b179596b04338

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page