summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 06:11:55 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 06:11:55 +0000
commit0ad1a7b3b8e0cc58e6e3dc7e3177d1d5fb88cd19 (patch)
tree8c74337f7a8af1f2fc15e53a870c85f69ab1a4e1
parent1efd628083e734f36d3e231af067c626d3f03ce8 (diff)
automatic import of python-requests-auth-aws-sigv4openeuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-requests-auth-aws-sigv4.spec508
-rw-r--r--sources1
3 files changed, 510 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..9566b46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/requests-auth-aws-sigv4-0.7.tar.gz
diff --git a/python-requests-auth-aws-sigv4.spec b/python-requests-auth-aws-sigv4.spec
new file mode 100644
index 0000000..51ae20c
--- /dev/null
+++ b/python-requests-auth-aws-sigv4.spec
@@ -0,0 +1,508 @@
+%global _empty_manifest_terminate_build 0
+Name: python-requests-auth-aws-sigv4
+Version: 0.7
+Release: 1
+Summary: AWS SigV4 Authentication with the python requests module
+License: Apache Software License
+URL: https://github.com/andrewjroth/requests-auth-aws-sigv4
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b3/bc/f695cd7d54327f925e22293d5b71b312dcdee0d8e720defc7a7a5f16a5ae/requests-auth-aws-sigv4-0.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+
+%description
+# requests-auth-aws-sigv4
+Use AWS signature version 4 Authentication with the python requests module
+
+This package provides an authentication class that can be used with the popular
+[requests](https://requests.readthedocs.io/en/master/) package to add the
+[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)
+authentication information.
+
+The signing code is inspired by the python example provided by AWS.
+
+This package should support any/all AWS API's, including API Gateway API's (execute-api),
+Elasticsearch clusters, and others. AWS Credentials may be pulled from the environment
+in an easy and familiar way.
+The signature is added as a header to the request.
+
+## Installation
+
+```
+pip install requests-auth-aws-sigv4
+```
+
+## Usage
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+r = requests.request('POST', 'https://sts.us-east-1.amazonaws.com',
+ data=dict(Version='2011-06-15', Action='GetCallerIdentity'),
+ auth=AWSSigV4('sts'))
+print(r.text)
+```
+
+If **boto3** is available, it will attempt to use credentials that have been configured for the AWS CLI or SDK's,
+as documented in [Boto3 User Guide: Credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#credentials).
+Otherwise, if **boto3** is not available, credentials must be provided using either environment variables or parameters.
+
+#### Example using environment variables
+
+Environment variable names are the same as documented for AWS CLI and SDK's.
+
+```shell
+export AWS_ACCESS_KEY_ID=MYACCESSKEY
+export AWS_SECRET_ACCESS_KEY=THISISSECRET
+export AWS_SESSION_TOKEN=THISISWHERETHESUPERLONGTOKENGOES
+```
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2') # If not provided, check for AWS Credentials from Environment Variables
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+#### Example using parameters
+
+Passing credentials as parameters overrides all other possible sources.
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2',
+ aws_access_key_id=ACCESS_KEY,
+ aws_secret_access_key=SECRET_KEY,
+ aws_session_token=SESSION_TOKEN,
+)
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+### Usage with Elasticsearch Client (elasticsearch-py)
+
+```python
+from elasticsearch import Elasticsearch, RequestsHttpConnection
+from requests_auth_aws_sigv4 import AWSSigV4
+
+es_host = 'search-service-foobar.us-east-1.es.amazonaws.com'
+aws_auth = AWSSigV4('es')
+
+# use the requests connection_class and pass in our custom auth class
+es_client = Elasticsearch(host=es_host,
+ port=80,
+ connection_class=RequestsHttpConnection,
+ http_auth=aws_auth)
+es_client.info()
+```
+
+### Debug Logging
+
+All log messages are at the module level.
+
+```python
+import logging
+logging.basicConfig() # Setup basic logging to stdout
+log = logging.getLogger('requests_auth_aws_sigv4')
+log.setLevel(logging.DEBUG)
+```
+
+## Command Line Usage
+
+The module can be run from the command line in a way that is similar to how cURL works.
+
+```shell
+$ python3 -m requests_auth_aws_sigv4 https://sampleapi.execute-api.us-east-1.amazonaws.com/test/ -v
+> GET /test/ HTTP/1.1
+> Host: sampleapi.execute-api.us-east-1.amazonaws.com
+> User-Agent: python-requests/2.23.0 auth-aws-sigv4/0.2
+> Accept-Encoding: gzip, deflate
+> Accept: */*
+> Connection: keep-alive
+> X-AMZ-Date: 20200513T180549Z
+> Authorization: AWS4-HMAC-SHA256 Credential=AKIASAMPLEKEYID/20200513/us-east-1/execute-api/aws4_request, SignedHeaders=host;x-amz-date, Signature=EXAMPLESIGNATUREISHERE
+>
+< HTTP/1.1 200 OK
+< Connection: keep-alive
+< Content-Length: 25
+< Content-Type: application/json
+< Date: Wed, 13 May 2020 18:05:49 GMT
+< Server: Server
+< x-amz-apigw-id: MeExampleiMFs99=
+< x-amzn-RequestId: 7example-7b7b-4343-9a9a-9bbexampleaf
+hello
+```
+
+## Temporary Security Credentials
+
+Credentials issued from [AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
+to grant temporary access can be used normally. Set the token by passing the `aws_session_token` parameter,
+setting the `AWS_SESSION_TOKEN` environment variable, or configure the credential for boto3 as normal.
+
+## Using boto3 (or botocore) for AWS Credentials
+
+The packages **boto3** and **botocore** are not requirements to use this module.
+As mentioned above, if **boto3** is available, a boto3.Session will be created to attempt to get credentials
+and configure the default region. This will happen automatically if credentials are not provided as parameters.
+
+
+
+
+
+%package -n python3-requests-auth-aws-sigv4
+Summary: AWS SigV4 Authentication with the python requests module
+Provides: python-requests-auth-aws-sigv4
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-requests-auth-aws-sigv4
+# requests-auth-aws-sigv4
+Use AWS signature version 4 Authentication with the python requests module
+
+This package provides an authentication class that can be used with the popular
+[requests](https://requests.readthedocs.io/en/master/) package to add the
+[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)
+authentication information.
+
+The signing code is inspired by the python example provided by AWS.
+
+This package should support any/all AWS API's, including API Gateway API's (execute-api),
+Elasticsearch clusters, and others. AWS Credentials may be pulled from the environment
+in an easy and familiar way.
+The signature is added as a header to the request.
+
+## Installation
+
+```
+pip install requests-auth-aws-sigv4
+```
+
+## Usage
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+r = requests.request('POST', 'https://sts.us-east-1.amazonaws.com',
+ data=dict(Version='2011-06-15', Action='GetCallerIdentity'),
+ auth=AWSSigV4('sts'))
+print(r.text)
+```
+
+If **boto3** is available, it will attempt to use credentials that have been configured for the AWS CLI or SDK's,
+as documented in [Boto3 User Guide: Credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#credentials).
+Otherwise, if **boto3** is not available, credentials must be provided using either environment variables or parameters.
+
+#### Example using environment variables
+
+Environment variable names are the same as documented for AWS CLI and SDK's.
+
+```shell
+export AWS_ACCESS_KEY_ID=MYACCESSKEY
+export AWS_SECRET_ACCESS_KEY=THISISSECRET
+export AWS_SESSION_TOKEN=THISISWHERETHESUPERLONGTOKENGOES
+```
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2') # If not provided, check for AWS Credentials from Environment Variables
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+#### Example using parameters
+
+Passing credentials as parameters overrides all other possible sources.
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2',
+ aws_access_key_id=ACCESS_KEY,
+ aws_secret_access_key=SECRET_KEY,
+ aws_session_token=SESSION_TOKEN,
+)
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+### Usage with Elasticsearch Client (elasticsearch-py)
+
+```python
+from elasticsearch import Elasticsearch, RequestsHttpConnection
+from requests_auth_aws_sigv4 import AWSSigV4
+
+es_host = 'search-service-foobar.us-east-1.es.amazonaws.com'
+aws_auth = AWSSigV4('es')
+
+# use the requests connection_class and pass in our custom auth class
+es_client = Elasticsearch(host=es_host,
+ port=80,
+ connection_class=RequestsHttpConnection,
+ http_auth=aws_auth)
+es_client.info()
+```
+
+### Debug Logging
+
+All log messages are at the module level.
+
+```python
+import logging
+logging.basicConfig() # Setup basic logging to stdout
+log = logging.getLogger('requests_auth_aws_sigv4')
+log.setLevel(logging.DEBUG)
+```
+
+## Command Line Usage
+
+The module can be run from the command line in a way that is similar to how cURL works.
+
+```shell
+$ python3 -m requests_auth_aws_sigv4 https://sampleapi.execute-api.us-east-1.amazonaws.com/test/ -v
+> GET /test/ HTTP/1.1
+> Host: sampleapi.execute-api.us-east-1.amazonaws.com
+> User-Agent: python-requests/2.23.0 auth-aws-sigv4/0.2
+> Accept-Encoding: gzip, deflate
+> Accept: */*
+> Connection: keep-alive
+> X-AMZ-Date: 20200513T180549Z
+> Authorization: AWS4-HMAC-SHA256 Credential=AKIASAMPLEKEYID/20200513/us-east-1/execute-api/aws4_request, SignedHeaders=host;x-amz-date, Signature=EXAMPLESIGNATUREISHERE
+>
+< HTTP/1.1 200 OK
+< Connection: keep-alive
+< Content-Length: 25
+< Content-Type: application/json
+< Date: Wed, 13 May 2020 18:05:49 GMT
+< Server: Server
+< x-amz-apigw-id: MeExampleiMFs99=
+< x-amzn-RequestId: 7example-7b7b-4343-9a9a-9bbexampleaf
+hello
+```
+
+## Temporary Security Credentials
+
+Credentials issued from [AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
+to grant temporary access can be used normally. Set the token by passing the `aws_session_token` parameter,
+setting the `AWS_SESSION_TOKEN` environment variable, or configure the credential for boto3 as normal.
+
+## Using boto3 (or botocore) for AWS Credentials
+
+The packages **boto3** and **botocore** are not requirements to use this module.
+As mentioned above, if **boto3** is available, a boto3.Session will be created to attempt to get credentials
+and configure the default region. This will happen automatically if credentials are not provided as parameters.
+
+
+
+
+
+%package help
+Summary: Development documents and examples for requests-auth-aws-sigv4
+Provides: python3-requests-auth-aws-sigv4-doc
+%description help
+# requests-auth-aws-sigv4
+Use AWS signature version 4 Authentication with the python requests module
+
+This package provides an authentication class that can be used with the popular
+[requests](https://requests.readthedocs.io/en/master/) package to add the
+[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)
+authentication information.
+
+The signing code is inspired by the python example provided by AWS.
+
+This package should support any/all AWS API's, including API Gateway API's (execute-api),
+Elasticsearch clusters, and others. AWS Credentials may be pulled from the environment
+in an easy and familiar way.
+The signature is added as a header to the request.
+
+## Installation
+
+```
+pip install requests-auth-aws-sigv4
+```
+
+## Usage
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+r = requests.request('POST', 'https://sts.us-east-1.amazonaws.com',
+ data=dict(Version='2011-06-15', Action='GetCallerIdentity'),
+ auth=AWSSigV4('sts'))
+print(r.text)
+```
+
+If **boto3** is available, it will attempt to use credentials that have been configured for the AWS CLI or SDK's,
+as documented in [Boto3 User Guide: Credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#credentials).
+Otherwise, if **boto3** is not available, credentials must be provided using either environment variables or parameters.
+
+#### Example using environment variables
+
+Environment variable names are the same as documented for AWS CLI and SDK's.
+
+```shell
+export AWS_ACCESS_KEY_ID=MYACCESSKEY
+export AWS_SECRET_ACCESS_KEY=THISISSECRET
+export AWS_SESSION_TOKEN=THISISWHERETHESUPERLONGTOKENGOES
+```
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2') # If not provided, check for AWS Credentials from Environment Variables
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+#### Example using parameters
+
+Passing credentials as parameters overrides all other possible sources.
+
+```python
+import requests
+from requests_auth_aws_sigv4 import AWSSigV4
+
+aws_auth = AWSSigV4('ec2',
+ aws_access_key_id=ACCESS_KEY,
+ aws_secret_access_key=SECRET_KEY,
+ aws_session_token=SESSION_TOKEN,
+)
+
+r = requests.request('GET', 'https://ec2.us-east-1.amazonaws.com?Version=2016-11-15&Action=DescribeRegions',
+ auth=aws_auth)
+print(r.text)
+```
+
+### Usage with Elasticsearch Client (elasticsearch-py)
+
+```python
+from elasticsearch import Elasticsearch, RequestsHttpConnection
+from requests_auth_aws_sigv4 import AWSSigV4
+
+es_host = 'search-service-foobar.us-east-1.es.amazonaws.com'
+aws_auth = AWSSigV4('es')
+
+# use the requests connection_class and pass in our custom auth class
+es_client = Elasticsearch(host=es_host,
+ port=80,
+ connection_class=RequestsHttpConnection,
+ http_auth=aws_auth)
+es_client.info()
+```
+
+### Debug Logging
+
+All log messages are at the module level.
+
+```python
+import logging
+logging.basicConfig() # Setup basic logging to stdout
+log = logging.getLogger('requests_auth_aws_sigv4')
+log.setLevel(logging.DEBUG)
+```
+
+## Command Line Usage
+
+The module can be run from the command line in a way that is similar to how cURL works.
+
+```shell
+$ python3 -m requests_auth_aws_sigv4 https://sampleapi.execute-api.us-east-1.amazonaws.com/test/ -v
+> GET /test/ HTTP/1.1
+> Host: sampleapi.execute-api.us-east-1.amazonaws.com
+> User-Agent: python-requests/2.23.0 auth-aws-sigv4/0.2
+> Accept-Encoding: gzip, deflate
+> Accept: */*
+> Connection: keep-alive
+> X-AMZ-Date: 20200513T180549Z
+> Authorization: AWS4-HMAC-SHA256 Credential=AKIASAMPLEKEYID/20200513/us-east-1/execute-api/aws4_request, SignedHeaders=host;x-amz-date, Signature=EXAMPLESIGNATUREISHERE
+>
+< HTTP/1.1 200 OK
+< Connection: keep-alive
+< Content-Length: 25
+< Content-Type: application/json
+< Date: Wed, 13 May 2020 18:05:49 GMT
+< Server: Server
+< x-amz-apigw-id: MeExampleiMFs99=
+< x-amzn-RequestId: 7example-7b7b-4343-9a9a-9bbexampleaf
+hello
+```
+
+## Temporary Security Credentials
+
+Credentials issued from [AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
+to grant temporary access can be used normally. Set the token by passing the `aws_session_token` parameter,
+setting the `AWS_SESSION_TOKEN` environment variable, or configure the credential for boto3 as normal.
+
+## Using boto3 (or botocore) for AWS Credentials
+
+The packages **boto3** and **botocore** are not requirements to use this module.
+As mentioned above, if **boto3** is available, a boto3.Session will be created to attempt to get credentials
+and configure the default region. This will happen automatically if credentials are not provided as parameters.
+
+
+
+
+
+%prep
+%autosetup -n requests-auth-aws-sigv4-0.7
+
+%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-requests-auth-aws-sigv4 -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..50def2c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ff5fc2e0288fa2d88d69967e51087377 requests-auth-aws-sigv4-0.7.tar.gz