summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 06:03:13 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 06:03:13 +0000
commitfdeec11835fdd2b0fee36d1d10c7a15c7e833988 (patch)
tree892d60044954ac3202459f800d836e028f070abc
parent0e517601e5b39fe3801d47f6040c3f03aa77f62b (diff)
automatic import of python-pspring-aws
-rw-r--r--.gitignore1
-rw-r--r--python-pspring-aws.spec446
-rw-r--r--sources1
3 files changed, 448 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..024ca2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pspring-aws-0.0.44.tar.gz
diff --git a/python-pspring-aws.spec b/python-pspring-aws.spec
new file mode 100644
index 0000000..e612251
--- /dev/null
+++ b/python-pspring-aws.spec
@@ -0,0 +1,446 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pspring-aws
+Version: 0.0.44
+Release: 1
+Summary: A framework to do a better development.
+License: TBD
+URL: https://github.com/vasudevan-palani/pspring-aws
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/6c/1f51e4f5186a26a462265d9742fab24b64465fb1b3b3c359224e461d1aac/pspring-aws-0.0.44.tar.gz
+BuildArch: noarch
+
+Requires: python3-boto3
+Requires: python3-pspring
+Requires: python3-realtime-aws-secretsmngr
+Requires: python3-PyYAML
+Requires: python3-moto
+
+%description
+# pspring-aws
+
+This framework is member of pspring based family of frameworks. It provides a means to access aws resources with minimal code. `boto3` library is used internally for http requests.
+
+All the default variables are listed in defaultvars.py
+
+Annotations / Decorators that come along with this framework are listed below
+
+* `@SecretValue(name="",region="",column="",columns=[])`
+
+ This is a class decorator can be used to retrieve value of secret in AWS secrets manager. We could also specify a list of columns or a single column name from the secret response to be retrived. A method named "getSecretValue" will be available on the class.
+
+* `@DynamoDBTable(tableName="",primaryKey="",sortKey="",ttlColumnName="",ttl="")`
+
+ This is a class decorator which can be tagged with a dynamodb table. Once tagged with this decorator, the class will have implementations of `get` and `put` methods.
+ `get(self,primaryKey,sortKey="",columns="",column="")` method can be used to retrive only specific columns
+ `put(self,data)` can be used to insert data
+
+* `@LambdaHandler(type="lambdaproxy")`
+
+ This is a class decorator which provides below functionalities. You should implement "handler" method which will be enhanced
+ 1) debug,info,warn,error - This will log a message will required tracking fields like requestId etc.
+ 2) handle cold start requests with requestId = "COLD_START_WARMER"
+ 3) addToLogger method can be used to add a field to all logging messages.
+ 4) returns a 200 response along with the dictionary returned from the "handler" method as json.
+ 5) handles all exceptions and returns gracefully a 500 Internal server error.
+
+
+Below exceptions are available from this framework
+
+- LambdaException
+- NotFoundException
+- UnAuthorizedException
+- InternalServerException
+- CreatedException
+- RedirectException
+
+* `RealTimeSecretsMgrConfigProvider`
+
+ This along with https://github.com/vasudevan-palani/appsync-client.git works as a real time secrets manager ( what this means is, you will get notified about the changes to secrets mngr's value as a push event )
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ RealTimeSecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+* `SecretsMgrConfigProvider`
+
+ ConfigurationProvider for secrets manager in aws to work alongside pspring.Configuration
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ SecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+
+* `SecretsManager`
+
+ Utility class to interact with aws secrets manager encapsulating the boiler plate code
+ ```python
+ from pspringaws import SecretsManager
+
+ secretsmngr = SecretsManager(secretId="mysecretId")
+
+ secretsmngr.getSecretValue()
+
+ ```
+
+* `DynamoDBTable`
+
+ Utility class to interact with aws dynamodb encapsulating the boiler plate code
+ ```python
+ from pspringaws import DynamoDBTable
+
+ secretsmngr = DynamoDBTable(tableName="mytable",primaryKey="primaryKey",sortKey="sortKey")
+
+ item = secretsmngr.get("primaryKeyValue")
+
+ item = secretsmngr.put(primaryKeyValue,item)
+
+ ```
+
+Example:
+
+```python
+
+from pspring import *
+from pspringaws import *
+
+
+@LambdaHandler()
+class MyHandler():
+ @Autowired()
+ def __init__(self,customerbackend:CustomerBackend, cache:DataCache):
+ self.customerbackend = customerbackend
+ self.cache = cache
+
+ def handler(self,event,context):
+ return self.customerbackend(...)
+
+context.initialize()
+newhandler = MyHandler()
+def handler(event,context):
+ return newhandler.handler(event,context)
+```
+
+ To do:
+
+ * Support Lambda integration types
+
+
+
+
+%package -n python3-pspring-aws
+Summary: A framework to do a better development.
+Provides: python-pspring-aws
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pspring-aws
+# pspring-aws
+
+This framework is member of pspring based family of frameworks. It provides a means to access aws resources with minimal code. `boto3` library is used internally for http requests.
+
+All the default variables are listed in defaultvars.py
+
+Annotations / Decorators that come along with this framework are listed below
+
+* `@SecretValue(name="",region="",column="",columns=[])`
+
+ This is a class decorator can be used to retrieve value of secret in AWS secrets manager. We could also specify a list of columns or a single column name from the secret response to be retrived. A method named "getSecretValue" will be available on the class.
+
+* `@DynamoDBTable(tableName="",primaryKey="",sortKey="",ttlColumnName="",ttl="")`
+
+ This is a class decorator which can be tagged with a dynamodb table. Once tagged with this decorator, the class will have implementations of `get` and `put` methods.
+ `get(self,primaryKey,sortKey="",columns="",column="")` method can be used to retrive only specific columns
+ `put(self,data)` can be used to insert data
+
+* `@LambdaHandler(type="lambdaproxy")`
+
+ This is a class decorator which provides below functionalities. You should implement "handler" method which will be enhanced
+ 1) debug,info,warn,error - This will log a message will required tracking fields like requestId etc.
+ 2) handle cold start requests with requestId = "COLD_START_WARMER"
+ 3) addToLogger method can be used to add a field to all logging messages.
+ 4) returns a 200 response along with the dictionary returned from the "handler" method as json.
+ 5) handles all exceptions and returns gracefully a 500 Internal server error.
+
+
+Below exceptions are available from this framework
+
+- LambdaException
+- NotFoundException
+- UnAuthorizedException
+- InternalServerException
+- CreatedException
+- RedirectException
+
+* `RealTimeSecretsMgrConfigProvider`
+
+ This along with https://github.com/vasudevan-palani/appsync-client.git works as a real time secrets manager ( what this means is, you will get notified about the changes to secrets mngr's value as a push event )
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ RealTimeSecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+* `SecretsMgrConfigProvider`
+
+ ConfigurationProvider for secrets manager in aws to work alongside pspring.Configuration
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ SecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+
+* `SecretsManager`
+
+ Utility class to interact with aws secrets manager encapsulating the boiler plate code
+ ```python
+ from pspringaws import SecretsManager
+
+ secretsmngr = SecretsManager(secretId="mysecretId")
+
+ secretsmngr.getSecretValue()
+
+ ```
+
+* `DynamoDBTable`
+
+ Utility class to interact with aws dynamodb encapsulating the boiler plate code
+ ```python
+ from pspringaws import DynamoDBTable
+
+ secretsmngr = DynamoDBTable(tableName="mytable",primaryKey="primaryKey",sortKey="sortKey")
+
+ item = secretsmngr.get("primaryKeyValue")
+
+ item = secretsmngr.put(primaryKeyValue,item)
+
+ ```
+
+Example:
+
+```python
+
+from pspring import *
+from pspringaws import *
+
+
+@LambdaHandler()
+class MyHandler():
+ @Autowired()
+ def __init__(self,customerbackend:CustomerBackend, cache:DataCache):
+ self.customerbackend = customerbackend
+ self.cache = cache
+
+ def handler(self,event,context):
+ return self.customerbackend(...)
+
+context.initialize()
+newhandler = MyHandler()
+def handler(event,context):
+ return newhandler.handler(event,context)
+```
+
+ To do:
+
+ * Support Lambda integration types
+
+
+
+
+%package help
+Summary: Development documents and examples for pspring-aws
+Provides: python3-pspring-aws-doc
+%description help
+# pspring-aws
+
+This framework is member of pspring based family of frameworks. It provides a means to access aws resources with minimal code. `boto3` library is used internally for http requests.
+
+All the default variables are listed in defaultvars.py
+
+Annotations / Decorators that come along with this framework are listed below
+
+* `@SecretValue(name="",region="",column="",columns=[])`
+
+ This is a class decorator can be used to retrieve value of secret in AWS secrets manager. We could also specify a list of columns or a single column name from the secret response to be retrived. A method named "getSecretValue" will be available on the class.
+
+* `@DynamoDBTable(tableName="",primaryKey="",sortKey="",ttlColumnName="",ttl="")`
+
+ This is a class decorator which can be tagged with a dynamodb table. Once tagged with this decorator, the class will have implementations of `get` and `put` methods.
+ `get(self,primaryKey,sortKey="",columns="",column="")` method can be used to retrive only specific columns
+ `put(self,data)` can be used to insert data
+
+* `@LambdaHandler(type="lambdaproxy")`
+
+ This is a class decorator which provides below functionalities. You should implement "handler" method which will be enhanced
+ 1) debug,info,warn,error - This will log a message will required tracking fields like requestId etc.
+ 2) handle cold start requests with requestId = "COLD_START_WARMER"
+ 3) addToLogger method can be used to add a field to all logging messages.
+ 4) returns a 200 response along with the dictionary returned from the "handler" method as json.
+ 5) handles all exceptions and returns gracefully a 500 Internal server error.
+
+
+Below exceptions are available from this framework
+
+- LambdaException
+- NotFoundException
+- UnAuthorizedException
+- InternalServerException
+- CreatedException
+- RedirectException
+
+* `RealTimeSecretsMgrConfigProvider`
+
+ This along with https://github.com/vasudevan-palani/appsync-client.git works as a real time secrets manager ( what this means is, you will get notified about the changes to secrets mngr's value as a push event )
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ RealTimeSecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+* `SecretsMgrConfigProvider`
+
+ ConfigurationProvider for secrets manager in aws to work alongside pspring.Configuration
+
+ ```python
+ from pspring import Configuration
+
+ config = Configuration.getConfig(__name__)
+
+ Configuration.initializer([
+ SecretsMgrConfigProvider(secretId="mysecretId",region="us-east-1")
+ ])
+
+ ```
+
+
+* `SecretsManager`
+
+ Utility class to interact with aws secrets manager encapsulating the boiler plate code
+ ```python
+ from pspringaws import SecretsManager
+
+ secretsmngr = SecretsManager(secretId="mysecretId")
+
+ secretsmngr.getSecretValue()
+
+ ```
+
+* `DynamoDBTable`
+
+ Utility class to interact with aws dynamodb encapsulating the boiler plate code
+ ```python
+ from pspringaws import DynamoDBTable
+
+ secretsmngr = DynamoDBTable(tableName="mytable",primaryKey="primaryKey",sortKey="sortKey")
+
+ item = secretsmngr.get("primaryKeyValue")
+
+ item = secretsmngr.put(primaryKeyValue,item)
+
+ ```
+
+Example:
+
+```python
+
+from pspring import *
+from pspringaws import *
+
+
+@LambdaHandler()
+class MyHandler():
+ @Autowired()
+ def __init__(self,customerbackend:CustomerBackend, cache:DataCache):
+ self.customerbackend = customerbackend
+ self.cache = cache
+
+ def handler(self,event,context):
+ return self.customerbackend(...)
+
+context.initialize()
+newhandler = MyHandler()
+def handler(event,context):
+ return newhandler.handler(event,context)
+```
+
+ To do:
+
+ * Support Lambda integration types
+
+
+
+
+%prep
+%autosetup -n pspring-aws-0.0.44
+
+%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-pspring-aws -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.44-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..651e23f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6155d0f7425b9373750ceeead31f8d20 pspring-aws-0.0.44.tar.gz