cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__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 +92 -42
- 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 +7 -5
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/destinations_pq.py +2 -2
- cribl_control_plane/errors/__init__.py +23 -8
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +64 -38
- cribl_control_plane/health.py +22 -12
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +40 -12
- cribl_control_plane/models/__init__.py +1180 -54
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +66 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
- cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionpushop.py +5 -5
- cribl_control_plane/models/createversionrevertop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +22 -2
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
- cribl_control_plane/models/deletepipelinebyidop.py +2 -2
- cribl_control_plane/models/difffiles.py +171 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
- cribl_control_plane/models/getoutputpqbyidop.py +6 -5
- cribl_control_plane/models/getpipelinebyidop.py +2 -2
- cribl_control_plane/models/getroutesbyidop.py +2 -2
- cribl_control_plane/models/getsummaryop.py +18 -2
- cribl_control_plane/models/getversionbranchop.py +6 -5
- cribl_control_plane/models/getversioncountop.py +6 -5
- cribl_control_plane/models/getversiondiffop.py +6 -5
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitcountresult.py +13 -0
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/groupcreaterequest.py +171 -0
- cribl_control_plane/models/hbcriblinfo.py +39 -3
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +3 -0
- cribl_control_plane/models/input.py +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +513 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +254 -30
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +122 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +248 -26
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +141 -30
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +68 -6
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +111 -25
- cribl_control_plane/models/inputsplunksearch.py +108 -14
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +121 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +78 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +111 -25
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +17 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +11 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +199 -32
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +253 -43
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +669 -0
- cribl_control_plane/models/runnablejobexecutor.py +368 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +6 -6
- cribl_control_plane/models/updateroutesbyidop.py +2 -2
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/packs.py +202 -7
- cribl_control_plane/pipelines.py +18 -18
- cribl_control_plane/routes_sdk.py +22 -22
- cribl_control_plane/sdk.py +19 -6
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/tokens.py +23 -15
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
- cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -12,21 +16,23 @@ class OutputSplunkLbType(str, Enum):
|
|
|
12
16
|
SPLUNK_LB = "splunk_lb"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class OutputSplunkLbNestedFieldSerialization(str, Enum):
|
|
19
|
+
class OutputSplunkLbNestedFieldSerialization(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
20
|
r"""How to serialize nested fields into index-time fields"""
|
|
17
21
|
|
|
22
|
+
# JSON
|
|
18
23
|
JSON = "json"
|
|
24
|
+
# None
|
|
19
25
|
NONE = "none"
|
|
20
26
|
|
|
21
27
|
|
|
22
|
-
class OutputSplunkLbMinimumTLSVersion(str, Enum):
|
|
28
|
+
class OutputSplunkLbMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
29
|
TL_SV1 = "TLSv1"
|
|
24
30
|
TL_SV1_1 = "TLSv1.1"
|
|
25
31
|
TL_SV1_2 = "TLSv1.2"
|
|
26
32
|
TL_SV1_3 = "TLSv1.3"
|
|
27
33
|
|
|
28
34
|
|
|
29
|
-
class OutputSplunkLbMaximumTLSVersion(str, Enum):
|
|
35
|
+
class OutputSplunkLbMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
36
|
TL_SV1 = "TLSv1"
|
|
31
37
|
TL_SV1_1 = "TLSv1.1"
|
|
32
38
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -86,45 +92,79 @@ class OutputSplunkLbTLSSettingsClientSide(BaseModel):
|
|
|
86
92
|
r"""Passphrase to use to decrypt private key"""
|
|
87
93
|
|
|
88
94
|
min_version: Annotated[
|
|
89
|
-
|
|
95
|
+
Annotated[
|
|
96
|
+
Optional[OutputSplunkLbMinimumTLSVersion],
|
|
97
|
+
PlainValidator(validate_open_enum(False)),
|
|
98
|
+
],
|
|
99
|
+
pydantic.Field(alias="minVersion"),
|
|
90
100
|
] = None
|
|
91
101
|
|
|
92
102
|
max_version: Annotated[
|
|
93
|
-
|
|
103
|
+
Annotated[
|
|
104
|
+
Optional[OutputSplunkLbMaximumTLSVersion],
|
|
105
|
+
PlainValidator(validate_open_enum(False)),
|
|
106
|
+
],
|
|
107
|
+
pydantic.Field(alias="maxVersion"),
|
|
94
108
|
] = None
|
|
95
109
|
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
@field_serializer("min_version")
|
|
111
|
+
def serialize_min_version(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.OutputSplunkLbMinimumTLSVersion(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("max_version")
|
|
120
|
+
def serialize_max_version(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.OutputSplunkLbMaximumTLSVersion(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class OutputSplunkLbMaxS2SVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
98
130
|
r"""The highest S2S protocol version to advertise during handshake"""
|
|
99
131
|
|
|
100
132
|
V3 = "v3"
|
|
101
133
|
V4 = "v4"
|
|
102
134
|
|
|
103
135
|
|
|
104
|
-
class OutputSplunkLbBackpressureBehavior(str, Enum):
|
|
136
|
+
class OutputSplunkLbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
105
137
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
106
138
|
|
|
139
|
+
# Block
|
|
107
140
|
BLOCK = "block"
|
|
141
|
+
# Drop
|
|
108
142
|
DROP = "drop"
|
|
143
|
+
# Persistent Queue
|
|
109
144
|
QUEUE = "queue"
|
|
110
145
|
|
|
111
146
|
|
|
112
|
-
class OutputSplunkLbAuthenticationMethod(str, Enum):
|
|
147
|
+
class OutputSplunkLbAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
113
148
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
114
149
|
|
|
115
150
|
MANUAL = "manual"
|
|
116
151
|
SECRET = "secret"
|
|
117
152
|
|
|
118
153
|
|
|
119
|
-
class OutputSplunkLbCompressCompression(str, Enum):
|
|
154
|
+
class OutputSplunkLbCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
120
155
|
r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
|
|
121
156
|
|
|
157
|
+
# Disabled
|
|
122
158
|
DISABLED = "disabled"
|
|
159
|
+
# Automatic
|
|
123
160
|
AUTO = "auto"
|
|
161
|
+
# Always
|
|
124
162
|
ALWAYS = "always"
|
|
125
163
|
|
|
126
164
|
|
|
127
|
-
class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
165
|
+
class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
166
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
167
|
+
):
|
|
128
168
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
129
169
|
|
|
130
170
|
MANUAL = "manual"
|
|
@@ -138,13 +178,29 @@ class OutputSplunkLbAuthTokenTypedDict(TypedDict):
|
|
|
138
178
|
|
|
139
179
|
class OutputSplunkLbAuthToken(BaseModel):
|
|
140
180
|
auth_type: Annotated[
|
|
141
|
-
|
|
181
|
+
Annotated[
|
|
182
|
+
Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
|
|
183
|
+
PlainValidator(validate_open_enum(False)),
|
|
184
|
+
],
|
|
142
185
|
pydantic.Field(alias="authType"),
|
|
143
186
|
] = IndexerDiscoveryConfigsAuthTokenAuthenticationMethod.MANUAL
|
|
144
187
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
145
188
|
|
|
146
|
-
|
|
147
|
-
|
|
189
|
+
@field_serializer("auth_type")
|
|
190
|
+
def serialize_auth_type(self, value):
|
|
191
|
+
if isinstance(value, str):
|
|
192
|
+
try:
|
|
193
|
+
return models.IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
194
|
+
value
|
|
195
|
+
)
|
|
196
|
+
except ValueError:
|
|
197
|
+
return value
|
|
198
|
+
return value
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class IndexerDiscoveryConfigsAuthenticationMethod(
|
|
202
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
203
|
+
):
|
|
148
204
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
149
205
|
|
|
150
206
|
MANUAL = "manual"
|
|
@@ -197,7 +253,10 @@ class IndexerDiscoveryConfigs(BaseModel):
|
|
|
197
253
|
r"""Tokens required to authenticate to cluster manager for indexer discovery"""
|
|
198
254
|
|
|
199
255
|
auth_type: Annotated[
|
|
200
|
-
|
|
256
|
+
Annotated[
|
|
257
|
+
Optional[IndexerDiscoveryConfigsAuthenticationMethod],
|
|
258
|
+
PlainValidator(validate_open_enum(False)),
|
|
259
|
+
],
|
|
201
260
|
pydantic.Field(alias="authType"),
|
|
202
261
|
] = IndexerDiscoveryConfigsAuthenticationMethod.MANUAL
|
|
203
262
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -208,8 +267,17 @@ class IndexerDiscoveryConfigs(BaseModel):
|
|
|
208
267
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
209
268
|
r"""Select or create a stored text secret"""
|
|
210
269
|
|
|
270
|
+
@field_serializer("auth_type")
|
|
271
|
+
def serialize_auth_type(self, value):
|
|
272
|
+
if isinstance(value, str):
|
|
273
|
+
try:
|
|
274
|
+
return models.IndexerDiscoveryConfigsAuthenticationMethod(value)
|
|
275
|
+
except ValueError:
|
|
276
|
+
return value
|
|
277
|
+
return value
|
|
278
|
+
|
|
211
279
|
|
|
212
|
-
class OutputSplunkLbTLS(str, Enum):
|
|
280
|
+
class OutputSplunkLbTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
213
281
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
214
282
|
|
|
215
283
|
INHERIT = "inherit"
|
|
@@ -236,7 +304,9 @@ class OutputSplunkLbHost(BaseModel):
|
|
|
236
304
|
port: Optional[float] = 9997
|
|
237
305
|
r"""The port to connect to on the provided host"""
|
|
238
306
|
|
|
239
|
-
tls:
|
|
307
|
+
tls: Annotated[
|
|
308
|
+
Optional[OutputSplunkLbTLS], PlainValidator(validate_open_enum(False))
|
|
309
|
+
] = OutputSplunkLbTLS.INHERIT
|
|
240
310
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
241
311
|
|
|
242
312
|
servername: Optional[str] = None
|
|
@@ -245,29 +315,45 @@ class OutputSplunkLbHost(BaseModel):
|
|
|
245
315
|
weight: Optional[float] = 1
|
|
246
316
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
247
317
|
|
|
318
|
+
@field_serializer("tls")
|
|
319
|
+
def serialize_tls(self, value):
|
|
320
|
+
if isinstance(value, str):
|
|
321
|
+
try:
|
|
322
|
+
return models.OutputSplunkLbTLS(value)
|
|
323
|
+
except ValueError:
|
|
324
|
+
return value
|
|
325
|
+
return value
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
329
|
+
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."""
|
|
330
|
+
|
|
331
|
+
# Error
|
|
332
|
+
ERROR = "error"
|
|
333
|
+
# Backpressure
|
|
334
|
+
ALWAYS = "always"
|
|
335
|
+
# Always On
|
|
336
|
+
BACKPRESSURE = "backpressure"
|
|
337
|
+
|
|
248
338
|
|
|
249
|
-
class OutputSplunkLbPqCompressCompression(str, Enum):
|
|
339
|
+
class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
250
340
|
r"""Codec to use to compress the persisted data"""
|
|
251
341
|
|
|
342
|
+
# None
|
|
252
343
|
NONE = "none"
|
|
344
|
+
# Gzip
|
|
253
345
|
GZIP = "gzip"
|
|
254
346
|
|
|
255
347
|
|
|
256
|
-
class OutputSplunkLbQueueFullBehavior(str, Enum):
|
|
348
|
+
class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
257
349
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
258
350
|
|
|
351
|
+
# Block
|
|
259
352
|
BLOCK = "block"
|
|
353
|
+
# Drop new data
|
|
260
354
|
DROP = "drop"
|
|
261
355
|
|
|
262
356
|
|
|
263
|
-
class OutputSplunkLbMode(str, Enum):
|
|
264
|
-
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."""
|
|
265
|
-
|
|
266
|
-
ERROR = "error"
|
|
267
|
-
BACKPRESSURE = "backpressure"
|
|
268
|
-
ALWAYS = "always"
|
|
269
|
-
|
|
270
|
-
|
|
271
357
|
class OutputSplunkLbPqControlsTypedDict(TypedDict):
|
|
272
358
|
pass
|
|
273
359
|
|
|
@@ -330,6 +416,16 @@ class OutputSplunkLbTypedDict(TypedDict):
|
|
|
330
416
|
r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment."""
|
|
331
417
|
exclude_self: NotRequired[bool]
|
|
332
418
|
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
419
|
+
pq_strict_ordering: NotRequired[bool]
|
|
420
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
421
|
+
pq_rate_per_sec: NotRequired[float]
|
|
422
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
423
|
+
pq_mode: NotRequired[OutputSplunkLbMode]
|
|
424
|
+
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."""
|
|
425
|
+
pq_max_buffer_size: NotRequired[float]
|
|
426
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
427
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
428
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
333
429
|
pq_max_file_size: NotRequired[str]
|
|
334
430
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
335
431
|
pq_max_size: NotRequired[str]
|
|
@@ -340,8 +436,6 @@ class OutputSplunkLbTypedDict(TypedDict):
|
|
|
340
436
|
r"""Codec to use to compress the persisted data"""
|
|
341
437
|
pq_on_backpressure: NotRequired[OutputSplunkLbQueueFullBehavior]
|
|
342
438
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
343
|
-
pq_mode: NotRequired[OutputSplunkLbMode]
|
|
344
|
-
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."""
|
|
345
439
|
pq_controls: NotRequired[OutputSplunkLbPqControlsTypedDict]
|
|
346
440
|
auth_token: NotRequired[str]
|
|
347
441
|
r"""Shared secret token to use when establishing a connection to a Splunk indexer."""
|
|
@@ -388,7 +482,10 @@ class OutputSplunkLb(BaseModel):
|
|
|
388
482
|
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."""
|
|
389
483
|
|
|
390
484
|
nested_fields: Annotated[
|
|
391
|
-
|
|
485
|
+
Annotated[
|
|
486
|
+
Optional[OutputSplunkLbNestedFieldSerialization],
|
|
487
|
+
PlainValidator(validate_open_enum(False)),
|
|
488
|
+
],
|
|
392
489
|
pydantic.Field(alias="nestedFields"),
|
|
393
490
|
] = OutputSplunkLbNestedFieldSerialization.NONE
|
|
394
491
|
r"""How to serialize nested fields into index-time fields"""
|
|
@@ -424,12 +521,19 @@ class OutputSplunkLb(BaseModel):
|
|
|
424
521
|
r"""Use to troubleshoot issues with sending data"""
|
|
425
522
|
|
|
426
523
|
max_s2_sversion: Annotated[
|
|
427
|
-
|
|
524
|
+
Annotated[
|
|
525
|
+
Optional[OutputSplunkLbMaxS2SVersion],
|
|
526
|
+
PlainValidator(validate_open_enum(False)),
|
|
527
|
+
],
|
|
528
|
+
pydantic.Field(alias="maxS2Sversion"),
|
|
428
529
|
] = OutputSplunkLbMaxS2SVersion.V3
|
|
429
530
|
r"""The highest S2S protocol version to advertise during handshake"""
|
|
430
531
|
|
|
431
532
|
on_backpressure: Annotated[
|
|
432
|
-
|
|
533
|
+
Annotated[
|
|
534
|
+
Optional[OutputSplunkLbBackpressureBehavior],
|
|
535
|
+
PlainValidator(validate_open_enum(False)),
|
|
536
|
+
],
|
|
433
537
|
pydantic.Field(alias="onBackpressure"),
|
|
434
538
|
] = OutputSplunkLbBackpressureBehavior.BLOCK
|
|
435
539
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -445,7 +549,11 @@ class OutputSplunkLb(BaseModel):
|
|
|
445
549
|
r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute."""
|
|
446
550
|
|
|
447
551
|
auth_type: Annotated[
|
|
448
|
-
|
|
552
|
+
Annotated[
|
|
553
|
+
Optional[OutputSplunkLbAuthenticationMethod],
|
|
554
|
+
PlainValidator(validate_open_enum(False)),
|
|
555
|
+
],
|
|
556
|
+
pydantic.Field(alias="authType"),
|
|
449
557
|
] = OutputSplunkLbAuthenticationMethod.MANUAL
|
|
450
558
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
451
559
|
|
|
@@ -456,9 +564,10 @@ class OutputSplunkLb(BaseModel):
|
|
|
456
564
|
] = 1
|
|
457
565
|
r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur."""
|
|
458
566
|
|
|
459
|
-
compress:
|
|
460
|
-
OutputSplunkLbCompressCompression
|
|
461
|
-
|
|
567
|
+
compress: Annotated[
|
|
568
|
+
Optional[OutputSplunkLbCompressCompression],
|
|
569
|
+
PlainValidator(validate_open_enum(False)),
|
|
570
|
+
] = OutputSplunkLbCompressCompression.DISABLED
|
|
462
571
|
r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
|
|
463
572
|
|
|
464
573
|
indexer_discovery_configs: Annotated[
|
|
@@ -470,6 +579,34 @@ class OutputSplunkLb(BaseModel):
|
|
|
470
579
|
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
471
580
|
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
472
581
|
|
|
582
|
+
pq_strict_ordering: Annotated[
|
|
583
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
584
|
+
] = True
|
|
585
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
586
|
+
|
|
587
|
+
pq_rate_per_sec: Annotated[
|
|
588
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
589
|
+
] = 0
|
|
590
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
591
|
+
|
|
592
|
+
pq_mode: Annotated[
|
|
593
|
+
Annotated[
|
|
594
|
+
Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
|
|
595
|
+
],
|
|
596
|
+
pydantic.Field(alias="pqMode"),
|
|
597
|
+
] = OutputSplunkLbMode.ERROR
|
|
598
|
+
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."""
|
|
599
|
+
|
|
600
|
+
pq_max_buffer_size: Annotated[
|
|
601
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
602
|
+
] = 42
|
|
603
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
604
|
+
|
|
605
|
+
pq_max_backpressure_sec: Annotated[
|
|
606
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
607
|
+
] = 30
|
|
608
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
609
|
+
|
|
473
610
|
pq_max_file_size: Annotated[
|
|
474
611
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
475
612
|
] = "1 MB"
|
|
@@ -484,22 +621,23 @@ class OutputSplunkLb(BaseModel):
|
|
|
484
621
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
485
622
|
|
|
486
623
|
pq_compress: Annotated[
|
|
487
|
-
|
|
624
|
+
Annotated[
|
|
625
|
+
Optional[OutputSplunkLbPqCompressCompression],
|
|
626
|
+
PlainValidator(validate_open_enum(False)),
|
|
627
|
+
],
|
|
488
628
|
pydantic.Field(alias="pqCompress"),
|
|
489
629
|
] = OutputSplunkLbPqCompressCompression.NONE
|
|
490
630
|
r"""Codec to use to compress the persisted data"""
|
|
491
631
|
|
|
492
632
|
pq_on_backpressure: Annotated[
|
|
493
|
-
|
|
633
|
+
Annotated[
|
|
634
|
+
Optional[OutputSplunkLbQueueFullBehavior],
|
|
635
|
+
PlainValidator(validate_open_enum(False)),
|
|
636
|
+
],
|
|
494
637
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
495
638
|
] = OutputSplunkLbQueueFullBehavior.BLOCK
|
|
496
639
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
497
640
|
|
|
498
|
-
pq_mode: Annotated[Optional[OutputSplunkLbMode], pydantic.Field(alias="pqMode")] = (
|
|
499
|
-
OutputSplunkLbMode.ERROR
|
|
500
|
-
)
|
|
501
|
-
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."""
|
|
502
|
-
|
|
503
641
|
pq_controls: Annotated[
|
|
504
642
|
Optional[OutputSplunkLbPqControls], pydantic.Field(alias="pqControls")
|
|
505
643
|
] = None
|
|
@@ -509,3 +647,75 @@ class OutputSplunkLb(BaseModel):
|
|
|
509
647
|
|
|
510
648
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
511
649
|
r"""Select or create a stored text secret"""
|
|
650
|
+
|
|
651
|
+
@field_serializer("nested_fields")
|
|
652
|
+
def serialize_nested_fields(self, value):
|
|
653
|
+
if isinstance(value, str):
|
|
654
|
+
try:
|
|
655
|
+
return models.OutputSplunkLbNestedFieldSerialization(value)
|
|
656
|
+
except ValueError:
|
|
657
|
+
return value
|
|
658
|
+
return value
|
|
659
|
+
|
|
660
|
+
@field_serializer("max_s2_sversion")
|
|
661
|
+
def serialize_max_s2_sversion(self, value):
|
|
662
|
+
if isinstance(value, str):
|
|
663
|
+
try:
|
|
664
|
+
return models.OutputSplunkLbMaxS2SVersion(value)
|
|
665
|
+
except ValueError:
|
|
666
|
+
return value
|
|
667
|
+
return value
|
|
668
|
+
|
|
669
|
+
@field_serializer("on_backpressure")
|
|
670
|
+
def serialize_on_backpressure(self, value):
|
|
671
|
+
if isinstance(value, str):
|
|
672
|
+
try:
|
|
673
|
+
return models.OutputSplunkLbBackpressureBehavior(value)
|
|
674
|
+
except ValueError:
|
|
675
|
+
return value
|
|
676
|
+
return value
|
|
677
|
+
|
|
678
|
+
@field_serializer("auth_type")
|
|
679
|
+
def serialize_auth_type(self, value):
|
|
680
|
+
if isinstance(value, str):
|
|
681
|
+
try:
|
|
682
|
+
return models.OutputSplunkLbAuthenticationMethod(value)
|
|
683
|
+
except ValueError:
|
|
684
|
+
return value
|
|
685
|
+
return value
|
|
686
|
+
|
|
687
|
+
@field_serializer("compress")
|
|
688
|
+
def serialize_compress(self, value):
|
|
689
|
+
if isinstance(value, str):
|
|
690
|
+
try:
|
|
691
|
+
return models.OutputSplunkLbCompressCompression(value)
|
|
692
|
+
except ValueError:
|
|
693
|
+
return value
|
|
694
|
+
return value
|
|
695
|
+
|
|
696
|
+
@field_serializer("pq_mode")
|
|
697
|
+
def serialize_pq_mode(self, value):
|
|
698
|
+
if isinstance(value, str):
|
|
699
|
+
try:
|
|
700
|
+
return models.OutputSplunkLbMode(value)
|
|
701
|
+
except ValueError:
|
|
702
|
+
return value
|
|
703
|
+
return value
|
|
704
|
+
|
|
705
|
+
@field_serializer("pq_compress")
|
|
706
|
+
def serialize_pq_compress(self, value):
|
|
707
|
+
if isinstance(value, str):
|
|
708
|
+
try:
|
|
709
|
+
return models.OutputSplunkLbPqCompressCompression(value)
|
|
710
|
+
except ValueError:
|
|
711
|
+
return value
|
|
712
|
+
return value
|
|
713
|
+
|
|
714
|
+
@field_serializer("pq_on_backpressure")
|
|
715
|
+
def serialize_pq_on_backpressure(self, value):
|
|
716
|
+
if isinstance(value, str):
|
|
717
|
+
try:
|
|
718
|
+
return models.OutputSplunkLbQueueFullBehavior(value)
|
|
719
|
+
except ValueError:
|
|
720
|
+
return value
|
|
721
|
+
return value
|