From 7f8efd9f8b47b4b372c633594cc49e8c6389e719 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 15 May 2023 05:41:08 +0000 Subject: automatic import of python-hass-splunk --- python-hass-splunk.spec | 243 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 python-hass-splunk.spec (limited to 'python-hass-splunk.spec') diff --git a/python-hass-splunk.spec b/python-hass-splunk.spec new file mode 100644 index 0000000..170b185 --- /dev/null +++ b/python-hass-splunk.spec @@ -0,0 +1,243 @@ +%global _empty_manifest_terminate_build 0 +Name: python-hass-splunk +Version: 0.1.2 +Release: 1 +Summary: Async single threaded connector to Splunk HEC using an asyncio session +License: MIT License +URL: https://github.com/Bre77/hass_splunk +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c5/53/17b6e7952723c71f70cb455ec9d4f9b54414d2d9ea0fb147846a1980a0dc/hass_splunk-0.1.2.tar.gz +BuildArch: noarch + + +%description +# Splunk HEC for Home Assistant + +A Splunk HTTP Event Collector library that follows best practices by opening a single connection to Splunk, and reuses it. When sending large or high volumes of events, or Splunk is slow, the events are batched together. This also allows events to be resent in the case of failures, as they are simply returned to the queue. + +Requires you create an aiohttp Client Session, or reuse your applications existing one. From Home Assistant this would be `homeassistant.helpers.aiohttp_client.async_get_clientsession` + +## Methods + +### hass_splunk(session,token,host,port=8088,use_ssl=True,verify_ssl=True,endpoint="collector/event",timeout=5) + +Session, token, and host are required, all other parameters are optional, and will be set to defaults shown. + +### check(connectivity=True, token=True, busy=True) + +Returns True if the parameter conditions are okay, False if any fail or any other error is raised. You can selectively ignore certain conditions by setting them to False. + +### queue(payload, send=True) + +The String or Dictionary to be sent to Splunk. By default it will be sent as soon as possible, but you can instead set send=False and it only be queued. + +### send() + +The sends whatever data is in the queue, is what queue() uses internally when send=True. + +## Example + +```{.python} +import asyncio +import aiohttp +import time +from hass_splunk import hass_splunk + + +async def main(): + async with aiohttp.ClientSession() as session: + splunk = hass_splunk( + session=session, + host="http-inputs-stack.splunkcloud.com", + use_ssl=True, + verify_ssl=True, + token="private", + ) + print(await splunk.check(connectivity=True, token=True, busy=True)) + await splunk.queue( + { + "time": time.time(), + "host": "name", + "event": { + "meta": "TEST", + }, + }, + send=False, + ) + await splunk.send() + +asyncio.run(main()) +``` + + +%package -n python3-hass-splunk +Summary: Async single threaded connector to Splunk HEC using an asyncio session +Provides: python-hass-splunk +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-hass-splunk +# Splunk HEC for Home Assistant + +A Splunk HTTP Event Collector library that follows best practices by opening a single connection to Splunk, and reuses it. When sending large or high volumes of events, or Splunk is slow, the events are batched together. This also allows events to be resent in the case of failures, as they are simply returned to the queue. + +Requires you create an aiohttp Client Session, or reuse your applications existing one. From Home Assistant this would be `homeassistant.helpers.aiohttp_client.async_get_clientsession` + +## Methods + +### hass_splunk(session,token,host,port=8088,use_ssl=True,verify_ssl=True,endpoint="collector/event",timeout=5) + +Session, token, and host are required, all other parameters are optional, and will be set to defaults shown. + +### check(connectivity=True, token=True, busy=True) + +Returns True if the parameter conditions are okay, False if any fail or any other error is raised. You can selectively ignore certain conditions by setting them to False. + +### queue(payload, send=True) + +The String or Dictionary to be sent to Splunk. By default it will be sent as soon as possible, but you can instead set send=False and it only be queued. + +### send() + +The sends whatever data is in the queue, is what queue() uses internally when send=True. + +## Example + +```{.python} +import asyncio +import aiohttp +import time +from hass_splunk import hass_splunk + + +async def main(): + async with aiohttp.ClientSession() as session: + splunk = hass_splunk( + session=session, + host="http-inputs-stack.splunkcloud.com", + use_ssl=True, + verify_ssl=True, + token="private", + ) + print(await splunk.check(connectivity=True, token=True, busy=True)) + await splunk.queue( + { + "time": time.time(), + "host": "name", + "event": { + "meta": "TEST", + }, + }, + send=False, + ) + await splunk.send() + +asyncio.run(main()) +``` + + +%package help +Summary: Development documents and examples for hass-splunk +Provides: python3-hass-splunk-doc +%description help +# Splunk HEC for Home Assistant + +A Splunk HTTP Event Collector library that follows best practices by opening a single connection to Splunk, and reuses it. When sending large or high volumes of events, or Splunk is slow, the events are batched together. This also allows events to be resent in the case of failures, as they are simply returned to the queue. + +Requires you create an aiohttp Client Session, or reuse your applications existing one. From Home Assistant this would be `homeassistant.helpers.aiohttp_client.async_get_clientsession` + +## Methods + +### hass_splunk(session,token,host,port=8088,use_ssl=True,verify_ssl=True,endpoint="collector/event",timeout=5) + +Session, token, and host are required, all other parameters are optional, and will be set to defaults shown. + +### check(connectivity=True, token=True, busy=True) + +Returns True if the parameter conditions are okay, False if any fail or any other error is raised. You can selectively ignore certain conditions by setting them to False. + +### queue(payload, send=True) + +The String or Dictionary to be sent to Splunk. By default it will be sent as soon as possible, but you can instead set send=False and it only be queued. + +### send() + +The sends whatever data is in the queue, is what queue() uses internally when send=True. + +## Example + +```{.python} +import asyncio +import aiohttp +import time +from hass_splunk import hass_splunk + + +async def main(): + async with aiohttp.ClientSession() as session: + splunk = hass_splunk( + session=session, + host="http-inputs-stack.splunkcloud.com", + use_ssl=True, + verify_ssl=True, + token="private", + ) + print(await splunk.check(connectivity=True, token=True, busy=True)) + await splunk.queue( + { + "time": time.time(), + "host": "name", + "event": { + "meta": "TEST", + }, + }, + send=False, + ) + await splunk.send() + +asyncio.run(main()) +``` + + +%prep +%autosetup -n hass-splunk-0.1.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-hass-splunk -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot - 0.1.2-1 +- Package Spec generated -- cgit v1.2.3