Module awsrun.plugins
Plug-ins for the awsrun CLI.
The awsrun CLI supports two pluggable behaviors: account loading and credential loading. To provide choices and extensibility for CLI users, these behaviors can be changed via a user's awsrun YAML configuration file. Several plug-ins are included with awsrun. Users may, however, provide their own implementations, so long as they are installed and available in the standard Python path.
To use a plug-in, add a plug-in specification to the user configuration file.
The plug-in specification identifies the name of the plug-in, the path to the
Plugin
implementation, and, optionally, its options. The format
of the specification is as follows:
PLUGIN_NAME:
plugin: PYTHON_MODULE.CLASSNAME
options:
ARG1: VAL1
ARG2: VAL2
The specification must begin with the PLUGIN_NAME
, which is either Accounts
or Credentials
depending on the behavior being configured. It must also
include plugin
that identifies, via a dotted string, the Python module
concatenated with the name of a Plugin
subclass. Plug-ins must be installed in
the standard Python path.
The specification can also optionally include
options
that defines options made available to the plug-in.
Only one plug-in should be specified per behavior. If multiple plug-in specifications are provided for the same behavior, the last one defined in the configuration is used.
Non-CLI users of awsrun will not use this module.
Expand source code
#
# Copyright 2019 FMR LLC <opensource@fidelity.com>
#
# SPDX-License-Identifier: Apache-2.0
#
"""Plug-ins for the awsrun CLI.
The awsrun CLI supports two pluggable behaviors: **account loading** and
**credential loading**. To provide choices and extensibility for CLI users,
these behaviors can be changed via a user's awsrun YAML configuration file.
Several plug-ins are included with awsrun. Users may, however, provide their own
implementations, so long as they are installed and available in the standard
Python path.
To use a plug-in, add a plug-in specification to the user configuration file.
The plug-in specification identifies the name of the plug-in, the path to the
`awsrun.plugmgr.Plugin` implementation, and, optionally, its options. The format
of the specification is as follows:
PLUGIN_NAME:
plugin: PYTHON_MODULE.CLASSNAME
options:
ARG1: VAL1
ARG2: VAL2
The specification must begin with the `PLUGIN_NAME`, which is either `Accounts`
or `Credentials` depending on the behavior being configured. It must also
include `plugin` that identifies, via a dotted string, the Python module
concatenated with the name of a `Plugin` subclass. Plug-ins must be installed in
the standard Python path. The specification can also optionally include
`options` that defines options made available to the plug-in.
Only one plug-in should be specified per behavior. If multiple plug-in
specifications are provided for the same behavior, the last one defined in the
configuration is used.
Non-CLI users of awsrun will not use this module.
"""
Sub-modules
awsrun.plugins.accts
-
Plug-ins for account loading …
awsrun.plugins.creds
-
Plug-ins for credential loading …