From cc0e3b8e100380a084f9c94b87f92940d5923c85 Mon Sep 17 00:00:00 2001 From: AlteredCoder <64792091+AlteredCoder@users.noreply.github.com> Date: Tue, 21 Apr 2026 09:59:07 +0000 Subject: [PATCH] Update python SDK v0.15.27 --- .../__pycache__/__init__.cpython-311.pyc | Bin 4946 -> 4946 bytes .../__pycache__/base_model.cpython-311.pyc | Bin 4370 -> 4370 bytes .../__pycache__/http_client.cpython-311.pyc | Bin 7760 -> 7760 bytes .../__pycache__/models.cpython-311.pyc | Bin 149055 -> 149348 bytes crowdsec_service_api/models.py | 7 ++- .../__pycache__/__init__.cpython-311.pyc | Bin 199 -> 199 bytes .../__pycache__/allowlists.cpython-311.pyc | Bin 12910 -> 12910 bytes .../__pycache__/blocklists.cpython-311.pyc | Bin 15114 -> 15114 bytes .../services/__pycache__/cves.cpython-311.pyc | Bin 11005 -> 11005 bytes .../__pycache__/decisions.cpython-311.pyc | Bin 3660 -> 3660 bytes .../__pycache__/fingerprints.cpython-311.pyc | Bin 10911 -> 10911 bytes .../services/__pycache__/hub.cpython-311.pyc | Bin 3270 -> 3270 bytes .../services/__pycache__/info.cpython-311.pyc | Bin 2028 -> 2028 bytes .../__pycache__/integrations.cpython-311.pyc | Bin 8068 -> 8068 bytes .../__pycache__/metrics.cpython-311.pyc | Bin 2600 -> 2600 bytes .../__pycache__/products.cpython-311.pyc | Bin 3775 -> 3775 bytes .../tracker_events.cpython-311.pyc | Bin 2907 -> 2907 bytes .../__pycache__/tracker_tags.cpython-311.pyc | Bin 5691 -> 5691 bytes .../__pycache__/vendors.cpython-311.pyc | Bin 10344 -> 10344 bytes crowdsec_service_api/services/allowlists.py | 2 +- crowdsec_service_api/services/blocklists.py | 2 +- crowdsec_service_api/services/cves.py | 2 +- crowdsec_service_api/services/decisions.py | 2 +- crowdsec_service_api/services/fingerprints.py | 2 +- crowdsec_service_api/services/hub.py | 2 +- crowdsec_service_api/services/info.py | 2 +- crowdsec_service_api/services/integrations.py | 2 +- crowdsec_service_api/services/metrics.py | 2 +- crowdsec_service_api/services/products.py | 2 +- .../services/tracker_events.py | 2 +- crowdsec_service_api/services/tracker_tags.py | 2 +- crowdsec_service_api/services/vendors.py | 2 +- public-openapi.json | 46 +++++++++++++++--- pyproject.toml | 2 +- uv.lock | 2 +- 35 files changed, 61 insertions(+), 22 deletions(-) diff --git a/crowdsec_service_api/__pycache__/__init__.cpython-311.pyc b/crowdsec_service_api/__pycache__/__init__.cpython-311.pyc index 163833128b3d84b09ebdf0faece86a7e81a98355..d3d1d4313e63c0a83e387dd60f82cbd9860936fd 100644 GIT binary patch delta 19 Zcmcblc1ewEIWI340}!NoZRGM01^_i@1d9Lw delta 19 Zcmcblc1ewEIWI340}xDh+{oo23;;Gx1h4=A diff --git a/crowdsec_service_api/__pycache__/base_model.cpython-311.pyc b/crowdsec_service_api/__pycache__/base_model.cpython-311.pyc index 20476fbbd38df73fef49d875e9b27b16023ef750..8c72c11be44fc0c35f7e747c0ae56db20fc89b14 100644 GIT binary patch delta 19 ZcmbQFG)akTIWI340}upwZRFw*1OO`E1FQf5 delta 19 ZcmbQFG)akTIWI340}wPgZsg(+1OO}21JeKi diff --git a/crowdsec_service_api/__pycache__/http_client.cpython-311.pyc b/crowdsec_service_api/__pycache__/http_client.cpython-311.pyc index d4fd3942ca303cfa7c5b4da3e0ae730f52566507..72fae77d940cdb4582d7c0aaede9b80cb69a73f7 100644 GIT binary patch delta 19 Zcmca$bHRpdIWI340}upwZRB#30{}Oa1g8K1 delta 19 Zcmca$bHRpdIWI340}wPgZsc;40{}RO1kL~e diff --git a/crowdsec_service_api/__pycache__/models.cpython-311.pyc b/crowdsec_service_api/__pycache__/models.cpython-311.pyc index aa2975956d24551ca8e4a277f2124e4e271e9716..158db5d4c65033435cfee091c400bc947ef1daaa 100644 GIT binary patch delta 2226 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 diff --git a/crowdsec_service_api/models.py b/crowdsec_service_api/models.py index 72bb22c..a7277ce 100644 --- a/crowdsec_service_api/models.py +++ b/crowdsec_service_api/models.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: # filename: -# timestamp: 2026-04-21T09:21:23+00:00 +# timestamp: 2026-04-21T09:59:01+00:00 from __future__ import annotations @@ -1017,6 +1017,7 @@ class ThreatContext(BaseModelSdk): Optional[Dict[str, int]], Field( description='Attacker country distribution (country code → count)', + examples=[{'FR': 18, 'NL': 23, 'US': 36}], title='Attacker Countries', ), ] = None @@ -1024,6 +1025,7 @@ class ThreatContext(BaseModelSdk): Optional[Dict[str, int]], Field( description='Defender country distribution (country code → count)', + examples=[{'BE': 13, 'FR': 22, 'NL': 22}], title='Defender Countries', ), ] = None @@ -1031,6 +1033,7 @@ class ThreatContext(BaseModelSdk): Optional[Dict[str, int]], Field( description='Industry type distribution (type → count)', + examples=[{'commerce': 65, 'government': 5, 'non_profit': 30}], title='Industry Types', ), ] = None @@ -1038,6 +1041,7 @@ class ThreatContext(BaseModelSdk): Optional[Dict[str, int]], Field( description='Industry risk profile distribution (profile → count)', + examples=[{'SOHO': 25, 'public_service': 10, 'technology_business': 65}], title='Industry Risk Profiles', ), ] = None @@ -1045,6 +1049,7 @@ class ThreatContext(BaseModelSdk): Optional[Dict[str, int]], Field( description='Attacker objective distribution (objective → count)', + examples=[{'data_exfiltration': 10, 'infrastructure_takeover': 90}], title='Attacker Objectives', ), ] = None diff --git a/crowdsec_service_api/services/__pycache__/__init__.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/__init__.cpython-311.pyc index c6a195485a921a398d492e3c22dc5b9a5c1e8b3e..d2dfe148c81478fff8030b3fbfe23cab541cafd5 100644 GIT binary patch delta 18 YcmX@kc$|@IIWI340}upwP2}1O04j0>SO5S3 delta 18 YcmX@kc$|@IIWI340}wPgPUPAP04qKOe*gdg diff --git a/crowdsec_service_api/services/__pycache__/allowlists.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/allowlists.cpython-311.pyc index 6ea5649913ece2d4af0471a95e6407b7f34cbbfa..40964ee00d89ea89ed478d07f02c4219cca34406 100644 GIT binary patch delta 26 gcmaEt@-BsIIWI340}!NoZRAR2W;EYi!2C}S0B@8B)&Kwi delta 26 gcmaEt@-BsIIWI340}xDh+{l&6%xJc`fcc*u0C9K+`Tzg` diff --git a/crowdsec_service_api/services/__pycache__/blocklists.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/blocklists.cpython-311.pyc index 3e7126a554c5292b40196089aaca9ec996dcb5c8..5afdc91c61eeeb2564b0fa16d448c30ee83b6b34 100644 GIT binary patch delta 26 gcmeAw>nh_~&dbZi00gOC8@Zk`Gn#Myz$|4B0Awu(R{#J2 delta 26 gcmeAw>nh_~&dbZi00fgAH*!5?W;EOUfmzBN0A>*fdjJ3c diff --git a/crowdsec_service_api/services/__pycache__/cves.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/cves.cpython-311.pyc index 9a076996aa71f12300f767d7e98a2145c0fd4f9b..774f7aa5adeab5fdc6f15f9b82fd8d6fa90c1eb8 100644 GIT binary patch delta 26 gcmewx`ZttoIWI340}!NoZRFa?%xJ#(2(zU+0CHsqvH$=8 delta 26 gcmewx`ZttoIWI340}xDh+{m?)nbBjb4G@1IWI340}!NoZR8SQW;EX{&1}dG099fIXaE2J delta 26 gcmX>jb4G@1IWI340}xDh+{h)s%xJb*n%R&W09Qr@i~s-t diff --git a/crowdsec_service_api/services/__pycache__/fingerprints.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/fingerprints.cpython-311.pyc index 100a01d31e4050bf875ca352f04a4837bf25920c..b9eea127a5b59d1762233432a93dda1382ab1de8 100644 GIT binary patch delta 26 gcmbOqIzNmc}$XPIWI340}!NoZRBcTVl>~}&1B6509jrJJpcdz delta 26 gcmX>mc}$XPIWI340}xDh+{o3y#Avp;o5`9B09!%^VE_OC diff --git a/crowdsec_service_api/services/__pycache__/info.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/info.cpython-311.pyc index 431d4d1996f576be20f996bf812295e05c94fe5e..c2b5b1a9a34a56963fb52312df4d2f1ffa179032 100644 GIT binary patch delta 26 gcmaFE|AwDyIWI340}!NoZRCn&Vl>~J!PLSE09~*Ka{vGU delta 26 gcmaFE|AwDyIWI340}xDh+{hKn#AvoTgQvOGHB&7+093OEb^rhX delta 26 gcmZ1>vOiP3EHeWn@?0Ar8`YybcN diff --git a/crowdsec_service_api/services/__pycache__/tracker_tags.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/tracker_tags.cpython-311.pyc index 0b93d873302031eef7a6f1bc852dabce0e225960..3075ba63197dce103b49787dbf7a2506c15bcd5a 100644 GIT binary patch delta 26 gcmdn3vs;I2IWI340}!NoZRDz9W;Ea2&b&nk09%;`$N&HU delta 26 gcmdn3vs;I2IWI340}xDh+{jhK%xJc`oq3B809}0s>;M1& diff --git a/crowdsec_service_api/services/__pycache__/vendors.cpython-311.pyc b/crowdsec_service_api/services/__pycache__/vendors.cpython-311.pyc index fc8e30251a829f7d23890d38306f61a942afd774..bbd29e679a55f594952f69789c1dd8d745ed054d 100644 GIT binary patch delta 26 gcmaD6@FIX~IWI340}!NoZR9$~%xJ#(CUd_E0B;os`v3p{ delta 26 gcmaD6@FIX~IWI340}xDh+{kr~nbBOV diff --git a/crowdsec_service_api/services/allowlists.py b/crowdsec_service_api/services/allowlists.py index 8076a5e..5db227b 100644 --- a/crowdsec_service_api/services/allowlists.py +++ b/crowdsec_service_api/services/allowlists.py @@ -11,7 +11,7 @@ class Allowlists(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def list_allowlists( self, diff --git a/crowdsec_service_api/services/blocklists.py b/crowdsec_service_api/services/blocklists.py index 65bf0d6..4d8f2b9 100644 --- a/crowdsec_service_api/services/blocklists.py +++ b/crowdsec_service_api/services/blocklists.py @@ -11,7 +11,7 @@ class Blocklists(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_blocklists( self, diff --git a/crowdsec_service_api/services/cves.py b/crowdsec_service_api/services/cves.py index b0d0745..3932698 100644 --- a/crowdsec_service_api/services/cves.py +++ b/crowdsec_service_api/services/cves.py @@ -11,7 +11,7 @@ class Cves(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_cves( self, diff --git a/crowdsec_service_api/services/decisions.py b/crowdsec_service_api/services/decisions.py index 077a642..d178bd6 100644 --- a/crowdsec_service_api/services/decisions.py +++ b/crowdsec_service_api/services/decisions.py @@ -11,7 +11,7 @@ class Decisions(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_decisions( self, diff --git a/crowdsec_service_api/services/fingerprints.py b/crowdsec_service_api/services/fingerprints.py index 25d9ac6..886f652 100644 --- a/crowdsec_service_api/services/fingerprints.py +++ b/crowdsec_service_api/services/fingerprints.py @@ -11,7 +11,7 @@ class Fingerprints(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_fingerprint_rules( self, diff --git a/crowdsec_service_api/services/hub.py b/crowdsec_service_api/services/hub.py index d488520..5ed41ca 100644 --- a/crowdsec_service_api/services/hub.py +++ b/crowdsec_service_api/services/hub.py @@ -11,7 +11,7 @@ class Hub(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_index( self, diff --git a/crowdsec_service_api/services/info.py b/crowdsec_service_api/services/info.py index 9137d39..53d3dc8 100644 --- a/crowdsec_service_api/services/info.py +++ b/crowdsec_service_api/services/info.py @@ -11,7 +11,7 @@ class Info(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_info( self, diff --git a/crowdsec_service_api/services/integrations.py b/crowdsec_service_api/services/integrations.py index d5e2589..957c91b 100644 --- a/crowdsec_service_api/services/integrations.py +++ b/crowdsec_service_api/services/integrations.py @@ -11,7 +11,7 @@ class Integrations(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_integrations( self, diff --git a/crowdsec_service_api/services/metrics.py b/crowdsec_service_api/services/metrics.py index df84939..46eb3e8 100644 --- a/crowdsec_service_api/services/metrics.py +++ b/crowdsec_service_api/services/metrics.py @@ -11,7 +11,7 @@ class Metrics(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_metrics_remediation( self, diff --git a/crowdsec_service_api/services/products.py b/crowdsec_service_api/services/products.py index 02e32df..6a79d78 100644 --- a/crowdsec_service_api/services/products.py +++ b/crowdsec_service_api/services/products.py @@ -11,7 +11,7 @@ class Products(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_products( self, diff --git a/crowdsec_service_api/services/tracker_events.py b/crowdsec_service_api/services/tracker_events.py index eddace0..2636ea2 100644 --- a/crowdsec_service_api/services/tracker_events.py +++ b/crowdsec_service_api/services/tracker_events.py @@ -11,7 +11,7 @@ class TrackerEvents(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_exploitation_phase_change_events( self, diff --git a/crowdsec_service_api/services/tracker_tags.py b/crowdsec_service_api/services/tracker_tags.py index 5485b3f..1379898 100644 --- a/crowdsec_service_api/services/tracker_tags.py +++ b/crowdsec_service_api/services/tracker_tags.py @@ -11,7 +11,7 @@ class TrackerTags(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_tags( self, diff --git a/crowdsec_service_api/services/vendors.py b/crowdsec_service_api/services/vendors.py index c5ae5fb..41f8520 100644 --- a/crowdsec_service_api/services/vendors.py +++ b/crowdsec_service_api/services/vendors.py @@ -11,7 +11,7 @@ class Vendors(Service): def __init__(self, auth: Auth, base_url: str = "https://admin.api.crowdsec.net/v1") -> None: - super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.26") + super().__init__(base_url=base_url, auth=auth, user_agent="crowdsec_service_api/v0.15.27") def get_vendors( self, diff --git a/public-openapi.json b/public-openapi.json index 0492c9e..f25f3b5 100644 --- a/public-openapi.json +++ b/public-openapi.json @@ -3,7 +3,7 @@ "info": { "title": "Service API", "description": "This is the API to manage Crowdsec services", - "version": "1.70.4", + "version": "1.70.5", "contact": { "name": "CrowdSec", "url": "https://crowdsec.net", @@ -13402,7 +13402,14 @@ }, "type": "object", "title": "Attacker Countries", - "description": "Attacker country distribution (country code \u2192 count)" + "description": "Attacker country distribution (country code \u2192 count)", + "examples": [ + { + "FR": 18, + "NL": 23, + "US": 36 + } + ] }, "defender_countries": { "additionalProperties": { @@ -13410,7 +13417,14 @@ }, "type": "object", "title": "Defender Countries", - "description": "Defender country distribution (country code \u2192 count)" + "description": "Defender country distribution (country code \u2192 count)", + "examples": [ + { + "BE": 13, + "FR": 22, + "NL": 22 + } + ] }, "industry_types": { "additionalProperties": { @@ -13421,7 +13435,14 @@ }, "type": "object", "title": "Industry Types", - "description": "Industry type distribution (type \u2192 count)" + "description": "Industry type distribution (type \u2192 count)", + "examples": [ + { + "commerce": 65, + "government": 5, + "non_profit": 30 + } + ] }, "industry_risk_profiles": { "additionalProperties": { @@ -13432,7 +13453,14 @@ }, "type": "object", "title": "Industry Risk Profiles", - "description": "Industry risk profile distribution (profile \u2192 count)" + "description": "Industry risk profile distribution (profile \u2192 count)", + "examples": [ + { + "SOHO": 25, + "public_service": 10, + "technology_business": 65 + } + ] }, "attacker_objectives": { "additionalProperties": { @@ -13443,7 +13471,13 @@ }, "type": "object", "title": "Attacker Objectives", - "description": "Attacker objective distribution (objective \u2192 count)" + "description": "Attacker objective distribution (objective \u2192 count)", + "examples": [ + { + "data_exfiltration": 10, + "infrastructure_takeover": 90 + } + ] } }, "type": "object", diff --git a/pyproject.toml b/pyproject.toml index a0f93d8..aaf6fef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "crowdsec_service_api" -version = "v0.15.26" +version = "v0.15.27" license = { text = "MIT" } authors = [ { name="crowdsec", email="info@crowdsec.net" } diff --git a/uv.lock b/uv.lock index 613efa8..ce371b5 100644 --- a/uv.lock +++ b/uv.lock @@ -49,7 +49,7 @@ wheels = [ [[package]] name = "crowdsec-service-api" -version = "0.15.26" +version = "0.15.27" source = { editable = "." } dependencies = [ { name = "botocore" },