Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wbingli/awscli-plugin-endpoint
An awscli plugin to configure service endpoint from aws configure file
https://github.com/wbingli/awscli-plugin-endpoint
aws-cli plugin
Last synced: about 2 months ago
JSON representation
An awscli plugin to configure service endpoint from aws configure file
- Host: GitHub
- URL: https://github.com/wbingli/awscli-plugin-endpoint
- Owner: wbingli
- License: apache-2.0
- Created: 2017-01-02T22:00:04.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-02-14T04:46:35.000Z (almost 2 years ago)
- Last Synced: 2024-04-27T14:34:18.257Z (9 months ago)
- Topics: aws-cli, plugin
- Language: Python
- Size: 25.4 KB
- Stars: 204
- Watchers: 8
- Forks: 23
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - wbingli/awscli-plugin-endpoint - An awscli plugin to configure service endpoint from aws configure file (others)
README
awscli-plugin-endpoint
=============This awscli plugin provides service endpoint configuration **per service** on profile.
------------
Installation
------------The easiest way to install awscli-plugin-endpoint is to use `pip`:
$ pip install awscli-plugin-endpoint
You can also install the latest package from GitHub source which can contain changes not yet pushed to PyPI:
$ pip install git+https://github.com/wbingli/awscli-plugin-endpoint.git
or, if you install `awscli` via Homebrew, which bundles its own python, install as following:
$ /usr/local/opt/awscli/libexec/bin/pip install awscli-plugin-endpoint
Regardless of the installation method, make note of the package installation path (e.g. `~/Library/Python/3.7/lib/python/site-packages`). It will be needed if you are using AWS CLI v2.
---------------
Getting Started
---------------Before using awscli-plugin-endpoint plugin, you need to [configure awscli](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) first.
**MUST**: Once that's done, to enable `awscli-plugin-endpoint` plugin, you can run:
$ aws configure set plugins.endpoint awscli_plugin_endpoint
The above command adds below section to your aws config file. You can also directly edit your `~/.aws/config` with below configuration.
[plugins]
endpoint = awscli_plugin_endpointIf you are configuring AWS CLI v2 to use the endpoint plugin, you will need to add an additional configuration setting, replacing "site-packages-path" with the installation path noted above:
$ aws configure set plugins.cli_legacy_plugin_path site-packages-path
The configuration file will now have two values in the plugin section:
[plugins]
endpoint = awscli_plugin_endpoint
cli_legacy_plugin_path = site-packages-pathTo add endpoint configure to a profile(assuming you have a **local** profile), you can run:
$ aws configure --profile local set dynamodb.endpoint_url http://localhost:8000
The above command adds below section to your profile:
[profile local]
dynamodb =
endpoint_url = http://localhost:8000Now you can access your local dynamodb just use profile:
$ aws dynamodb list-tables --profile local
## One more example with S3 configuration
Add endpoint configuration to the profile:
$ aws configure --profile wasabi set s3.endpoint_url https://s3.wasabisys.com
The profile will looks like below:
[profile wasabi]
region = us-east-1
s3 =
endpoint_url = https://s3.wasabisys.comNow you can use `aws s3` command with this profile as following:
$ aws s3 ls --profile wasabi
One more thing, the endpoint is technically per **sub command**. Take S3 as example, above S3 configuration will not work for S3 low level CLI `aws s3api`. To make `s3api` work with this endpoint, you should add endpoint to this sub command as well:
[profile wasabi]
region = us-east-1
s3 =
endpoint_url = https://s3.wasabisys.com
s3api =
endpoint_url = https://s3.wasabisys.comNow you can use `aws s3api` command with this profile as following:
$ aws s3api --profile wasabi list-buckets
Working with Secure Connections
------------------
By default, awscli verifies the certificates presented for all HTTPS requests.
There are two options for working with self-signed or otherwise untrusted
certificates:* `ca_bundle`
If the certificate is long-lived, or any new certificates will be issued by
a long-lived certificate authority, you may want to provide an alternate
set of trusted certificates with `ca_bundle`. This is comparable to the
`--ca-bundle` command line option, and may be specified either per-profile
or per-subcommand:[profile local1]
ca_bundle = /path/to/bundle.crt
s3 =
endpoint_url = https://localhost:8000[profile local2]
ec2 =
ca_bundle = /path/to/another-bundle.crt
endpoint_url = https://localhost:8888* `verify_ssl`
If the certificate will be frequently refreshed, you may want to simply
disable verification with `verify_ssl = false`. This is comparable to the
`--no-verify-ssl` command line option:[profile local]
dynamodb =
verify_ssl = false
endpoint_url = https://localhost:8000