Coder Social home page Coder Social logo

axe's Introduction

Test & Lint MELPA

axe

AWS eXtensions for Emacs

Introduction

axe lets you use Emacs as a frontend for interacting with AWS resources. It makes available a number of tasks, such as listing buckets, invoking lambdas and tailing logs, ergonomically available through emacs.

The package relies on the AWS APIs, rather than the CLI. The reasoning behind this design decision (rather than depending on the AWS CLI) are:

  1. The AWS CLI utility is no longer a runtime dependency.
  2. The AWS CLI utility v1 and v2 have version differences
  3. The AWS APIs are platform independent.
  4. AXE can more easily control when updating to a new API version rather than dealing with current and future breaking changes between AWS CLI versions
  5. The AWS APIs provide a more consistent response structure to operate upon.

This project is in a very early form. A lot of things may change. Breaking changes to the interactive functions will be avoided. However, implementing against some of the internal interfaces could possibly cause some heartburn with future changes.

Setup

The variables axe-access-key-id and axe-secret-access-key can be defined to set access key id and secret access key. If not specified, these values will be read from the AWS credential file set to aws-credential-file, which defaults to the <user-home>/.aws/credentials.

A profile can be set using axe-profile (defaults to 'default').

Keybindings

Keybindings to specific interactive should be implemented by the user. There isn't currently a recommended list.

The axe-api-response-list-mode does provide a set of keybindings for dealing with API responses.

  1. n: Request and display the next API response using the next token from the latest response.
  2. N: Enable auto-follow in the buffer. If a next token is provided in an API response, the next response will be requested and displayed after a configured delay.
  3. s: Stop auto-following.

Additional keybindings may be added by use case.

Roadmap

axe's People

Contributors

cniles avatar svaante avatar syohex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

axe's Issues

Can't change region or access aws

Hi, I tried to use this package but when I run axe-s3-list-buckets I always get these two errors. The first is this:

Error thrown:

(error http 403)

Error data:

(Error nil (Code nil InvalidAccessKeyId) (Message nil The AWS Access Key Id you provided does not exist in our records.) (AWSAccessKeyId nil <example>) (RequestId nil <example>) (HostId nil <example>))

and when I try to change axe-region to my region eu-west-1 then I get this error:

Error thrown:

(error http 400)

Error data:

(Error nil (Code nil AuthorizationHeaderMalformed) (Message nil The authorization header is malformed; the region 'eu-west-1' is wrong; expecting 'us-east-1') (Region nil us-east-1) (RequestId nil <example>) (HostId nil <example>

(I put the <example> to redact my keys).
Don't know what to do with this is it my i.e. user error, or it is a bug.

P.S. in the README you put the varables aws-access-key-id and aws-secret-access-key that that don't exist. As far as I understend you intended to put axe-access-key-id and axe-secret-access-key.

Buckets with periods (.) in the name cause SSL error

The S3 API utilizes a sub-domain to specify the bucket name for requests. The addition of a period (.) in the bucket name results in an incorrect sub-domain being formed. This causes an SSL error.

The CLI obviously has some workaround for this issue; need to figure out what that is and convey that solution into axe.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.