summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 07:16:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 07:16:43 +0000
commit99ecfeff7b8d3a59e8cd353ae216eebf5349c98f (patch)
treefa730dcaa77e2488826753e90477a8d918bb6dc9
parent4dffad01ea939ae23591b1f3cf7bd2baa97af187 (diff)
automatic import of python-cdk-budget-notifier
-rw-r--r--.gitignore1
-rw-r--r--python-cdk-budget-notifier.spec338
-rw-r--r--sources1
3 files changed, 340 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5f9cc83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/cdk-budget-notifier-0.3.28.tar.gz
diff --git a/python-cdk-budget-notifier.spec b/python-cdk-budget-notifier.spec
new file mode 100644
index 0000000..c6ba833
--- /dev/null
+++ b/python-cdk-budget-notifier.spec
@@ -0,0 +1,338 @@
+%global _empty_manifest_terminate_build 0
+Name: python-cdk-budget-notifier
+Version: 0.3.28
+Release: 1
+Summary: A simple AWS budget notifier.
+License: Apache-2.0
+URL: https://github.com/stefanfreitag/cdk-budget-notifier.git
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/66/e7/324c9665e9dafd43c4eacec6b650516412a1286142c5084cc2d936a688d3/cdk-budget-notifier-0.3.28.tar.gz
+BuildArch: noarch
+
+Requires: python3-aws-cdk-lib
+Requires: python3-constructs
+Requires: python3-jsii
+Requires: python3-publication
+Requires: python3-typeguard
+
+%description
+# AWS Budget Notifier
+
+Setup a AWS Budget notification using AWS Cloud Development Kit (CDK).
+The construct supports notifying to
+
+* users via e-mail. Up to 10 e-mail addresses are supported
+* an SNS topic
+ The SNS topic needs to exist and publishing to the topic needs to be allowed.
+
+## Properties
+
+[API.md](API.md)
+
+## Example usages
+
+### Notification on breaching forecasted cost
+
+This example is handy for keeping control over your private AWS Bill.
+For myself I aim to not spent more than 10 Euro / 10 USD per month and this alarm
+reminds me.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+// Define the SNS topic and setup the resource policy
+const topic = new Topic(stack, "topic");
+
+const statement = new PolicyStatement({
+ effect: Effect.ALLOW,
+ principals: [new ServicePrincipal("budgets.amazonaws.com")],
+ actions: ["SNS:Publish"],
+ sid: "Allow budget to publish to SNS"
+});
+topic.addToResourcePolicy(statement);
+
+// Setup the budget notifier and pass the ARN of the SNS topic
+new BudgetNotifier(stack, "notifier", {
+ topicArn: topic.topicArn,
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ["eu-central-1"],
+ costCenter: "myCostCenter",
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: "USD",
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+### Notification via e-Mail
+
+As alternative to the notification via SNS you can specify a list of e-mail
+recipients.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+new BudgetNotifier(stack, 'notifier', {
+ recipients: ['john.doe@foo.bar'],
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ['eu-central-1'],
+ costCenter: 'MyCostCenter',
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: 'USD',
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+## Contributions
+
+<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --><!-- prettier-ignore-start --><!-- markdownlint-disable --><table>
+ <tr>
+ <td align="center"><a href="https://github.com/dedominicisfa"><img src="https://avatars.githubusercontent.com/u/23100791?v=4" width="100px;" alt=""/><br /><sub><b>dedominicisfa</b></sub></a></td>
+ <td align="center"><a href="http://p6m7g8.github.io"><img src="https://avatars.githubusercontent.com/u/34295?v=4" width="100px;" alt=""/><br /><sub><b>Philip M. Gollucci</b></sub></a></td>
+ </tr>
+</table><!-- markdownlint-restore --><!-- prettier-ignore-end --><!-- ALL-CONTRIBUTORS-LIST:END -->
+
+## Links
+
+* [AWS Cloud Development Kit (CDK)](https://github.com/aws/aws-cdk)
+* [Cost Explorer filters](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-filtering.html)
+
+
+%package -n python3-cdk-budget-notifier
+Summary: A simple AWS budget notifier.
+Provides: python-cdk-budget-notifier
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-cdk-budget-notifier
+# AWS Budget Notifier
+
+Setup a AWS Budget notification using AWS Cloud Development Kit (CDK).
+The construct supports notifying to
+
+* users via e-mail. Up to 10 e-mail addresses are supported
+* an SNS topic
+ The SNS topic needs to exist and publishing to the topic needs to be allowed.
+
+## Properties
+
+[API.md](API.md)
+
+## Example usages
+
+### Notification on breaching forecasted cost
+
+This example is handy for keeping control over your private AWS Bill.
+For myself I aim to not spent more than 10 Euro / 10 USD per month and this alarm
+reminds me.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+// Define the SNS topic and setup the resource policy
+const topic = new Topic(stack, "topic");
+
+const statement = new PolicyStatement({
+ effect: Effect.ALLOW,
+ principals: [new ServicePrincipal("budgets.amazonaws.com")],
+ actions: ["SNS:Publish"],
+ sid: "Allow budget to publish to SNS"
+});
+topic.addToResourcePolicy(statement);
+
+// Setup the budget notifier and pass the ARN of the SNS topic
+new BudgetNotifier(stack, "notifier", {
+ topicArn: topic.topicArn,
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ["eu-central-1"],
+ costCenter: "myCostCenter",
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: "USD",
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+### Notification via e-Mail
+
+As alternative to the notification via SNS you can specify a list of e-mail
+recipients.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+new BudgetNotifier(stack, 'notifier', {
+ recipients: ['john.doe@foo.bar'],
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ['eu-central-1'],
+ costCenter: 'MyCostCenter',
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: 'USD',
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+## Contributions
+
+<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --><!-- prettier-ignore-start --><!-- markdownlint-disable --><table>
+ <tr>
+ <td align="center"><a href="https://github.com/dedominicisfa"><img src="https://avatars.githubusercontent.com/u/23100791?v=4" width="100px;" alt=""/><br /><sub><b>dedominicisfa</b></sub></a></td>
+ <td align="center"><a href="http://p6m7g8.github.io"><img src="https://avatars.githubusercontent.com/u/34295?v=4" width="100px;" alt=""/><br /><sub><b>Philip M. Gollucci</b></sub></a></td>
+ </tr>
+</table><!-- markdownlint-restore --><!-- prettier-ignore-end --><!-- ALL-CONTRIBUTORS-LIST:END -->
+
+## Links
+
+* [AWS Cloud Development Kit (CDK)](https://github.com/aws/aws-cdk)
+* [Cost Explorer filters](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-filtering.html)
+
+
+%package help
+Summary: Development documents and examples for cdk-budget-notifier
+Provides: python3-cdk-budget-notifier-doc
+%description help
+# AWS Budget Notifier
+
+Setup a AWS Budget notification using AWS Cloud Development Kit (CDK).
+The construct supports notifying to
+
+* users via e-mail. Up to 10 e-mail addresses are supported
+* an SNS topic
+ The SNS topic needs to exist and publishing to the topic needs to be allowed.
+
+## Properties
+
+[API.md](API.md)
+
+## Example usages
+
+### Notification on breaching forecasted cost
+
+This example is handy for keeping control over your private AWS Bill.
+For myself I aim to not spent more than 10 Euro / 10 USD per month and this alarm
+reminds me.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+// Define the SNS topic and setup the resource policy
+const topic = new Topic(stack, "topic");
+
+const statement = new PolicyStatement({
+ effect: Effect.ALLOW,
+ principals: [new ServicePrincipal("budgets.amazonaws.com")],
+ actions: ["SNS:Publish"],
+ sid: "Allow budget to publish to SNS"
+});
+topic.addToResourcePolicy(statement);
+
+// Setup the budget notifier and pass the ARN of the SNS topic
+new BudgetNotifier(stack, "notifier", {
+ topicArn: topic.topicArn,
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ["eu-central-1"],
+ costCenter: "myCostCenter",
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: "USD",
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+### Notification via e-Mail
+
+As alternative to the notification via SNS you can specify a list of e-mail
+recipients.
+
+```python
+const app = new cdk.App();
+const stack = new Stack(app, "BudgetNotifierStack");
+
+new BudgetNotifier(stack, 'notifier', {
+ recipients: ['john.doe@foo.bar'],
+ // Filter on the availability zone `eu-central-1`
+ availabilityZones: ['eu-central-1'],
+ costCenter: 'MyCostCenter',
+ // Limit and unit defining the budget limit
+ limit: 10,
+ unit: 'USD',
+ // When breaching the threshold of 85% of the 10 USD notifications will be send out.
+ threshold: 85,
+ notificationType: NotificationType.FORECASTED,
+});
+```
+
+## Contributions
+
+<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --><!-- prettier-ignore-start --><!-- markdownlint-disable --><table>
+ <tr>
+ <td align="center"><a href="https://github.com/dedominicisfa"><img src="https://avatars.githubusercontent.com/u/23100791?v=4" width="100px;" alt=""/><br /><sub><b>dedominicisfa</b></sub></a></td>
+ <td align="center"><a href="http://p6m7g8.github.io"><img src="https://avatars.githubusercontent.com/u/34295?v=4" width="100px;" alt=""/><br /><sub><b>Philip M. Gollucci</b></sub></a></td>
+ </tr>
+</table><!-- markdownlint-restore --><!-- prettier-ignore-end --><!-- ALL-CONTRIBUTORS-LIST:END -->
+
+## Links
+
+* [AWS Cloud Development Kit (CDK)](https://github.com/aws/aws-cdk)
+* [Cost Explorer filters](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-filtering.html)
+
+
+%prep
+%autosetup -n cdk-budget-notifier-0.3.28
+
+%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-cdk-budget-notifier -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.28-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..a494bd8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+3c61f575c30f79905d2419a335de43e2 cdk-budget-notifier-0.3.28.tar.gz