npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aesr-config

v0.4.1

Published

The utilities for AWS Extend Switch Roles configuration in INI format

Downloads

14

Readme

aesr-config

This is an npm library that facilitates parsing and provides type interfaces for AWS Extend Switch Roles (AESR) configuration text. It offers both a library and a command-line interface to parse AESR configurations.

Installation

Install aesr-config by running the following command:

$ npm install aesr-config

If you wish to use it globally as a command-line tool, install it globally:

$ npm install -g aesr-config

Usage

As a Library

Here’s a more detailed example of how to use aesr-config as a library in your JavaScript code. This example demonstrates reading a configuration file, parsing it, and logging the output.

import { ConfigParser } from 'aesr-config';
import * as fs from 'node:fs';

// Reading configuration text from a file
const configText = fs.readFileSync('config.ini', 'utf8');

// Parsing the configuration text
const profileSet = ConfigParser.parseIni(configText);

// Logging the parsed configuration
console.log(JSON.stringify(profileSet, null, 2));

In this example, the configuration text is read from a file named config.ini, and then it is parsed into a JSON object which is then logged to the console.

Command Line

aesr-config is particularly powerful when utilized from the command line, providing a dedicated command parse-aesr-config that significantly simplifies the parsing of AESR configurations. This dedicated command seamlessly integrates into shell scripts and automated workflows.

$ parse-aesr-config <<EOF
[profile foo]
aws_account_id = 123456789012
role_name = developer
region = us-east-1
EOF
{"singles":[{"name":"foo","aws_account_id":"123456789012","role_name":"developer","region":"us-east-1"}],"complexes":[]}

In this example, the configuration details are passed directly, and the parsed output is displayed in the console as a JSON object.

The --indent 2 option will format the output JSON with an indentation of 2 spaces, making the JSON output more readable:

{
  "singles": [
    {
      "name": "foo",
      "aws_account_id": "123456789012",
      "role_name": "developer",
      "region": "us-east-1"
    }
  ],
  "complexes": []
}

Additional Information

  • Ensure that the configuration file or text is correctly formatted according to the AWS Extend Switch Roles specifications.
  • The parsed output will contain two sections: singles and complexes, where singles contains individual profiles and complexes contains both base profiles and target profiles, indicating the roles to switch from and to.