cribl-control-plane 0.0.43__py3-none-any.whl → 0.0.44__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_hooks/clientcredentials.py +1 -1
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +5 -3
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +11 -1
- cribl_control_plane/commits.py +5 -3
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/errors/__init__.py +15 -3
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +6 -4
- cribl_control_plane/models/__init__.py +23 -1
- cribl_control_plane/models/inputconfluentcloud.py +7 -0
- cribl_control_plane/models/inputkafka.py +7 -0
- cribl_control_plane/models/output.py +10 -10
- cribl_control_plane/models/outputazuredataexplorer.py +7 -0
- cribl_control_plane/models/outputconfluentcloud.py +7 -0
- cribl_control_plane/models/outputkafka.py +7 -0
- cribl_control_plane/models/outputsyslog.py +68 -0
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/sdk.py +15 -2
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.43.dist-info → cribl_control_plane-0.0.44.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.0.43.dist-info → cribl_control_plane-0.0.44.dist-info}/RECORD +27 -27
- {cribl_control_plane-0.0.43.dist-info → cribl_control_plane-0.0.44.dist-info}/WHEEL +0 -0
|
@@ -188,7 +188,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
188
188
|
|
|
189
189
|
response_data = response.json()
|
|
190
190
|
|
|
191
|
-
if response_data.get("token_type") != "
|
|
191
|
+
if response_data.get("token_type", "").lower() != "bearer":
|
|
192
192
|
raise Exception("Unexpected token type from token endpoint")
|
|
193
193
|
|
|
194
194
|
expires_at = None
|
cribl_control_plane/_version.py
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "cribl-control-plane"
|
|
6
|
-
__version__: str = "0.0.
|
|
7
|
-
__openapi_doc_version__: str = "4.14.0-alpha.
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.0.
|
|
6
|
+
__version__: str = "0.0.44"
|
|
7
|
+
__openapi_doc_version__: str = "4.14.0-alpha.1757401089572-3ca67bed"
|
|
8
|
+
__gen_version__: str = "2.696.0"
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.0.44 2.696.0 4.14.0-alpha.1757401089572-3ca67bed cribl-control-plane"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
cribl_control_plane/acl.py
CHANGED
|
@@ -14,13 +14,15 @@ from typing import Any, Mapping, Optional
|
|
|
14
14
|
class ACL(BaseSDK):
|
|
15
15
|
teams: Teams
|
|
16
16
|
|
|
17
|
-
def __init__(
|
|
18
|
-
|
|
17
|
+
def __init__(
|
|
18
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
19
|
+
) -> None:
|
|
20
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
19
21
|
self.sdk_configuration = sdk_config
|
|
20
22
|
self._init_sdks()
|
|
21
23
|
|
|
22
24
|
def _init_sdks(self):
|
|
23
|
-
self.teams = Teams(self.sdk_configuration)
|
|
25
|
+
self.teams = Teams(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
24
26
|
|
|
25
27
|
def get(
|
|
26
28
|
self,
|
cribl_control_plane/auth_sdk.py
CHANGED
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
from .basesdk import BaseSDK
|
|
4
4
|
from .sdkconfiguration import SDKConfiguration
|
|
5
5
|
from cribl_control_plane.tokens import Tokens
|
|
6
|
+
from typing import Optional
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
class AuthSDK(BaseSDK):
|
|
9
10
|
tokens: Tokens
|
|
10
11
|
|
|
11
|
-
def __init__(
|
|
12
|
-
|
|
12
|
+
def __init__(
|
|
13
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
14
|
+
) -> None:
|
|
15
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
13
16
|
self.sdk_configuration = sdk_config
|
|
14
17
|
self._init_sdks()
|
|
15
18
|
|
|
16
19
|
def _init_sdks(self):
|
|
17
|
-
self.tokens = Tokens(self.sdk_configuration)
|
|
20
|
+
self.tokens = Tokens(self.sdk_configuration, parent_ref=self.parent_ref)
|
cribl_control_plane/basesdk.py
CHANGED
|
@@ -19,9 +19,19 @@ from urllib.parse import parse_qs, urlparse
|
|
|
19
19
|
|
|
20
20
|
class BaseSDK:
|
|
21
21
|
sdk_configuration: SDKConfiguration
|
|
22
|
+
parent_ref: Optional[object] = None
|
|
23
|
+
"""
|
|
24
|
+
Reference to the root SDK instance, if any. This will prevent it from
|
|
25
|
+
being garbage collected while there are active streams.
|
|
26
|
+
"""
|
|
22
27
|
|
|
23
|
-
def __init__(
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
sdk_config: SDKConfiguration,
|
|
31
|
+
parent_ref: Optional[object] = None,
|
|
32
|
+
) -> None:
|
|
24
33
|
self.sdk_configuration = sdk_config
|
|
34
|
+
self.parent_ref = parent_ref
|
|
25
35
|
|
|
26
36
|
def _get_url(self, base_url, url_variables):
|
|
27
37
|
sdk_url, sdk_variables = self.sdk_configuration.get_server_details()
|
cribl_control_plane/commits.py
CHANGED
|
@@ -14,13 +14,15 @@ from typing import Any, List, Mapping, Optional
|
|
|
14
14
|
class Commits(BaseSDK):
|
|
15
15
|
files: CommitsFiles
|
|
16
16
|
|
|
17
|
-
def __init__(
|
|
18
|
-
|
|
17
|
+
def __init__(
|
|
18
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
19
|
+
) -> None:
|
|
20
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
19
21
|
self.sdk_configuration = sdk_config
|
|
20
22
|
self._init_sdks()
|
|
21
23
|
|
|
22
24
|
def _init_sdks(self):
|
|
23
|
-
self.files = CommitsFiles(self.sdk_configuration)
|
|
25
|
+
self.files = CommitsFiles(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
24
26
|
|
|
25
27
|
def create(
|
|
26
28
|
self,
|
|
@@ -18,14 +18,16 @@ class Destinations(BaseSDK):
|
|
|
18
18
|
pq: DestinationsPq
|
|
19
19
|
samples: Samples
|
|
20
20
|
|
|
21
|
-
def __init__(
|
|
22
|
-
|
|
21
|
+
def __init__(
|
|
22
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
23
|
+
) -> None:
|
|
24
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
23
25
|
self.sdk_configuration = sdk_config
|
|
24
26
|
self._init_sdks()
|
|
25
27
|
|
|
26
28
|
def _init_sdks(self):
|
|
27
|
-
self.pq = DestinationsPq(self.sdk_configuration)
|
|
28
|
-
self.samples = Samples(self.sdk_configuration)
|
|
29
|
+
self.pq = DestinationsPq(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
30
|
+
self.samples = Samples(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
29
31
|
|
|
30
32
|
def list(
|
|
31
33
|
self,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
|
+
from .criblcontrolplaneerror import CriblControlPlaneError
|
|
3
4
|
from typing import TYPE_CHECKING
|
|
4
5
|
from importlib import import_module
|
|
5
6
|
import builtins
|
|
7
|
+
import sys
|
|
6
8
|
|
|
7
9
|
if TYPE_CHECKING:
|
|
8
10
|
from .apierror import APIError
|
|
9
|
-
from .criblcontrolplaneerror import CriblControlPlaneError
|
|
10
11
|
from .error import Error, ErrorData
|
|
11
12
|
from .healthstatus_error import HealthStatusError, HealthStatusErrorData
|
|
12
13
|
from .no_response_error import NoResponseError
|
|
@@ -25,7 +26,6 @@ __all__ = [
|
|
|
25
26
|
|
|
26
27
|
_dynamic_imports: dict[str, str] = {
|
|
27
28
|
"APIError": ".apierror",
|
|
28
|
-
"CriblControlPlaneError": ".criblcontrolplaneerror",
|
|
29
29
|
"Error": ".error",
|
|
30
30
|
"ErrorData": ".error",
|
|
31
31
|
"HealthStatusError": ".healthstatus_error",
|
|
@@ -35,6 +35,18 @@ _dynamic_imports: dict[str, str] = {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
|
|
38
|
+
def dynamic_import(modname, retries=3):
|
|
39
|
+
for attempt in range(retries):
|
|
40
|
+
try:
|
|
41
|
+
return import_module(modname, __package__)
|
|
42
|
+
except KeyError:
|
|
43
|
+
# Clear any half-initialized module and retry
|
|
44
|
+
sys.modules.pop(modname, None)
|
|
45
|
+
if attempt == retries - 1:
|
|
46
|
+
break
|
|
47
|
+
raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
|
|
48
|
+
|
|
49
|
+
|
|
38
50
|
def __getattr__(attr_name: str) -> object:
|
|
39
51
|
module_name = _dynamic_imports.get(attr_name)
|
|
40
52
|
if module_name is None:
|
|
@@ -43,7 +55,7 @@ def __getattr__(attr_name: str) -> object:
|
|
|
43
55
|
)
|
|
44
56
|
|
|
45
57
|
try:
|
|
46
|
-
module =
|
|
58
|
+
module = dynamic_import(module_name)
|
|
47
59
|
result = getattr(module, attr_name)
|
|
48
60
|
return result
|
|
49
61
|
except ImportError as e:
|
|
@@ -3,15 +3,20 @@
|
|
|
3
3
|
from .basesdk import BaseSDK
|
|
4
4
|
from .sdkconfiguration import SDKConfiguration
|
|
5
5
|
from cribl_control_plane.configs_versions import ConfigsVersions
|
|
6
|
+
from typing import Optional
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
class GroupsConfigs(BaseSDK):
|
|
9
10
|
versions: ConfigsVersions
|
|
10
11
|
|
|
11
|
-
def __init__(
|
|
12
|
-
|
|
12
|
+
def __init__(
|
|
13
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
14
|
+
) -> None:
|
|
15
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
13
16
|
self.sdk_configuration = sdk_config
|
|
14
17
|
self._init_sdks()
|
|
15
18
|
|
|
16
19
|
def _init_sdks(self):
|
|
17
|
-
self.versions = ConfigsVersions(
|
|
20
|
+
self.versions = ConfigsVersions(
|
|
21
|
+
self.sdk_configuration, parent_ref=self.parent_ref
|
|
22
|
+
)
|
|
@@ -18,14 +18,16 @@ class GroupsSDK(BaseSDK):
|
|
|
18
18
|
configs: GroupsConfigs
|
|
19
19
|
acl: ACL
|
|
20
20
|
|
|
21
|
-
def __init__(
|
|
22
|
-
|
|
21
|
+
def __init__(
|
|
22
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
23
|
+
) -> None:
|
|
24
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
23
25
|
self.sdk_configuration = sdk_config
|
|
24
26
|
self._init_sdks()
|
|
25
27
|
|
|
26
28
|
def _init_sdks(self):
|
|
27
|
-
self.configs = GroupsConfigs(self.sdk_configuration)
|
|
28
|
-
self.acl = ACL(self.sdk_configuration)
|
|
29
|
+
self.configs = GroupsConfigs(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
30
|
+
self.acl = ACL(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
29
31
|
|
|
30
32
|
def list(
|
|
31
33
|
self,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
from importlib import import_module
|
|
5
5
|
import builtins
|
|
6
|
+
import sys
|
|
6
7
|
|
|
7
8
|
if TYPE_CHECKING:
|
|
8
9
|
from .addhectokenrequest import (
|
|
@@ -2971,6 +2972,8 @@ if TYPE_CHECKING:
|
|
|
2971
2972
|
OutputSyslog,
|
|
2972
2973
|
OutputSyslogBackpressureBehavior,
|
|
2973
2974
|
OutputSyslogCompression,
|
|
2975
|
+
OutputSyslogHost,
|
|
2976
|
+
OutputSyslogHostTypedDict,
|
|
2974
2977
|
OutputSyslogMaximumTLSVersion,
|
|
2975
2978
|
OutputSyslogMessageFormat,
|
|
2976
2979
|
OutputSyslogMinimumTLSVersion,
|
|
@@ -2980,6 +2983,7 @@ if TYPE_CHECKING:
|
|
|
2980
2983
|
OutputSyslogProtocol,
|
|
2981
2984
|
OutputSyslogQueueFullBehavior,
|
|
2982
2985
|
OutputSyslogSeverity,
|
|
2986
|
+
OutputSyslogTLS,
|
|
2983
2987
|
OutputSyslogTLSSettingsClientSide,
|
|
2984
2988
|
OutputSyslogTLSSettingsClientSideTypedDict,
|
|
2985
2989
|
OutputSyslogType,
|
|
@@ -5892,6 +5896,8 @@ __all__ = [
|
|
|
5892
5896
|
"OutputSyslog",
|
|
5893
5897
|
"OutputSyslogBackpressureBehavior",
|
|
5894
5898
|
"OutputSyslogCompression",
|
|
5899
|
+
"OutputSyslogHost",
|
|
5900
|
+
"OutputSyslogHostTypedDict",
|
|
5895
5901
|
"OutputSyslogMaximumTLSVersion",
|
|
5896
5902
|
"OutputSyslogMessageFormat",
|
|
5897
5903
|
"OutputSyslogMinimumTLSVersion",
|
|
@@ -5901,6 +5907,7 @@ __all__ = [
|
|
|
5901
5907
|
"OutputSyslogProtocol",
|
|
5902
5908
|
"OutputSyslogQueueFullBehavior",
|
|
5903
5909
|
"OutputSyslogSeverity",
|
|
5910
|
+
"OutputSyslogTLS",
|
|
5904
5911
|
"OutputSyslogTLSSettingsClientSide",
|
|
5905
5912
|
"OutputSyslogTLSSettingsClientSideTypedDict",
|
|
5906
5913
|
"OutputSyslogType",
|
|
@@ -8855,6 +8862,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
8855
8862
|
"OutputSyslog": ".outputsyslog",
|
|
8856
8863
|
"OutputSyslogBackpressureBehavior": ".outputsyslog",
|
|
8857
8864
|
"OutputSyslogCompression": ".outputsyslog",
|
|
8865
|
+
"OutputSyslogHost": ".outputsyslog",
|
|
8866
|
+
"OutputSyslogHostTypedDict": ".outputsyslog",
|
|
8858
8867
|
"OutputSyslogMaximumTLSVersion": ".outputsyslog",
|
|
8859
8868
|
"OutputSyslogMessageFormat": ".outputsyslog",
|
|
8860
8869
|
"OutputSyslogMinimumTLSVersion": ".outputsyslog",
|
|
@@ -8864,6 +8873,7 @@ _dynamic_imports: dict[str, str] = {
|
|
|
8864
8873
|
"OutputSyslogProtocol": ".outputsyslog",
|
|
8865
8874
|
"OutputSyslogQueueFullBehavior": ".outputsyslog",
|
|
8866
8875
|
"OutputSyslogSeverity": ".outputsyslog",
|
|
8876
|
+
"OutputSyslogTLS": ".outputsyslog",
|
|
8867
8877
|
"OutputSyslogTLSSettingsClientSide": ".outputsyslog",
|
|
8868
8878
|
"OutputSyslogTLSSettingsClientSideTypedDict": ".outputsyslog",
|
|
8869
8879
|
"OutputSyslogType": ".outputsyslog",
|
|
@@ -9117,6 +9127,18 @@ _dynamic_imports: dict[str, str] = {
|
|
|
9117
9127
|
}
|
|
9118
9128
|
|
|
9119
9129
|
|
|
9130
|
+
def dynamic_import(modname, retries=3):
|
|
9131
|
+
for attempt in range(retries):
|
|
9132
|
+
try:
|
|
9133
|
+
return import_module(modname, __package__)
|
|
9134
|
+
except KeyError:
|
|
9135
|
+
# Clear any half-initialized module and retry
|
|
9136
|
+
sys.modules.pop(modname, None)
|
|
9137
|
+
if attempt == retries - 1:
|
|
9138
|
+
break
|
|
9139
|
+
raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
|
|
9140
|
+
|
|
9141
|
+
|
|
9120
9142
|
def __getattr__(attr_name: str) -> object:
|
|
9121
9143
|
module_name = _dynamic_imports.get(attr_name)
|
|
9122
9144
|
if module_name is None:
|
|
@@ -9125,7 +9147,7 @@ def __getattr__(attr_name: str) -> object:
|
|
|
9125
9147
|
)
|
|
9126
9148
|
|
|
9127
9149
|
try:
|
|
9128
|
-
module =
|
|
9150
|
+
module = dynamic_import(module_name)
|
|
9129
9151
|
result = getattr(module, attr_name)
|
|
9130
9152
|
return result
|
|
9131
9153
|
except ImportError as e:
|
|
@@ -341,6 +341,8 @@ class InputConfluentCloudAuthenticationTypedDict(TypedDict):
|
|
|
341
341
|
|
|
342
342
|
disabled: NotRequired[bool]
|
|
343
343
|
mechanism: NotRequired[InputConfluentCloudSASLMechanism]
|
|
344
|
+
oauth_enabled: NotRequired[bool]
|
|
345
|
+
r"""Enable OAuth authentication"""
|
|
344
346
|
|
|
345
347
|
|
|
346
348
|
class InputConfluentCloudAuthentication(BaseModel):
|
|
@@ -352,6 +354,11 @@ class InputConfluentCloudAuthentication(BaseModel):
|
|
|
352
354
|
InputConfluentCloudSASLMechanism.PLAIN
|
|
353
355
|
)
|
|
354
356
|
|
|
357
|
+
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
358
|
+
False
|
|
359
|
+
)
|
|
360
|
+
r"""Enable OAuth authentication"""
|
|
361
|
+
|
|
355
362
|
|
|
356
363
|
class InputConfluentCloudMetadatumTypedDict(TypedDict):
|
|
357
364
|
name: str
|
|
@@ -260,6 +260,8 @@ class InputKafkaAuthenticationTypedDict(TypedDict):
|
|
|
260
260
|
|
|
261
261
|
disabled: NotRequired[bool]
|
|
262
262
|
mechanism: NotRequired[InputKafkaSASLMechanism]
|
|
263
|
+
oauth_enabled: NotRequired[bool]
|
|
264
|
+
r"""Enable OAuth authentication"""
|
|
263
265
|
|
|
264
266
|
|
|
265
267
|
class InputKafkaAuthentication(BaseModel):
|
|
@@ -269,6 +271,11 @@ class InputKafkaAuthentication(BaseModel):
|
|
|
269
271
|
|
|
270
272
|
mechanism: Optional[InputKafkaSASLMechanism] = InputKafkaSASLMechanism.PLAIN
|
|
271
273
|
|
|
274
|
+
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
275
|
+
False
|
|
276
|
+
)
|
|
277
|
+
r"""Enable OAuth authentication"""
|
|
278
|
+
|
|
272
279
|
|
|
273
280
|
class InputKafkaMinimumTLSVersion(str, Enum):
|
|
274
281
|
TL_SV1 = "TLSv1"
|
|
@@ -94,24 +94,23 @@ OutputTypedDict = TypeAliasType(
|
|
|
94
94
|
OutputNetflowTypedDict,
|
|
95
95
|
OutputDiskSpoolTypedDict,
|
|
96
96
|
OutputRingTypedDict,
|
|
97
|
+
OutputStatsdExtTypedDict,
|
|
97
98
|
OutputGraphiteTypedDict,
|
|
98
99
|
OutputStatsdTypedDict,
|
|
99
|
-
OutputStatsdExtTypedDict,
|
|
100
100
|
OutputGooglePubsubTypedDict,
|
|
101
101
|
OutputCriblTCPTypedDict,
|
|
102
102
|
OutputSplunkTypedDict,
|
|
103
103
|
OutputSnsTypedDict,
|
|
104
104
|
OutputCloudwatchTypedDict,
|
|
105
|
-
OutputSyslogTypedDict,
|
|
106
105
|
OutputAzureEventhubTypedDict,
|
|
107
106
|
OutputWavefrontTypedDict,
|
|
108
107
|
OutputSignalfxTypedDict,
|
|
109
108
|
OutputHoneycombTypedDict,
|
|
110
|
-
OutputTcpjsonTypedDict,
|
|
111
109
|
OutputSumoLogicTypedDict,
|
|
110
|
+
OutputCrowdstrikeNextGenSiemTypedDict,
|
|
112
111
|
OutputHumioHecTypedDict,
|
|
112
|
+
OutputTcpjsonTypedDict,
|
|
113
113
|
OutputElasticCloudTypedDict,
|
|
114
|
-
OutputCrowdstrikeNextGenSiemTypedDict,
|
|
115
114
|
OutputKinesisTypedDict,
|
|
116
115
|
OutputConfluentCloudTypedDict,
|
|
117
116
|
OutputKafkaTypedDict,
|
|
@@ -119,6 +118,7 @@ OutputTypedDict = TypeAliasType(
|
|
|
119
118
|
OutputNewrelicEventsTypedDict,
|
|
120
119
|
OutputAzureLogsTypedDict,
|
|
121
120
|
OutputSplunkLbTypedDict,
|
|
121
|
+
OutputSyslogTypedDict,
|
|
122
122
|
OutputSqsTypedDict,
|
|
123
123
|
OutputNewrelicTypedDict,
|
|
124
124
|
OutputCriblHTTPTypedDict,
|
|
@@ -147,8 +147,8 @@ OutputTypedDict = TypeAliasType(
|
|
|
147
147
|
OutputSecurityLakeTypedDict,
|
|
148
148
|
OutputDlS3TypedDict,
|
|
149
149
|
OutputS3TypedDict,
|
|
150
|
-
OutputAzureDataExplorerTypedDict,
|
|
151
150
|
OutputWebhookTypedDict,
|
|
151
|
+
OutputAzureDataExplorerTypedDict,
|
|
152
152
|
OutputGoogleCloudLoggingTypedDict,
|
|
153
153
|
OutputGrafanaCloudTypedDict,
|
|
154
154
|
],
|
|
@@ -165,24 +165,23 @@ Output = TypeAliasType(
|
|
|
165
165
|
OutputNetflow,
|
|
166
166
|
OutputDiskSpool,
|
|
167
167
|
OutputRing,
|
|
168
|
+
OutputStatsdExt,
|
|
168
169
|
OutputGraphite,
|
|
169
170
|
OutputStatsd,
|
|
170
|
-
OutputStatsdExt,
|
|
171
171
|
OutputGooglePubsub,
|
|
172
172
|
OutputCriblTCP,
|
|
173
173
|
OutputSplunk,
|
|
174
174
|
OutputSns,
|
|
175
175
|
OutputCloudwatch,
|
|
176
|
-
OutputSyslog,
|
|
177
176
|
OutputAzureEventhub,
|
|
178
177
|
OutputWavefront,
|
|
179
178
|
OutputSignalfx,
|
|
180
179
|
OutputHoneycomb,
|
|
181
|
-
OutputTcpjson,
|
|
182
180
|
OutputSumoLogic,
|
|
181
|
+
OutputCrowdstrikeNextGenSiem,
|
|
183
182
|
OutputHumioHec,
|
|
183
|
+
OutputTcpjson,
|
|
184
184
|
OutputElasticCloud,
|
|
185
|
-
OutputCrowdstrikeNextGenSiem,
|
|
186
185
|
OutputKinesis,
|
|
187
186
|
OutputConfluentCloud,
|
|
188
187
|
OutputKafka,
|
|
@@ -190,6 +189,7 @@ Output = TypeAliasType(
|
|
|
190
189
|
OutputNewrelicEvents,
|
|
191
190
|
OutputAzureLogs,
|
|
192
191
|
OutputSplunkLb,
|
|
192
|
+
OutputSyslog,
|
|
193
193
|
OutputSqs,
|
|
194
194
|
OutputNewrelic,
|
|
195
195
|
OutputCriblHTTP,
|
|
@@ -218,8 +218,8 @@ Output = TypeAliasType(
|
|
|
218
218
|
OutputSecurityLake,
|
|
219
219
|
OutputDlS3,
|
|
220
220
|
OutputS3,
|
|
221
|
-
OutputAzureDataExplorer,
|
|
222
221
|
OutputWebhook,
|
|
222
|
+
OutputAzureDataExplorer,
|
|
223
223
|
OutputGoogleCloudLogging,
|
|
224
224
|
OutputGrafanaCloud,
|
|
225
225
|
],
|
|
@@ -336,6 +336,8 @@ class OutputAzureDataExplorerTypedDict(TypedDict):
|
|
|
336
336
|
pq_mode: NotRequired[OutputAzureDataExplorerMode]
|
|
337
337
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
338
338
|
pq_controls: NotRequired[OutputAzureDataExplorerPqControlsTypedDict]
|
|
339
|
+
empty_dir_cleanup_sec: NotRequired[float]
|
|
340
|
+
r"""How frequently, in seconds, to clean up empty directories"""
|
|
339
341
|
|
|
340
342
|
|
|
341
343
|
class OutputAzureDataExplorer(BaseModel):
|
|
@@ -611,3 +613,8 @@ class OutputAzureDataExplorer(BaseModel):
|
|
|
611
613
|
pq_controls: Annotated[
|
|
612
614
|
Optional[OutputAzureDataExplorerPqControls], pydantic.Field(alias="pqControls")
|
|
613
615
|
] = None
|
|
616
|
+
|
|
617
|
+
empty_dir_cleanup_sec: Annotated[
|
|
618
|
+
Optional[float], pydantic.Field(alias="emptyDirCleanupSec")
|
|
619
|
+
] = 300
|
|
620
|
+
r"""How frequently, in seconds, to clean up empty directories"""
|
|
@@ -294,6 +294,8 @@ class OutputConfluentCloudAuthenticationTypedDict(TypedDict):
|
|
|
294
294
|
|
|
295
295
|
disabled: NotRequired[bool]
|
|
296
296
|
mechanism: NotRequired[OutputConfluentCloudSASLMechanism]
|
|
297
|
+
oauth_enabled: NotRequired[bool]
|
|
298
|
+
r"""Enable OAuth authentication"""
|
|
297
299
|
|
|
298
300
|
|
|
299
301
|
class OutputConfluentCloudAuthentication(BaseModel):
|
|
@@ -305,6 +307,11 @@ class OutputConfluentCloudAuthentication(BaseModel):
|
|
|
305
307
|
OutputConfluentCloudSASLMechanism.PLAIN
|
|
306
308
|
)
|
|
307
309
|
|
|
310
|
+
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
311
|
+
False
|
|
312
|
+
)
|
|
313
|
+
r"""Enable OAuth authentication"""
|
|
314
|
+
|
|
308
315
|
|
|
309
316
|
class OutputConfluentCloudBackpressureBehavior(str, Enum):
|
|
310
317
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -215,6 +215,8 @@ class OutputKafkaAuthenticationTypedDict(TypedDict):
|
|
|
215
215
|
|
|
216
216
|
disabled: NotRequired[bool]
|
|
217
217
|
mechanism: NotRequired[OutputKafkaSASLMechanism]
|
|
218
|
+
oauth_enabled: NotRequired[bool]
|
|
219
|
+
r"""Enable OAuth authentication"""
|
|
218
220
|
|
|
219
221
|
|
|
220
222
|
class OutputKafkaAuthentication(BaseModel):
|
|
@@ -224,6 +226,11 @@ class OutputKafkaAuthentication(BaseModel):
|
|
|
224
226
|
|
|
225
227
|
mechanism: Optional[OutputKafkaSASLMechanism] = OutputKafkaSASLMechanism.PLAIN
|
|
226
228
|
|
|
229
|
+
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
230
|
+
False
|
|
231
|
+
)
|
|
232
|
+
r"""Enable OAuth authentication"""
|
|
233
|
+
|
|
227
234
|
|
|
228
235
|
class OutputKafkaMinimumTLSVersion(str, Enum):
|
|
229
236
|
TL_SV1 = "TLSv1"
|
|
@@ -186,6 +186,43 @@ class OutputSyslogPqControls(BaseModel):
|
|
|
186
186
|
pass
|
|
187
187
|
|
|
188
188
|
|
|
189
|
+
class OutputSyslogTLS(str, Enum):
|
|
190
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
191
|
+
|
|
192
|
+
INHERIT = "inherit"
|
|
193
|
+
OFF = "off"
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class OutputSyslogHostTypedDict(TypedDict):
|
|
197
|
+
host: str
|
|
198
|
+
r"""The hostname of the receiver"""
|
|
199
|
+
port: NotRequired[float]
|
|
200
|
+
r"""The port to connect to on the provided host"""
|
|
201
|
+
tls: NotRequired[OutputSyslogTLS]
|
|
202
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
203
|
+
servername: NotRequired[str]
|
|
204
|
+
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
205
|
+
weight: NotRequired[float]
|
|
206
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
class OutputSyslogHost(BaseModel):
|
|
210
|
+
host: str
|
|
211
|
+
r"""The hostname of the receiver"""
|
|
212
|
+
|
|
213
|
+
port: Optional[float] = 9997
|
|
214
|
+
r"""The port to connect to on the provided host"""
|
|
215
|
+
|
|
216
|
+
tls: Optional[OutputSyslogTLS] = OutputSyslogTLS.INHERIT
|
|
217
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
218
|
+
|
|
219
|
+
servername: Optional[str] = None
|
|
220
|
+
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
221
|
+
|
|
222
|
+
weight: Optional[float] = 1
|
|
223
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
224
|
+
|
|
225
|
+
|
|
189
226
|
class OutputSyslogTypedDict(TypedDict):
|
|
190
227
|
type: OutputSyslogType
|
|
191
228
|
id: NotRequired[str]
|
|
@@ -247,6 +284,16 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
247
284
|
pq_mode: NotRequired[OutputSyslogMode]
|
|
248
285
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
249
286
|
pq_controls: NotRequired[OutputSyslogPqControlsTypedDict]
|
|
287
|
+
dns_resolve_period_sec: NotRequired[float]
|
|
288
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
289
|
+
load_balance_stats_period_sec: NotRequired[float]
|
|
290
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
291
|
+
max_concurrent_senders: NotRequired[float]
|
|
292
|
+
r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
|
|
293
|
+
exclude_self: NotRequired[bool]
|
|
294
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
295
|
+
hosts: NotRequired[List[OutputSyslogHostTypedDict]]
|
|
296
|
+
r"""Set of hosts to load-balance data to."""
|
|
250
297
|
|
|
251
298
|
|
|
252
299
|
class OutputSyslog(BaseModel):
|
|
@@ -379,3 +426,24 @@ class OutputSyslog(BaseModel):
|
|
|
379
426
|
pq_controls: Annotated[
|
|
380
427
|
Optional[OutputSyslogPqControls], pydantic.Field(alias="pqControls")
|
|
381
428
|
] = None
|
|
429
|
+
|
|
430
|
+
dns_resolve_period_sec: Annotated[
|
|
431
|
+
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
432
|
+
] = 600
|
|
433
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
434
|
+
|
|
435
|
+
load_balance_stats_period_sec: Annotated[
|
|
436
|
+
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
437
|
+
] = 300
|
|
438
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
439
|
+
|
|
440
|
+
max_concurrent_senders: Annotated[
|
|
441
|
+
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
442
|
+
] = 0
|
|
443
|
+
r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
|
|
444
|
+
|
|
445
|
+
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
446
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
447
|
+
|
|
448
|
+
hosts: Optional[List[OutputSyslogHost]] = None
|
|
449
|
+
r"""Set of hosts to load-balance data to."""
|
cribl_control_plane/nodes.py
CHANGED
|
@@ -14,13 +14,15 @@ from typing import Any, Mapping, Optional
|
|
|
14
14
|
class Nodes(BaseSDK):
|
|
15
15
|
summaries: Summaries
|
|
16
16
|
|
|
17
|
-
def __init__(
|
|
18
|
-
|
|
17
|
+
def __init__(
|
|
18
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
19
|
+
) -> None:
|
|
20
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
19
21
|
self.sdk_configuration = sdk_config
|
|
20
22
|
self._init_sdks()
|
|
21
23
|
|
|
22
24
|
def _init_sdks(self):
|
|
23
|
-
self.summaries = Summaries(self.sdk_configuration)
|
|
25
|
+
self.summaries = Summaries(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
24
26
|
|
|
25
27
|
def list(
|
|
26
28
|
self,
|
cribl_control_plane/sdk.py
CHANGED
|
@@ -10,6 +10,7 @@ from cribl_control_plane._hooks import SDKHooks
|
|
|
10
10
|
from cribl_control_plane.types import OptionalNullable, UNSET
|
|
11
11
|
import httpx
|
|
12
12
|
import importlib
|
|
13
|
+
import sys
|
|
13
14
|
from typing import Callable, Optional, TYPE_CHECKING, Union, cast
|
|
14
15
|
import weakref
|
|
15
16
|
|
|
@@ -119,6 +120,7 @@ class CriblControlPlane(BaseSDK):
|
|
|
119
120
|
timeout_ms=timeout_ms,
|
|
120
121
|
debug_logger=debug_logger,
|
|
121
122
|
),
|
|
123
|
+
parent_ref=self,
|
|
122
124
|
)
|
|
123
125
|
|
|
124
126
|
hooks = SDKHooks()
|
|
@@ -138,13 +140,24 @@ class CriblControlPlane(BaseSDK):
|
|
|
138
140
|
self.sdk_configuration.async_client_supplied,
|
|
139
141
|
)
|
|
140
142
|
|
|
143
|
+
def dynamic_import(self, modname, retries=3):
|
|
144
|
+
for attempt in range(retries):
|
|
145
|
+
try:
|
|
146
|
+
return importlib.import_module(modname)
|
|
147
|
+
except KeyError:
|
|
148
|
+
# Clear any half-initialized module and retry
|
|
149
|
+
sys.modules.pop(modname, None)
|
|
150
|
+
if attempt == retries - 1:
|
|
151
|
+
break
|
|
152
|
+
raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
|
|
153
|
+
|
|
141
154
|
def __getattr__(self, name: str):
|
|
142
155
|
if name in self._sub_sdk_map:
|
|
143
156
|
module_path, class_name = self._sub_sdk_map[name]
|
|
144
157
|
try:
|
|
145
|
-
module =
|
|
158
|
+
module = self.dynamic_import(module_path)
|
|
146
159
|
klass = getattr(module, class_name)
|
|
147
|
-
instance = klass(self.sdk_configuration)
|
|
160
|
+
instance = klass(self.sdk_configuration, parent_ref=self)
|
|
148
161
|
setattr(self, name, instance)
|
|
149
162
|
return instance
|
|
150
163
|
except ImportError as e:
|
cribl_control_plane/sources.py
CHANGED
|
@@ -16,13 +16,15 @@ class Sources(BaseSDK):
|
|
|
16
16
|
|
|
17
17
|
hec_tokens: HecTokens
|
|
18
18
|
|
|
19
|
-
def __init__(
|
|
20
|
-
|
|
19
|
+
def __init__(
|
|
20
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
21
|
+
) -> None:
|
|
22
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
21
23
|
self.sdk_configuration = sdk_config
|
|
22
24
|
self._init_sdks()
|
|
23
25
|
|
|
24
26
|
def _init_sdks(self):
|
|
25
|
-
self.hec_tokens = HecTokens(self.sdk_configuration)
|
|
27
|
+
self.hec_tokens = HecTokens(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
26
28
|
|
|
27
29
|
def list(
|
|
28
30
|
self,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
from importlib import import_module
|
|
5
5
|
import builtins
|
|
6
|
+
import sys
|
|
6
7
|
|
|
7
8
|
if TYPE_CHECKING:
|
|
8
9
|
from .annotations import get_discriminator
|
|
@@ -162,6 +163,18 @@ _dynamic_imports: dict[str, str] = {
|
|
|
162
163
|
}
|
|
163
164
|
|
|
164
165
|
|
|
166
|
+
def dynamic_import(modname, retries=3):
|
|
167
|
+
for attempt in range(retries):
|
|
168
|
+
try:
|
|
169
|
+
return import_module(modname, __package__)
|
|
170
|
+
except KeyError:
|
|
171
|
+
# Clear any half-initialized module and retry
|
|
172
|
+
sys.modules.pop(modname, None)
|
|
173
|
+
if attempt == retries - 1:
|
|
174
|
+
break
|
|
175
|
+
raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
|
|
176
|
+
|
|
177
|
+
|
|
165
178
|
def __getattr__(attr_name: str) -> object:
|
|
166
179
|
module_name = _dynamic_imports.get(attr_name)
|
|
167
180
|
if module_name is None:
|
|
@@ -170,9 +183,8 @@ def __getattr__(attr_name: str) -> object:
|
|
|
170
183
|
)
|
|
171
184
|
|
|
172
185
|
try:
|
|
173
|
-
module =
|
|
174
|
-
|
|
175
|
-
return result
|
|
186
|
+
module = dynamic_import(module_name)
|
|
187
|
+
return getattr(module, attr_name)
|
|
176
188
|
except ImportError as e:
|
|
177
189
|
raise ImportError(
|
|
178
190
|
f"Failed to import {attr_name} from {module_name}: {e}"
|
|
@@ -17,6 +17,9 @@ T = TypeVar("T")
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class EventStream(Generic[T]):
|
|
20
|
+
# Holds a reference to the SDK client to avoid it being garbage collected
|
|
21
|
+
# and cause termination of the underlying httpx client.
|
|
22
|
+
client_ref: Optional[object]
|
|
20
23
|
response: httpx.Response
|
|
21
24
|
generator: Generator[T, None, None]
|
|
22
25
|
|
|
@@ -25,9 +28,11 @@ class EventStream(Generic[T]):
|
|
|
25
28
|
response: httpx.Response,
|
|
26
29
|
decoder: Callable[[str], T],
|
|
27
30
|
sentinel: Optional[str] = None,
|
|
31
|
+
client_ref: Optional[object] = None,
|
|
28
32
|
):
|
|
29
33
|
self.response = response
|
|
30
34
|
self.generator = stream_events(response, decoder, sentinel)
|
|
35
|
+
self.client_ref = client_ref
|
|
31
36
|
|
|
32
37
|
def __iter__(self):
|
|
33
38
|
return self
|
|
@@ -43,6 +48,9 @@ class EventStream(Generic[T]):
|
|
|
43
48
|
|
|
44
49
|
|
|
45
50
|
class EventStreamAsync(Generic[T]):
|
|
51
|
+
# Holds a reference to the SDK client to avoid it being garbage collected
|
|
52
|
+
# and cause termination of the underlying httpx client.
|
|
53
|
+
client_ref: Optional[object]
|
|
46
54
|
response: httpx.Response
|
|
47
55
|
generator: AsyncGenerator[T, None]
|
|
48
56
|
|
|
@@ -51,9 +59,11 @@ class EventStreamAsync(Generic[T]):
|
|
|
51
59
|
response: httpx.Response,
|
|
52
60
|
decoder: Callable[[str], T],
|
|
53
61
|
sentinel: Optional[str] = None,
|
|
62
|
+
client_ref: Optional[object] = None,
|
|
54
63
|
):
|
|
55
64
|
self.response = response
|
|
56
65
|
self.generator = stream_events_async(response, decoder, sentinel)
|
|
66
|
+
self.client_ref = client_ref
|
|
57
67
|
|
|
58
68
|
def __aiter__(self):
|
|
59
69
|
return self
|
cribl_control_plane/versions.py
CHANGED
|
@@ -6,6 +6,7 @@ from cribl_control_plane.branches import Branches
|
|
|
6
6
|
from cribl_control_plane.commits import Commits
|
|
7
7
|
from cribl_control_plane.statuses import Statuses
|
|
8
8
|
from cribl_control_plane.versions_configs import VersionsConfigs
|
|
9
|
+
from typing import Optional
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class Versions(BaseSDK):
|
|
@@ -14,13 +15,17 @@ class Versions(BaseSDK):
|
|
|
14
15
|
configs: VersionsConfigs
|
|
15
16
|
statuses: Statuses
|
|
16
17
|
|
|
17
|
-
def __init__(
|
|
18
|
-
|
|
18
|
+
def __init__(
|
|
19
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
20
|
+
) -> None:
|
|
21
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
19
22
|
self.sdk_configuration = sdk_config
|
|
20
23
|
self._init_sdks()
|
|
21
24
|
|
|
22
25
|
def _init_sdks(self):
|
|
23
|
-
self.branches = Branches(self.sdk_configuration)
|
|
24
|
-
self.commits = Commits(self.sdk_configuration)
|
|
25
|
-
self.configs = VersionsConfigs(
|
|
26
|
-
|
|
26
|
+
self.branches = Branches(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
27
|
+
self.commits = Commits(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
28
|
+
self.configs = VersionsConfigs(
|
|
29
|
+
self.sdk_configuration, parent_ref=self.parent_ref
|
|
30
|
+
)
|
|
31
|
+
self.statuses = Statuses(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
cribl_control_plane/__init__.py,sha256=w2u919V3Tzv4zEPQ-OYJ79gQ_4_SyW7GOFFoHtqXDFA,401
|
|
2
2
|
cribl_control_plane/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU1c,146
|
|
3
|
-
cribl_control_plane/_hooks/clientcredentials.py,sha256=
|
|
3
|
+
cribl_control_plane/_hooks/clientcredentials.py,sha256=p1WN7LL3PHrAf4AxXrsOZF_NBiFkJENjCuBQ4wv-ZM0,7249
|
|
4
4
|
cribl_control_plane/_hooks/registration.py,sha256=1QZB41w6If7I9dXiOSQx6dhSc6BPWrnI5Q5bMOr4iVA,624
|
|
5
5
|
cribl_control_plane/_hooks/sdkhooks.py,sha256=ggXjME1_Rdv8CVCg1XHqB83eYtbxzKyhXyfQ36Yc1gA,2816
|
|
6
6
|
cribl_control_plane/_hooks/types.py,sha256=Tw_C4zTZm01rW_89VDEUpvQ8KQr1WxN0Gu_-s_fYSPc,2998
|
|
7
|
-
cribl_control_plane/_version.py,sha256=
|
|
8
|
-
cribl_control_plane/acl.py,sha256=
|
|
9
|
-
cribl_control_plane/auth_sdk.py,sha256=
|
|
10
|
-
cribl_control_plane/basesdk.py,sha256=
|
|
7
|
+
cribl_control_plane/_version.py,sha256=q8EFv0n_LFkB4UD81DAuU035lK912onWwcoDQMCLMhQ,542
|
|
8
|
+
cribl_control_plane/acl.py,sha256=8lvYOKAli4PzsQhOVaCU6YCwblPMh9jQo04L0r4HJuQ,9025
|
|
9
|
+
cribl_control_plane/auth_sdk.py,sha256=3sjf1VoyWwfhSyuMDQLixgWISSf03BOZwmkiT8g5Ruw,626
|
|
10
|
+
cribl_control_plane/basesdk.py,sha256=y4yIXSNVXLMd0sLS2htBFdTCI3gkPQbIWd-C671kg1I,12249
|
|
11
11
|
cribl_control_plane/branches.py,sha256=Uz2F25RVW5hDr92Dm7yo7I9NdEN1zh9eDF20h4mD7Tg,14217
|
|
12
|
-
cribl_control_plane/commits.py,sha256=
|
|
12
|
+
cribl_control_plane/commits.py,sha256=eQCWma93q5TdxSdrRIQPn5LltiVruCNqjWjQvz-Bwng,56652
|
|
13
13
|
cribl_control_plane/commits_files.py,sha256=YmLpBefvP28icHA3FqvwVIxmTcgecUnABf5Tx7wN8H8,15609
|
|
14
14
|
cribl_control_plane/configs_versions.py,sha256=Ov9FqT4q9aKcCBUs1Qn65CdjnJK1pXXWPTYlHHHj-gk,8336
|
|
15
|
-
cribl_control_plane/destinations.py,sha256=
|
|
15
|
+
cribl_control_plane/destinations.py,sha256=N5MApCQUc2KpTCFAQHZvXmrweuI0gSQ2mk8uTQhJjww,37519
|
|
16
16
|
cribl_control_plane/destinations_pq.py,sha256=bp25ihNaTH8Je2ifM8EgR9Cc-w4naz-snS2jJlsyq7E,14871
|
|
17
|
-
cribl_control_plane/errors/__init__.py,sha256=
|
|
17
|
+
cribl_control_plane/errors/__init__.py,sha256=lzdSKjXlCz90wIT8Aylqw9-0BmLdu5P5BQFQB37rCBE,2221
|
|
18
18
|
cribl_control_plane/errors/apierror.py,sha256=Z3b3zk672zHljcdijGLJeJ2LiP1f3VpVDEqUuF7LDAA,1253
|
|
19
19
|
cribl_control_plane/errors/criblcontrolplaneerror.py,sha256=P9SU33LkmvyURdJbndHJxXu2KW_3u059peZJ8C80LfM,724
|
|
20
20
|
cribl_control_plane/errors/error.py,sha256=fZ72R_qeZ0-xd514dVqKKiqh7zzLmnkpPJfckpHOCj4,693
|
|
21
21
|
cribl_control_plane/errors/healthstatus_error.py,sha256=Hgn36yszsiYPS3cG__-PKHDDbPn6tt_ybD_UNw5r9b4,950
|
|
22
22
|
cribl_control_plane/errors/no_response_error.py,sha256=FQG44Lq6uF7uUlzbUYfM3dJon6sbqXzJ0Ri6YrDdsEs,380
|
|
23
23
|
cribl_control_plane/errors/responsevalidationerror.py,sha256=TvZ9dOsy-oFBYA_wZCOOEXeGKMBQtzCVX-1-i7epQTE,720
|
|
24
|
-
cribl_control_plane/groups_configs.py,sha256=
|
|
25
|
-
cribl_control_plane/groups_sdk.py,sha256=
|
|
24
|
+
cribl_control_plane/groups_configs.py,sha256=dgi-W0ElnyygaVKXqk5df2ldAAgj9YmXRPCez2hP7yc,695
|
|
25
|
+
cribl_control_plane/groups_sdk.py,sha256=EkviXQbbtP9HIv8tSkRtyOTPqxVTySgzMlgx_zhudig,61835
|
|
26
26
|
cribl_control_plane/health.py,sha256=mDYmC13IE_M9jTVKKBOr5aeZ5QArUURLT1PyPpvn5Ho,6719
|
|
27
27
|
cribl_control_plane/hectokens.py,sha256=0EGgGGrM83m1YmTZwkN5S4xFkHQGnw1IZe3y6uMwmLw,19151
|
|
28
28
|
cribl_control_plane/httpclient.py,sha256=Eu73urOAiZQtdUIyOUnPccxCiBbWEKrXG-JrRG3SLM4,3946
|
|
29
29
|
cribl_control_plane/lakedatasets.py,sha256=7WYWcjXMzliDW1j3TQlgikc_h54IUq4lsysVy_39l38,46578
|
|
30
|
-
cribl_control_plane/models/__init__.py,sha256=
|
|
30
|
+
cribl_control_plane/models/__init__.py,sha256=jl4asHU9YLiybVCi9VB8lVzGSwLEXW6bm5N8qQW9Qv8,387082
|
|
31
31
|
cribl_control_plane/models/addhectokenrequest.py,sha256=mzQLKrMWlwxNheqEs5SM_yrT-gyenfCWgHKhmb5oXFQ,800
|
|
32
32
|
cribl_control_plane/models/appmode.py,sha256=5xRJz9oP5ah4b6dcay4Q1IbQ9irm6k6x2BrTNysIMY4,300
|
|
33
33
|
cribl_control_plane/models/authtoken.py,sha256=uW0aIs8j14CQzFM2ueY5GIWFulna91cigBWQ3oPlDgY,295
|
|
@@ -111,7 +111,7 @@ cribl_control_plane/models/input.py,sha256=Zd6wdxKwa9pdoT3GmGKnlzwhV8oqIKG2CAnjy
|
|
|
111
111
|
cribl_control_plane/models/inputappscope.py,sha256=DXKjLQXUGBicb8vBbDS_BxBh4jHq7sxgrr1IiDqj4NM,20233
|
|
112
112
|
cribl_control_plane/models/inputazureblob.py,sha256=XKOgRtB0ThQLMWU9rS5yxS3ffXb_gRy9tbCJPUQkJns,15124
|
|
113
113
|
cribl_control_plane/models/inputcollection.py,sha256=PwhhEEsoN2rHraPbNBvGjtaD3-weAh-V1WsHFEl7blk,9573
|
|
114
|
-
cribl_control_plane/models/inputconfluentcloud.py,sha256=
|
|
114
|
+
cribl_control_plane/models/inputconfluentcloud.py,sha256=cU1vXECisSNXqBymS6jq84KClbI9jgdBcCxvyF19edA,29390
|
|
115
115
|
cribl_control_plane/models/inputcribl.py,sha256=TS0xr5-ctqOQtqdQh1jYPnN_FXeIp8xiW1GW5m5T1rU,7239
|
|
116
116
|
cribl_control_plane/models/inputcriblhttp.py,sha256=hQk3O9ywlQ-4Dlu9i-qSqiJAYjp2zmSfj7QtJBk8ZcE,15608
|
|
117
117
|
cribl_control_plane/models/inputcribllakehttp.py,sha256=neJQkmPQwOjaAILORr4SQr5SvrNBAuRnRsGtW9erxlg,19118
|
|
@@ -131,7 +131,7 @@ cribl_control_plane/models/inputgrafana.py,sha256=n-SX8dFgmMWbs1coccHrm_UvL-lQwW
|
|
|
131
131
|
cribl_control_plane/models/inputhttp.py,sha256=kpxmD1Y5qSMuKvKrqnTp898Vh_-nl9135y4TYKvlgqM,18322
|
|
132
132
|
cribl_control_plane/models/inputhttpraw.py,sha256=fhCig9DZTr3s80zZDZMd2sVkmF6v56_rPMg_d9PQ7VY,18709
|
|
133
133
|
cribl_control_plane/models/inputjournalfiles.py,sha256=eAYa9vG4_cap5-NQnTj24o-uVo4wPbhyHE-_gChJaRc,9711
|
|
134
|
-
cribl_control_plane/models/inputkafka.py,sha256=
|
|
134
|
+
cribl_control_plane/models/inputkafka.py,sha256=vtRmkm5vbUbHW_LWMlTgz5vBhrrbA_N-kGodUlmGPyY,28864
|
|
135
135
|
cribl_control_plane/models/inputkinesis.py,sha256=2C35b8nYIA51lSxBQd2bSspmQcWkQgwDVq8tdz9uWZM,15724
|
|
136
136
|
cribl_control_plane/models/inputkubeevents.py,sha256=2UN2j3ITobx2c2hqXYvCnw-r0qwfUZIcdnBkqM8QQXw,8011
|
|
137
137
|
cribl_control_plane/models/inputkubelogs.py,sha256=rrUYucBJNY-Nbf2RCimTrHkaEieccoYmLYcWylb4DnU,12115
|
|
@@ -186,14 +186,14 @@ cribl_control_plane/models/nodeprovidedinfo.py,sha256=lw5JFVcnoetmbF0XSxX4Cyw0_Q
|
|
|
186
186
|
cribl_control_plane/models/nodeskippedupgradestatus.py,sha256=wJYUEDcCTx6Mrivh_0uEGspLenHKueWE9mVcjTycaL8,226
|
|
187
187
|
cribl_control_plane/models/nodeupgradestate.py,sha256=8zbj0lofMbq89B3lv5gEIS7d1DKHINxQtdqptVE3sSQ,218
|
|
188
188
|
cribl_control_plane/models/nodeupgradestatus.py,sha256=HlNRUmka5xuPdL-2UupJIe5q1_imCKHUWQQBTIpDCHM,966
|
|
189
|
-
cribl_control_plane/models/output.py,sha256=
|
|
189
|
+
cribl_control_plane/models/output.py,sha256=d9ssxkbFuQFzc1eN4at4mqtCndfL-CqkQX9QnHZcngc,8695
|
|
190
190
|
cribl_control_plane/models/outputazureblob.py,sha256=3mOrHtABPHbwPdx36qjAIyyxbplfgSHSkjTdXXiqi9g,21928
|
|
191
|
-
cribl_control_plane/models/outputazuredataexplorer.py,sha256=
|
|
191
|
+
cribl_control_plane/models/outputazuredataexplorer.py,sha256=qlh62CqqmYcQ8Qc6ij-6m09KmQwqPhMexFeBaH1Ry8w,30357
|
|
192
192
|
cribl_control_plane/models/outputazureeventhub.py,sha256=2-4l-5D5Q5UgKcAd_ZrlCyUipYboPPWRFMOV3dL9Vg8,14767
|
|
193
193
|
cribl_control_plane/models/outputazurelogs.py,sha256=EIQA99AD9e1r-ht9QPDg3DZN0IN282_vRlcmQd1wNVA,19603
|
|
194
194
|
cribl_control_plane/models/outputclickhouse.py,sha256=kW8awWvrTcn4lSj1SZdFZwRTwkqFcB9VG8D2ENtQWVs,29121
|
|
195
195
|
cribl_control_plane/models/outputcloudwatch.py,sha256=ShVZ5c4FKiqy9pY0XKQH-fLIsWYUtAepdKy-ghoRaOQ,11924
|
|
196
|
-
cribl_control_plane/models/outputconfluentcloud.py,sha256=
|
|
196
|
+
cribl_control_plane/models/outputconfluentcloud.py,sha256=XDieWfvZaAM9AeENcVNfhvRJ6En0RIPtKIhX-WzPmZc,26422
|
|
197
197
|
cribl_control_plane/models/outputcriblhttp.py,sha256=R3IjucGHDhGorOrhNFH8SFefOLLkZQQ2HKfP1i8xbuQ,22966
|
|
198
198
|
cribl_control_plane/models/outputcribllake.py,sha256=SzZGDLCYwi7UPqI1QcdpaYVvrRbiqxJbR73r35-0FLI,16802
|
|
199
199
|
cribl_control_plane/models/outputcribltcp.py,sha256=AcPGSEQ97oTEEnrkFTloq0l057TZJxVOQmn5rxmA-wM,16407
|
|
@@ -219,7 +219,7 @@ cribl_control_plane/models/outputgraphite.py,sha256=96YvOtlivN9IxPvVerjj_30RNfnn
|
|
|
219
219
|
cribl_control_plane/models/outputhoneycomb.py,sha256=-XgAb04SQ5Bg9W2ZeUH0RdMXptYS0fRFtCzhb7bRpvA,17091
|
|
220
220
|
cribl_control_plane/models/outputhumiohec.py,sha256=7A4gV6-6cyfW-PxFI6AmfG7Fu3LWPfpByaBcKLW8Iw0,18300
|
|
221
221
|
cribl_control_plane/models/outputinfluxdb.py,sha256=_UfshiBXt3OE0VsJM8jQrC6IJDQVBGjkFpGEcka3npI,23740
|
|
222
|
-
cribl_control_plane/models/outputkafka.py,sha256=
|
|
222
|
+
cribl_control_plane/models/outputkafka.py,sha256=YwlyN3Q0o8S_nsuAGxIsc5zt47YEctSTTAGhlk5VSBA,25768
|
|
223
223
|
cribl_control_plane/models/outputkinesis.py,sha256=2B_r1WqTyBzQNutLM0kwBr0FQVzW9jGwpdKbFX7i_20,13156
|
|
224
224
|
cribl_control_plane/models/outputloki.py,sha256=7StzjyZx_3gGA7ixlhsjr2_PvQM_WrAawvFEV2pGmbI,22040
|
|
225
225
|
cribl_control_plane/models/outputminio.py,sha256=k2DCu82KnFRwtnnbAS4js_54jqJTDDrU8kaKFpp114U,22291
|
|
@@ -247,7 +247,7 @@ cribl_control_plane/models/outputsqs.py,sha256=yU_s7HvbZrlS9gsNuOVZw2lLfPkcytmlz
|
|
|
247
247
|
cribl_control_plane/models/outputstatsd.py,sha256=9y5evh_vSTptkzztDxgVohP4WKiMgZQXKUN2-YjA3MU,9708
|
|
248
248
|
cribl_control_plane/models/outputstatsdext.py,sha256=BEHdxjGNVQ74WfBxk52UvBk1k7u-yQ0uIF_8_Oh4FUg,9801
|
|
249
249
|
cribl_control_plane/models/outputsumologic.py,sha256=IHrIxdgjVKGwiQuE5kKjemPY7YapkXLX9d4NXACe8ss,18061
|
|
250
|
-
cribl_control_plane/models/outputsyslog.py,sha256=
|
|
250
|
+
cribl_control_plane/models/outputsyslog.py,sha256=Sora557qH46NyHf-SOEWVnhGxJSpCeQzPAV-LrLD3qw,19950
|
|
251
251
|
cribl_control_plane/models/outputtcpjson.py,sha256=7RY26QNjgawu2exy-GHftLpN97bTqfZOk9alDVBzQos,17490
|
|
252
252
|
cribl_control_plane/models/outputtestrequest.py,sha256=UTUiu9WvmbQxqBQtwoBSMPjAynOvKPSrNcsjoGTjPp8,428
|
|
253
253
|
cribl_control_plane/models/outputtestresponse.py,sha256=cKeXPvSpCzU6cWpXvHoujp-pmS-qVBoSkz3pb7MdV7M,775
|
|
@@ -286,26 +286,26 @@ cribl_control_plane/models/updatepipelinebyidop.py,sha256=Cn_FBckmK1NyUkfOpWmc84
|
|
|
286
286
|
cribl_control_plane/models/updateroutesbyidop.py,sha256=KEoryZP8OqtJCXp0f5P4c2KKs1k1jY9-LsxGSBLDFMA,1562
|
|
287
287
|
cribl_control_plane/models/useraccesscontrollist.py,sha256=UNM3mdqFByd9GAovAi26z9y-5H15hrKDzw0M-f-Pn2o,483
|
|
288
288
|
cribl_control_plane/models/workertypes.py,sha256=qphL2wkL55CU8V7xBts2lsMMi6IaA7LhUvKL_9xMod4,218
|
|
289
|
-
cribl_control_plane/nodes.py,sha256=
|
|
289
|
+
cribl_control_plane/nodes.py,sha256=I4AnHbDlX3zNbvDfwgIZ6sv1yQTlkAGaQRoSzwkl0KM,17531
|
|
290
290
|
cribl_control_plane/packs.py,sha256=Ba7SLmjZuYmdC__uhYj5BMt1JVKNMsd3y3Iv7L4UVIo,38513
|
|
291
291
|
cribl_control_plane/pipelines.py,sha256=jeU-R5NDOsLXrV-5t7Cz-RPidsQ4KwNN4-_oW9iNK0s,36946
|
|
292
292
|
cribl_control_plane/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
|
|
293
293
|
cribl_control_plane/routes_sdk.py,sha256=aqJkB-EbLzA2NSFtu9N7ERta5BvIbpDRg7OZcO_ndkA,33197
|
|
294
294
|
cribl_control_plane/samples.py,sha256=41bJGkB-lxj8WmeI-418PwgMT2KPKqlINp26CKwt0Yk,16067
|
|
295
|
-
cribl_control_plane/sdk.py,sha256=
|
|
295
|
+
cribl_control_plane/sdk.py,sha256=OqUFrzRv28ANjtffffm1NlNgd9RPQvSGQc8k2Pl40lE,7974
|
|
296
296
|
cribl_control_plane/sdkconfiguration.py,sha256=bit6SSOyHqvibdtgNad5_ZcgMotk8NJfgHpKsBK8HFg,1259
|
|
297
|
-
cribl_control_plane/sources.py,sha256=
|
|
297
|
+
cribl_control_plane/sources.py,sha256=9JCNHdOGmMAGjBIYvzA7TSQsj6o6UEe89SHyQ_MGrSk,37120
|
|
298
298
|
cribl_control_plane/statuses.py,sha256=jVfnmt3M0aiKJ3tgB2WlMaCmKDPZCJoD-1Kh8p-37ZM,8013
|
|
299
299
|
cribl_control_plane/summaries.py,sha256=CtkNAxkMTArdUQhWHy7XqGPkO6DA-PvdwgVK-RHSkt0,8058
|
|
300
300
|
cribl_control_plane/teams.py,sha256=kSjUiS7cKiROcRDmTxhnnOeGIsqLZcP7MFCuv5Kgm1U,8844
|
|
301
301
|
cribl_control_plane/tokens.py,sha256=iP_0_Pl8LFgs_ektBTU-bvRjJq6JQ3q7qMWIeIIuXmc,7220
|
|
302
302
|
cribl_control_plane/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
|
|
303
303
|
cribl_control_plane/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
|
|
304
|
-
cribl_control_plane/utils/__init__.py,sha256=
|
|
304
|
+
cribl_control_plane/utils/__init__.py,sha256=CAG0O76aEToGKXpT6Ft87Vd-iiQTh4XdBrQ37BVbsiM,5861
|
|
305
305
|
cribl_control_plane/utils/annotations.py,sha256=aR7mZG34FzgRdew7WZPYEu9QGBerpuKxCF4sek5Z_5Y,1699
|
|
306
306
|
cribl_control_plane/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
|
|
307
307
|
cribl_control_plane/utils/enums.py,sha256=REU6ydF8gsVL3xaeGX4sMNyiL3q5P9h29-f6Sa6luAE,2633
|
|
308
|
-
cribl_control_plane/utils/eventstreaming.py,sha256=
|
|
308
|
+
cribl_control_plane/utils/eventstreaming.py,sha256=SgFqMcUOYKlrTQ4gAp_dNcKLvDXukeiEMNU3DP8mXk8,6692
|
|
309
309
|
cribl_control_plane/utils/forms.py,sha256=EJdnrfIkuwpDtekyHutla0HjI_FypTYcmYNyPKEu_W0,6874
|
|
310
310
|
cribl_control_plane/utils/headers.py,sha256=cPxWSmUILrefTGDzTH1Hdj7_Hlsj-EY6K5Tyc4iH4dk,3663
|
|
311
311
|
cribl_control_plane/utils/logger.py,sha256=VOliRfr1sX8RTNqAJSvQr_GvtMjBFISATpRy4-XxkE0,695
|
|
@@ -318,8 +318,8 @@ cribl_control_plane/utils/serializers.py,sha256=Hndks5M_rJXVub_N5lu0gKZQUoEmWrn6
|
|
|
318
318
|
cribl_control_plane/utils/unmarshal_json_response.py,sha256=yxi3F_O3SCU0SrexiR3BvQS-E81pW2siLgpTXYegAyg,595
|
|
319
319
|
cribl_control_plane/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
|
|
320
320
|
cribl_control_plane/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
|
|
321
|
-
cribl_control_plane/versions.py,sha256=
|
|
321
|
+
cribl_control_plane/versions.py,sha256=4xdTYbM84Xyjr5qkixqNpgn2q6V8aXVYXkEPDU2Ele0,1156
|
|
322
322
|
cribl_control_plane/versions_configs.py,sha256=5CKcfN4SzuyFgggrx6O8H_h3GhNyKSbfdVhSkVGZKi4,7284
|
|
323
|
-
cribl_control_plane-0.0.
|
|
324
|
-
cribl_control_plane-0.0.
|
|
325
|
-
cribl_control_plane-0.0.
|
|
323
|
+
cribl_control_plane-0.0.44.dist-info/METADATA,sha256=Cf72xDRBJumVxzrkwUa2HqcrnYascsAEbQjs_08G7nA,38832
|
|
324
|
+
cribl_control_plane-0.0.44.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
325
|
+
cribl_control_plane-0.0.44.dist-info/RECORD,,
|
|
File without changes
|