summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 05:26:09 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 05:26:09 +0000
commitf3407e2edc86a1b63609b194720b7ed1a9e36605 (patch)
tree00a1962c965763181a5fbb77a0d2c2020420080e
parent3e5fbee2f83bac7182a47da90e933cfff3432e5c (diff)
automatic import of python-byu-awslogin
-rw-r--r--.gitignore1
-rw-r--r--python-byu-awslogin.spec395
-rw-r--r--sources1
3 files changed, 397 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7b85864 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/byu_awslogin-0.15.2.tar.gz
diff --git a/python-byu-awslogin.spec b/python-byu-awslogin.spec
new file mode 100644
index 0000000..c6d25a5
--- /dev/null
+++ b/python-byu-awslogin.spec
@@ -0,0 +1,395 @@
+%global _empty_manifest_terminate_build 0
+Name: python-byu-awslogin
+Version: 0.15.2
+Release: 1
+Summary: An aws-adfs spinoff that fits BYU's needs
+License: Apache-2.0
+URL: https://github.com/byu-oit/awslogin
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ab/e6/213918472fdd536156c9283eb95d1c71a14c0a3a65ee3819de40e70a0f93/byu_awslogin-0.15.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-boto3
+Requires: python3-requests
+Requires: python3-click
+Requires: python3-future
+Requires: python3-configparser
+Requires: python3-beautifulsoup4
+Requires: python3-lxml
+Requires: python3-prompt-toolkit
+
+%description
+# AWSLOGIN
+Python script for CLI and SDK access to AWS via ADFS while requiring MFA
+access using <https://duo.com/>
+
+# History and Purpose
+
+BYU used to use the great [aws-adfs](https://github.com/venth/aws-adfs)
+CLI tool to login to our AWS accounts. It worked great, especially the
+DUO 2FA support. Eventually, we decided to write our own similar tool
+but make it BYU-specific so that we could tailor it to our needs (which
+basically means hard-code certain BYU-specific things) and remove some
+of the required parameters. Since this tool will be used by BYU
+employees only we had that option. We then morphed it a little more for
+our use cases. This isn't something that you could use outside of BYU,
+sorry.
+
+# DUO 2FA Requirements
+In order for Duo 2FA to work properly Automatic Push needs to be enabled.
+
+# Installation
+
+ - Python 3.6+ is recommended as python2 is EOL January 2020.
+ - It is highly recommended to use an application like [Pipx](https://pipxproject.github.io/pipx/) to install and use python cli applications.
+ - Follow the pipx [installation documentation](https://pipxproject.github.io/pipx/installation/) then simply run `pipx install byu_awslogin`
+ - Experimental Binaries are available on the releases page. These are new and in testing [Releases](https://gihtub.com/byu-oit/awslogin/releases)
+ - See the [installation options](https://github.com/byu-oit/awslogin/blob/master/INSTALLATION_OPTIONS.md) For additional options
+ page for step by step instructions for installing in various environments
+
+# Upgrading
+
+If you already have byu\_awslogin install and are looking to upgrade
+simply run
+
+`pip3 install --upgrade byu_awslogin` or `pip install --upgrade
+byu_awslogin` as appropriate for your python installation
+
+# Usage
+
+awslogin defaults to the default profile in your \~/.aws/config and
+\~/.aws/credentials files. **\*If you already have a default profile you
+want to save in your \~/.aws files make sure to do that before running
+awslogin.**\*
+
+Once you're logged in, you can execute commands using the AWS CLI or AWS
+SDK. Try running `aws s3 ls`.
+
+Currently, AWS temporary credentials are only valid for 1 hour. We cache
+your ADFS session, however, so you can just re-run `awslogin` again to
+get a new set of AWS credentials without logging in again to ADFS. Your
+ADFS login session is valid for 8 hours, after which time you'll be
+required to login to ADFS again to obtain a new session.
+
+To switch accounts after you've already authenticated to an account,
+just run awslogin again and select a new account/role combination.
+
+To use it:
+
+ - Run `awslogin` and it will prompt you for the AWS account and role
+ to use.
+ - Run `awslogin --account <account name> --role <role name>` to skip
+ the prompting for account and name. You could specify just one of
+ the arguments as well.
+ - Run `awslogin --profile <profile name>` to specifiy an alternative
+ profile
+ - Run `awslogin --region <region name>` to specify a different region.
+ The default region is *us-west-2*.
+ - Run `awslogin --status` for the current status of the default
+ profile
+ - Run `awslogin --status --profile dev` for the current status of the
+ dev profile
+ - Run `awslogin --status --profile all` for the current status of the
+ all profiles
+ - Run `awslogin --logout` to logout of a cached ADFS session
+ - Run `awslogin --version` to display the running version of awslogin
+ - Run `awslogin --help` for full help message
+
+# Bash or ZSH Completion
+Bash:
+- Run the following: `_AWSLOGIN_COMPLETE=source awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .bashrc
+
+ZSH:
+- Run the following: `_AWSLOGIN_COMPLETE=source_zsh awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .zshrc
+
+Alternatively put the `_awslogin` in your `/etc/bash_completion.d` or similiar directory (`~/.zfunc`) to load at shells startup
+
+To test if it works run awslogin at least once for the account and role cache to populate. On next login `awslogin -a [TAB][TAB]` should output available accounts and `awslogin -a {some account} -r [TAB][TAB]` should output available roles for the selected account
+
+Limitation: Accounts and Role completion at the CLI is loaded from a cache file. This file will be updated anytime awslogin is ran.
+
+# Reporting bugs or requesting features
+
+ - Enter an issue on the github repo.
+ - Or, even better if you can, fix the issue and make a pull request.
+
+# Deploying changes
+
+ - Update the version in `pyproject.toml` and `__version__.py`
+ - Commit the changes and push.
+ - Build binaries
+ - Create a new release (add binaries and sha256sums.txt) with the version number and Github Actions will build, test and publish
+
+# TODO
+
+ - Write tests
+ - Write more tests to increase overall coverage
+
+
+%package -n python3-byu-awslogin
+Summary: An aws-adfs spinoff that fits BYU's needs
+Provides: python-byu-awslogin
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-byu-awslogin
+# AWSLOGIN
+Python script for CLI and SDK access to AWS via ADFS while requiring MFA
+access using <https://duo.com/>
+
+# History and Purpose
+
+BYU used to use the great [aws-adfs](https://github.com/venth/aws-adfs)
+CLI tool to login to our AWS accounts. It worked great, especially the
+DUO 2FA support. Eventually, we decided to write our own similar tool
+but make it BYU-specific so that we could tailor it to our needs (which
+basically means hard-code certain BYU-specific things) and remove some
+of the required parameters. Since this tool will be used by BYU
+employees only we had that option. We then morphed it a little more for
+our use cases. This isn't something that you could use outside of BYU,
+sorry.
+
+# DUO 2FA Requirements
+In order for Duo 2FA to work properly Automatic Push needs to be enabled.
+
+# Installation
+
+ - Python 3.6+ is recommended as python2 is EOL January 2020.
+ - It is highly recommended to use an application like [Pipx](https://pipxproject.github.io/pipx/) to install and use python cli applications.
+ - Follow the pipx [installation documentation](https://pipxproject.github.io/pipx/installation/) then simply run `pipx install byu_awslogin`
+ - Experimental Binaries are available on the releases page. These are new and in testing [Releases](https://gihtub.com/byu-oit/awslogin/releases)
+ - See the [installation options](https://github.com/byu-oit/awslogin/blob/master/INSTALLATION_OPTIONS.md) For additional options
+ page for step by step instructions for installing in various environments
+
+# Upgrading
+
+If you already have byu\_awslogin install and are looking to upgrade
+simply run
+
+`pip3 install --upgrade byu_awslogin` or `pip install --upgrade
+byu_awslogin` as appropriate for your python installation
+
+# Usage
+
+awslogin defaults to the default profile in your \~/.aws/config and
+\~/.aws/credentials files. **\*If you already have a default profile you
+want to save in your \~/.aws files make sure to do that before running
+awslogin.**\*
+
+Once you're logged in, you can execute commands using the AWS CLI or AWS
+SDK. Try running `aws s3 ls`.
+
+Currently, AWS temporary credentials are only valid for 1 hour. We cache
+your ADFS session, however, so you can just re-run `awslogin` again to
+get a new set of AWS credentials without logging in again to ADFS. Your
+ADFS login session is valid for 8 hours, after which time you'll be
+required to login to ADFS again to obtain a new session.
+
+To switch accounts after you've already authenticated to an account,
+just run awslogin again and select a new account/role combination.
+
+To use it:
+
+ - Run `awslogin` and it will prompt you for the AWS account and role
+ to use.
+ - Run `awslogin --account <account name> --role <role name>` to skip
+ the prompting for account and name. You could specify just one of
+ the arguments as well.
+ - Run `awslogin --profile <profile name>` to specifiy an alternative
+ profile
+ - Run `awslogin --region <region name>` to specify a different region.
+ The default region is *us-west-2*.
+ - Run `awslogin --status` for the current status of the default
+ profile
+ - Run `awslogin --status --profile dev` for the current status of the
+ dev profile
+ - Run `awslogin --status --profile all` for the current status of the
+ all profiles
+ - Run `awslogin --logout` to logout of a cached ADFS session
+ - Run `awslogin --version` to display the running version of awslogin
+ - Run `awslogin --help` for full help message
+
+# Bash or ZSH Completion
+Bash:
+- Run the following: `_AWSLOGIN_COMPLETE=source awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .bashrc
+
+ZSH:
+- Run the following: `_AWSLOGIN_COMPLETE=source_zsh awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .zshrc
+
+Alternatively put the `_awslogin` in your `/etc/bash_completion.d` or similiar directory (`~/.zfunc`) to load at shells startup
+
+To test if it works run awslogin at least once for the account and role cache to populate. On next login `awslogin -a [TAB][TAB]` should output available accounts and `awslogin -a {some account} -r [TAB][TAB]` should output available roles for the selected account
+
+Limitation: Accounts and Role completion at the CLI is loaded from a cache file. This file will be updated anytime awslogin is ran.
+
+# Reporting bugs or requesting features
+
+ - Enter an issue on the github repo.
+ - Or, even better if you can, fix the issue and make a pull request.
+
+# Deploying changes
+
+ - Update the version in `pyproject.toml` and `__version__.py`
+ - Commit the changes and push.
+ - Build binaries
+ - Create a new release (add binaries and sha256sums.txt) with the version number and Github Actions will build, test and publish
+
+# TODO
+
+ - Write tests
+ - Write more tests to increase overall coverage
+
+
+%package help
+Summary: Development documents and examples for byu-awslogin
+Provides: python3-byu-awslogin-doc
+%description help
+# AWSLOGIN
+Python script for CLI and SDK access to AWS via ADFS while requiring MFA
+access using <https://duo.com/>
+
+# History and Purpose
+
+BYU used to use the great [aws-adfs](https://github.com/venth/aws-adfs)
+CLI tool to login to our AWS accounts. It worked great, especially the
+DUO 2FA support. Eventually, we decided to write our own similar tool
+but make it BYU-specific so that we could tailor it to our needs (which
+basically means hard-code certain BYU-specific things) and remove some
+of the required parameters. Since this tool will be used by BYU
+employees only we had that option. We then morphed it a little more for
+our use cases. This isn't something that you could use outside of BYU,
+sorry.
+
+# DUO 2FA Requirements
+In order for Duo 2FA to work properly Automatic Push needs to be enabled.
+
+# Installation
+
+ - Python 3.6+ is recommended as python2 is EOL January 2020.
+ - It is highly recommended to use an application like [Pipx](https://pipxproject.github.io/pipx/) to install and use python cli applications.
+ - Follow the pipx [installation documentation](https://pipxproject.github.io/pipx/installation/) then simply run `pipx install byu_awslogin`
+ - Experimental Binaries are available on the releases page. These are new and in testing [Releases](https://gihtub.com/byu-oit/awslogin/releases)
+ - See the [installation options](https://github.com/byu-oit/awslogin/blob/master/INSTALLATION_OPTIONS.md) For additional options
+ page for step by step instructions for installing in various environments
+
+# Upgrading
+
+If you already have byu\_awslogin install and are looking to upgrade
+simply run
+
+`pip3 install --upgrade byu_awslogin` or `pip install --upgrade
+byu_awslogin` as appropriate for your python installation
+
+# Usage
+
+awslogin defaults to the default profile in your \~/.aws/config and
+\~/.aws/credentials files. **\*If you already have a default profile you
+want to save in your \~/.aws files make sure to do that before running
+awslogin.**\*
+
+Once you're logged in, you can execute commands using the AWS CLI or AWS
+SDK. Try running `aws s3 ls`.
+
+Currently, AWS temporary credentials are only valid for 1 hour. We cache
+your ADFS session, however, so you can just re-run `awslogin` again to
+get a new set of AWS credentials without logging in again to ADFS. Your
+ADFS login session is valid for 8 hours, after which time you'll be
+required to login to ADFS again to obtain a new session.
+
+To switch accounts after you've already authenticated to an account,
+just run awslogin again and select a new account/role combination.
+
+To use it:
+
+ - Run `awslogin` and it will prompt you for the AWS account and role
+ to use.
+ - Run `awslogin --account <account name> --role <role name>` to skip
+ the prompting for account and name. You could specify just one of
+ the arguments as well.
+ - Run `awslogin --profile <profile name>` to specifiy an alternative
+ profile
+ - Run `awslogin --region <region name>` to specify a different region.
+ The default region is *us-west-2*.
+ - Run `awslogin --status` for the current status of the default
+ profile
+ - Run `awslogin --status --profile dev` for the current status of the
+ dev profile
+ - Run `awslogin --status --profile all` for the current status of the
+ all profiles
+ - Run `awslogin --logout` to logout of a cached ADFS session
+ - Run `awslogin --version` to display the running version of awslogin
+ - Run `awslogin --help` for full help message
+
+# Bash or ZSH Completion
+Bash:
+- Run the following: `_AWSLOGIN_COMPLETE=source awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .bashrc
+
+ZSH:
+- Run the following: `_AWSLOGIN_COMPLETE=source_zsh awslogin > ~/_awslogin` Then add `source /path/to/_awslogin` to .zshrc
+
+Alternatively put the `_awslogin` in your `/etc/bash_completion.d` or similiar directory (`~/.zfunc`) to load at shells startup
+
+To test if it works run awslogin at least once for the account and role cache to populate. On next login `awslogin -a [TAB][TAB]` should output available accounts and `awslogin -a {some account} -r [TAB][TAB]` should output available roles for the selected account
+
+Limitation: Accounts and Role completion at the CLI is loaded from a cache file. This file will be updated anytime awslogin is ran.
+
+# Reporting bugs or requesting features
+
+ - Enter an issue on the github repo.
+ - Or, even better if you can, fix the issue and make a pull request.
+
+# Deploying changes
+
+ - Update the version in `pyproject.toml` and `__version__.py`
+ - Commit the changes and push.
+ - Build binaries
+ - Create a new release (add binaries and sha256sums.txt) with the version number and Github Actions will build, test and publish
+
+# TODO
+
+ - Write tests
+ - Write more tests to increase overall coverage
+
+
+%prep
+%autosetup -n byu-awslogin-0.15.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-byu-awslogin -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.15.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..db2d7a4
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f025a5b1ccfa506fa95515c7e61929f9 byu_awslogin-0.15.2.tar.gz