cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__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/_version.py +4 -4
- cribl_control_plane/groups_sdk.py +2 -2
- cribl_control_plane/lakedatasets.py +28 -0
- cribl_control_plane/models/__init__.py +124 -5
- cribl_control_plane/models/cacheconnection.py +20 -0
- cribl_control_plane/models/configgroup.py +20 -1
- cribl_control_plane/models/configgroupcloud.py +11 -1
- cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
- cribl_control_plane/models/cribllakedataset.py +15 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
- cribl_control_plane/models/datasetmetadata.py +11 -1
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
- cribl_control_plane/models/getsummaryop.py +11 -0
- cribl_control_plane/models/groupcreaterequest.py +20 -1
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthserverstatus.py +20 -1
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +76 -17
- cribl_control_plane/models/inputazureblob.py +29 -1
- cribl_control_plane/models/inputcollection.py +20 -1
- cribl_control_plane/models/inputconfluentcloud.py +188 -1
- cribl_control_plane/models/inputcribl.py +20 -1
- cribl_control_plane/models/inputcriblhttp.py +58 -17
- cribl_control_plane/models/inputcribllakehttp.py +58 -17
- cribl_control_plane/models/inputcriblmetrics.py +20 -1
- cribl_control_plane/models/inputcribltcp.py +58 -17
- cribl_control_plane/models/inputcrowdstrike.py +47 -1
- cribl_control_plane/models/inputdatadogagent.py +58 -17
- cribl_control_plane/models/inputdatagen.py +20 -1
- cribl_control_plane/models/inputedgeprometheus.py +138 -37
- cribl_control_plane/models/inputelastic.py +108 -27
- cribl_control_plane/models/inputeventhub.py +176 -1
- cribl_control_plane/models/inputexec.py +29 -1
- cribl_control_plane/models/inputfile.py +40 -7
- cribl_control_plane/models/inputfirehose.py +58 -17
- cribl_control_plane/models/inputgooglepubsub.py +29 -1
- cribl_control_plane/models/inputgrafana.py +149 -32
- cribl_control_plane/models/inputhttp.py +58 -17
- cribl_control_plane/models/inputhttpraw.py +58 -17
- cribl_control_plane/models/inputjournalfiles.py +20 -1
- cribl_control_plane/models/inputkafka.py +182 -1
- cribl_control_plane/models/inputkinesis.py +65 -1
- cribl_control_plane/models/inputkubeevents.py +20 -1
- cribl_control_plane/models/inputkubelogs.py +29 -1
- cribl_control_plane/models/inputkubemetrics.py +29 -1
- cribl_control_plane/models/inputloki.py +67 -17
- cribl_control_plane/models/inputmetrics.py +58 -17
- cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
- cribl_control_plane/models/inputmsk.py +74 -1
- cribl_control_plane/models/inputnetflow.py +20 -1
- cribl_control_plane/models/inputoffice365mgmt.py +56 -1
- cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
- cribl_control_plane/models/inputoffice365service.py +56 -1
- cribl_control_plane/models/inputopentelemetry.py +84 -16
- cribl_control_plane/models/inputprometheus.py +131 -37
- cribl_control_plane/models/inputprometheusrw.py +67 -17
- cribl_control_plane/models/inputrawudp.py +20 -1
- cribl_control_plane/models/inputs3.py +38 -1
- cribl_control_plane/models/inputs3inventory.py +47 -1
- cribl_control_plane/models/inputsecuritylake.py +47 -1
- cribl_control_plane/models/inputsnmp.py +29 -1
- cribl_control_plane/models/inputsplunk.py +76 -17
- cribl_control_plane/models/inputsplunkhec.py +66 -16
- cribl_control_plane/models/inputsplunksearch.py +56 -1
- cribl_control_plane/models/inputsqs.py +47 -1
- cribl_control_plane/models/inputsyslog.py +113 -32
- cribl_control_plane/models/inputsystemmetrics.py +110 -9
- cribl_control_plane/models/inputsystemstate.py +29 -1
- cribl_control_plane/models/inputtcp.py +77 -17
- cribl_control_plane/models/inputtcpjson.py +67 -17
- cribl_control_plane/models/inputwef.py +65 -1
- cribl_control_plane/models/inputwindowsmetrics.py +101 -9
- cribl_control_plane/models/inputwineventlogs.py +52 -1
- cribl_control_plane/models/inputwiz.py +38 -1
- cribl_control_plane/models/inputwizwebhook.py +58 -17
- cribl_control_plane/models/inputzscalerhec.py +66 -16
- cribl_control_plane/models/jobinfo.py +10 -4
- cribl_control_plane/models/jobstatus.py +34 -3
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/masterworkerentry.py +11 -1
- cribl_control_plane/models/nodeupgradestatus.py +38 -0
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +90 -1
- cribl_control_plane/models/outputazuredataexplorer.py +430 -93
- cribl_control_plane/models/outputazureeventhub.py +267 -22
- cribl_control_plane/models/outputazurelogs.py +105 -22
- cribl_control_plane/models/outputchronicle.py +105 -22
- cribl_control_plane/models/outputclickhouse.py +141 -22
- cribl_control_plane/models/outputcloudwatch.py +96 -22
- cribl_control_plane/models/outputconfluentcloud.py +292 -23
- cribl_control_plane/models/outputcriblhttp.py +123 -22
- cribl_control_plane/models/outputcribllake.py +76 -1
- cribl_control_plane/models/outputcribltcp.py +123 -22
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
- cribl_control_plane/models/outputdatabricks.py +76 -5
- cribl_control_plane/models/outputdatadog.py +132 -22
- cribl_control_plane/models/outputdataset.py +123 -22
- cribl_control_plane/models/outputdiskspool.py +11 -1
- cribl_control_plane/models/outputdls3.py +117 -1
- cribl_control_plane/models/outputdynatracehttp.py +141 -22
- cribl_control_plane/models/outputdynatraceotlp.py +141 -22
- cribl_control_plane/models/outputelastic.py +148 -22
- cribl_control_plane/models/outputelasticcloud.py +130 -22
- cribl_control_plane/models/outputexabeam.py +47 -1
- cribl_control_plane/models/outputfilesystem.py +72 -1
- cribl_control_plane/models/outputgooglechronicle.py +148 -23
- cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
- cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
- cribl_control_plane/models/outputgooglepubsub.py +96 -22
- cribl_control_plane/models/outputgrafanacloud.py +244 -43
- cribl_control_plane/models/outputgraphite.py +96 -22
- cribl_control_plane/models/outputhoneycomb.py +105 -22
- cribl_control_plane/models/outputhumiohec.py +114 -22
- cribl_control_plane/models/outputinfluxdb.py +114 -22
- cribl_control_plane/models/outputkafka.py +283 -20
- cribl_control_plane/models/outputkinesis.py +121 -22
- cribl_control_plane/models/outputloki.py +112 -20
- cribl_control_plane/models/outputminio.py +117 -1
- cribl_control_plane/models/outputmsk.py +175 -20
- cribl_control_plane/models/outputnewrelic.py +123 -22
- cribl_control_plane/models/outputnewrelicevents.py +115 -23
- cribl_control_plane/models/outputopentelemetry.py +159 -22
- cribl_control_plane/models/outputprometheus.py +105 -22
- cribl_control_plane/models/outputring.py +29 -1
- cribl_control_plane/models/outputs3.py +117 -1
- cribl_control_plane/models/outputsecuritylake.py +85 -1
- cribl_control_plane/models/outputsentinel.py +123 -22
- cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
- cribl_control_plane/models/outputservicenow.py +150 -22
- cribl_control_plane/models/outputsignalfx.py +105 -22
- cribl_control_plane/models/outputsns.py +103 -20
- cribl_control_plane/models/outputsplunk.py +141 -22
- cribl_control_plane/models/outputsplunkhec.py +198 -22
- cribl_control_plane/models/outputsplunklb.py +170 -22
- cribl_control_plane/models/outputsqs.py +112 -20
- cribl_control_plane/models/outputstatsd.py +96 -22
- cribl_control_plane/models/outputstatsdext.py +96 -22
- cribl_control_plane/models/outputsumologic.py +105 -22
- cribl_control_plane/models/outputsyslog.py +238 -99
- cribl_control_plane/models/outputtcpjson.py +132 -22
- cribl_control_plane/models/outputwavefront.py +105 -22
- cribl_control_plane/models/outputwebhook.py +141 -22
- cribl_control_plane/models/outputxsiam.py +103 -20
- cribl_control_plane/models/resourcepolicy.py +11 -0
- cribl_control_plane/models/runnablejobcollection.py +68 -9
- cribl_control_plane/models/runnablejobexecutor.py +32 -9
- cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
- cribl_control_plane/sdk.py +2 -2
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
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 utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import Any, List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -107,6 +108,24 @@ class InputOpenTelemetryPq(BaseModel):
|
|
|
107
108
|
Optional[InputOpenTelemetryPqControls], pydantic.Field(alias="pqControls")
|
|
108
109
|
] = None
|
|
109
110
|
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputOpenTelemetryMode(value)
|
|
116
|
+
except ValueError:
|
|
117
|
+
return value
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
@field_serializer("compress")
|
|
121
|
+
def serialize_compress(self, value):
|
|
122
|
+
if isinstance(value, str):
|
|
123
|
+
try:
|
|
124
|
+
return models.InputOpenTelemetryCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
110
129
|
|
|
111
130
|
class InputOpenTelemetryMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
112
131
|
TL_SV1 = "TLSv1"
|
|
@@ -124,6 +143,12 @@ class InputOpenTelemetryMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
124
143
|
|
|
125
144
|
class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
145
|
disabled: NotRequired[bool]
|
|
146
|
+
request_cert: NotRequired[bool]
|
|
147
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
148
|
+
reject_unauthorized: NotRequired[bool]
|
|
149
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
150
|
+
common_name_regex: NotRequired[str]
|
|
151
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
127
152
|
certificate_name: NotRequired[str]
|
|
128
153
|
r"""The name of the predefined certificate"""
|
|
129
154
|
priv_key_path: NotRequired[str]
|
|
@@ -134,10 +159,6 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
134
159
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
135
160
|
ca_path: NotRequired[str]
|
|
136
161
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
137
|
-
request_cert: NotRequired[bool]
|
|
138
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
139
|
-
reject_unauthorized: NotRequired[Any]
|
|
140
|
-
common_name_regex: NotRequired[Any]
|
|
141
162
|
min_version: NotRequired[InputOpenTelemetryMinimumTLSVersion]
|
|
142
163
|
max_version: NotRequired[InputOpenTelemetryMaximumTLSVersion]
|
|
143
164
|
|
|
@@ -145,6 +166,19 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
145
166
|
class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
|
|
146
167
|
disabled: Optional[bool] = True
|
|
147
168
|
|
|
169
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
170
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
171
|
+
|
|
172
|
+
reject_unauthorized: Annotated[
|
|
173
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
174
|
+
] = True
|
|
175
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
176
|
+
|
|
177
|
+
common_name_regex: Annotated[
|
|
178
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
179
|
+
] = "/.*/"
|
|
180
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
181
|
+
|
|
148
182
|
certificate_name: Annotated[
|
|
149
183
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
150
184
|
] = None
|
|
@@ -162,17 +196,6 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
|
|
|
162
196
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
163
197
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
164
198
|
|
|
165
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
166
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
167
|
-
|
|
168
|
-
reject_unauthorized: Annotated[
|
|
169
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
170
|
-
] = None
|
|
171
|
-
|
|
172
|
-
common_name_regex: Annotated[
|
|
173
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
174
|
-
] = None
|
|
175
|
-
|
|
176
199
|
min_version: Annotated[
|
|
177
200
|
Annotated[
|
|
178
201
|
Optional[InputOpenTelemetryMinimumTLSVersion],
|
|
@@ -189,6 +212,24 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
|
|
|
189
212
|
pydantic.Field(alias="maxVersion"),
|
|
190
213
|
] = None
|
|
191
214
|
|
|
215
|
+
@field_serializer("min_version")
|
|
216
|
+
def serialize_min_version(self, value):
|
|
217
|
+
if isinstance(value, str):
|
|
218
|
+
try:
|
|
219
|
+
return models.InputOpenTelemetryMinimumTLSVersion(value)
|
|
220
|
+
except ValueError:
|
|
221
|
+
return value
|
|
222
|
+
return value
|
|
223
|
+
|
|
224
|
+
@field_serializer("max_version")
|
|
225
|
+
def serialize_max_version(self, value):
|
|
226
|
+
if isinstance(value, str):
|
|
227
|
+
try:
|
|
228
|
+
return models.InputOpenTelemetryMaximumTLSVersion(value)
|
|
229
|
+
except ValueError:
|
|
230
|
+
return value
|
|
231
|
+
return value
|
|
232
|
+
|
|
192
233
|
|
|
193
234
|
class InputOpenTelemetryProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
194
235
|
r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
|
|
@@ -535,3 +576,30 @@ class InputOpenTelemetry(BaseModel):
|
|
|
535
576
|
|
|
536
577
|
extract_logs: Annotated[Optional[bool], pydantic.Field(alias="extractLogs")] = False
|
|
537
578
|
r"""Enable to extract each incoming log record to a separate event"""
|
|
579
|
+
|
|
580
|
+
@field_serializer("protocol")
|
|
581
|
+
def serialize_protocol(self, value):
|
|
582
|
+
if isinstance(value, str):
|
|
583
|
+
try:
|
|
584
|
+
return models.InputOpenTelemetryProtocol(value)
|
|
585
|
+
except ValueError:
|
|
586
|
+
return value
|
|
587
|
+
return value
|
|
588
|
+
|
|
589
|
+
@field_serializer("otlp_version")
|
|
590
|
+
def serialize_otlp_version(self, value):
|
|
591
|
+
if isinstance(value, str):
|
|
592
|
+
try:
|
|
593
|
+
return models.InputOpenTelemetryOTLPVersion(value)
|
|
594
|
+
except ValueError:
|
|
595
|
+
return value
|
|
596
|
+
return value
|
|
597
|
+
|
|
598
|
+
@field_serializer("auth_type")
|
|
599
|
+
def serialize_auth_type(self, value):
|
|
600
|
+
if isinstance(value, str):
|
|
601
|
+
try:
|
|
602
|
+
return models.InputOpenTelemetryAuthenticationType(value)
|
|
603
|
+
except ValueError:
|
|
604
|
+
return value
|
|
605
|
+
return value
|
|
@@ -1,11 +1,12 @@
|
|
|
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 utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputPrometheusPq(BaseModel):
|
|
|
106
107
|
Optional[InputPrometheusPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputPrometheusMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputPrometheusCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""Target discovery mechanism. Use static to manually enter a list of targets."""
|
|
@@ -164,6 +183,19 @@ class MetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
164
183
|
HTTPS = "https"
|
|
165
184
|
|
|
166
185
|
|
|
186
|
+
class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
187
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
188
|
+
):
|
|
189
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
190
|
+
|
|
191
|
+
# Auto
|
|
192
|
+
AUTO = "auto"
|
|
193
|
+
# Manual
|
|
194
|
+
MANUAL = "manual"
|
|
195
|
+
# Secret Key pair
|
|
196
|
+
SECRET = "secret"
|
|
197
|
+
|
|
198
|
+
|
|
167
199
|
class InputPrometheusSearchFilterTypedDict(TypedDict):
|
|
168
200
|
name: str
|
|
169
201
|
r"""Search filter attribute name, see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for more information. Attributes can be manually entered if not present in the drop down list"""
|
|
@@ -179,19 +211,6 @@ class InputPrometheusSearchFilter(BaseModel):
|
|
|
179
211
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
180
212
|
|
|
181
213
|
|
|
182
|
-
class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
183
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
184
|
-
):
|
|
185
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
186
|
-
|
|
187
|
-
# Auto
|
|
188
|
-
AUTO = "auto"
|
|
189
|
-
# Manual
|
|
190
|
-
MANUAL = "manual"
|
|
191
|
-
# Secret Key pair
|
|
192
|
-
SECRET = "secret"
|
|
193
|
-
|
|
194
|
-
|
|
195
214
|
class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
196
215
|
r"""Signature version to use for signing EC2 requests"""
|
|
197
216
|
|
|
@@ -244,24 +263,27 @@ class InputPrometheusTypedDict(TypedDict):
|
|
|
244
263
|
description: NotRequired[str]
|
|
245
264
|
target_list: NotRequired[List[str]]
|
|
246
265
|
r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
|
|
247
|
-
name_list: NotRequired[List[str]]
|
|
248
|
-
r"""List of DNS names to resolve"""
|
|
249
266
|
record_type: NotRequired[InputPrometheusRecordType]
|
|
250
267
|
r"""DNS Record type to resolve"""
|
|
268
|
+
scrape_port: NotRequired[float]
|
|
269
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
270
|
+
name_list: NotRequired[List[str]]
|
|
271
|
+
r"""List of DNS names to resolve"""
|
|
251
272
|
scrape_protocol: NotRequired[MetricsProtocol]
|
|
252
273
|
r"""Protocol to use when collecting metrics"""
|
|
253
274
|
scrape_path: NotRequired[str]
|
|
254
275
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
255
|
-
use_public_ip: NotRequired[bool]
|
|
256
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
257
|
-
scrape_port: NotRequired[float]
|
|
258
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
259
|
-
search_filter: NotRequired[List[InputPrometheusSearchFilterTypedDict]]
|
|
260
|
-
r"""EC2 Instance Search Filter"""
|
|
261
276
|
aws_authentication_method: NotRequired[
|
|
262
277
|
InputPrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
263
278
|
]
|
|
264
279
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
280
|
+
aws_api_key: NotRequired[str]
|
|
281
|
+
aws_secret: NotRequired[str]
|
|
282
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
283
|
+
use_public_ip: NotRequired[bool]
|
|
284
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
285
|
+
search_filter: NotRequired[List[InputPrometheusSearchFilterTypedDict]]
|
|
286
|
+
r"""EC2 Instance Search Filter"""
|
|
265
287
|
aws_secret_key: NotRequired[str]
|
|
266
288
|
region: NotRequired[str]
|
|
267
289
|
r"""Region where the EC2 is located"""
|
|
@@ -387,9 +409,6 @@ class InputPrometheus(BaseModel):
|
|
|
387
409
|
)
|
|
388
410
|
r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
|
|
389
411
|
|
|
390
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
391
|
-
r"""List of DNS names to resolve"""
|
|
392
|
-
|
|
393
412
|
record_type: Annotated[
|
|
394
413
|
Annotated[
|
|
395
414
|
Optional[InputPrometheusRecordType],
|
|
@@ -399,6 +418,12 @@ class InputPrometheus(BaseModel):
|
|
|
399
418
|
] = InputPrometheusRecordType.SRV
|
|
400
419
|
r"""DNS Record type to resolve"""
|
|
401
420
|
|
|
421
|
+
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
422
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
423
|
+
|
|
424
|
+
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
425
|
+
r"""List of DNS names to resolve"""
|
|
426
|
+
|
|
402
427
|
scrape_protocol: Annotated[
|
|
403
428
|
Annotated[Optional[MetricsProtocol], PlainValidator(validate_open_enum(False))],
|
|
404
429
|
pydantic.Field(alias="scrapeProtocol"),
|
|
@@ -410,18 +435,6 @@ class InputPrometheus(BaseModel):
|
|
|
410
435
|
)
|
|
411
436
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
412
437
|
|
|
413
|
-
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
414
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
415
|
-
|
|
416
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
417
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
418
|
-
|
|
419
|
-
search_filter: Annotated[
|
|
420
|
-
Optional[List[InputPrometheusSearchFilter]],
|
|
421
|
-
pydantic.Field(alias="searchFilter"),
|
|
422
|
-
] = None
|
|
423
|
-
r"""EC2 Instance Search Filter"""
|
|
424
|
-
|
|
425
438
|
aws_authentication_method: Annotated[
|
|
426
439
|
Annotated[
|
|
427
440
|
Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
@@ -431,6 +444,20 @@ class InputPrometheus(BaseModel):
|
|
|
431
444
|
] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
432
445
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
433
446
|
|
|
447
|
+
aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
|
|
448
|
+
|
|
449
|
+
aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
|
|
450
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
451
|
+
|
|
452
|
+
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
453
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
454
|
+
|
|
455
|
+
search_filter: Annotated[
|
|
456
|
+
Optional[List[InputPrometheusSearchFilter]],
|
|
457
|
+
pydantic.Field(alias="searchFilter"),
|
|
458
|
+
] = None
|
|
459
|
+
r"""EC2 Instance Search Filter"""
|
|
460
|
+
|
|
434
461
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
435
462
|
None
|
|
436
463
|
)
|
|
@@ -485,3 +512,70 @@ class InputPrometheus(BaseModel):
|
|
|
485
512
|
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
486
513
|
] = None
|
|
487
514
|
r"""Select or create a secret that references your credentials"""
|
|
515
|
+
|
|
516
|
+
@field_serializer("discovery_type")
|
|
517
|
+
def serialize_discovery_type(self, value):
|
|
518
|
+
if isinstance(value, str):
|
|
519
|
+
try:
|
|
520
|
+
return models.InputPrometheusDiscoveryType(value)
|
|
521
|
+
except ValueError:
|
|
522
|
+
return value
|
|
523
|
+
return value
|
|
524
|
+
|
|
525
|
+
@field_serializer("log_level")
|
|
526
|
+
def serialize_log_level(self, value):
|
|
527
|
+
if isinstance(value, str):
|
|
528
|
+
try:
|
|
529
|
+
return models.InputPrometheusLogLevel(value)
|
|
530
|
+
except ValueError:
|
|
531
|
+
return value
|
|
532
|
+
return value
|
|
533
|
+
|
|
534
|
+
@field_serializer("auth_type")
|
|
535
|
+
def serialize_auth_type(self, value):
|
|
536
|
+
if isinstance(value, str):
|
|
537
|
+
try:
|
|
538
|
+
return models.InputPrometheusAuthTypeAuthenticationMethod(value)
|
|
539
|
+
except ValueError:
|
|
540
|
+
return value
|
|
541
|
+
return value
|
|
542
|
+
|
|
543
|
+
@field_serializer("record_type")
|
|
544
|
+
def serialize_record_type(self, value):
|
|
545
|
+
if isinstance(value, str):
|
|
546
|
+
try:
|
|
547
|
+
return models.InputPrometheusRecordType(value)
|
|
548
|
+
except ValueError:
|
|
549
|
+
return value
|
|
550
|
+
return value
|
|
551
|
+
|
|
552
|
+
@field_serializer("scrape_protocol")
|
|
553
|
+
def serialize_scrape_protocol(self, value):
|
|
554
|
+
if isinstance(value, str):
|
|
555
|
+
try:
|
|
556
|
+
return models.MetricsProtocol(value)
|
|
557
|
+
except ValueError:
|
|
558
|
+
return value
|
|
559
|
+
return value
|
|
560
|
+
|
|
561
|
+
@field_serializer("aws_authentication_method")
|
|
562
|
+
def serialize_aws_authentication_method(self, value):
|
|
563
|
+
if isinstance(value, str):
|
|
564
|
+
try:
|
|
565
|
+
return (
|
|
566
|
+
models.InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
567
|
+
value
|
|
568
|
+
)
|
|
569
|
+
)
|
|
570
|
+
except ValueError:
|
|
571
|
+
return value
|
|
572
|
+
return value
|
|
573
|
+
|
|
574
|
+
@field_serializer("signature_version")
|
|
575
|
+
def serialize_signature_version(self, value):
|
|
576
|
+
if isinstance(value, str):
|
|
577
|
+
try:
|
|
578
|
+
return models.InputPrometheusSignatureVersion(value)
|
|
579
|
+
except ValueError:
|
|
580
|
+
return value
|
|
581
|
+
return value
|
|
@@ -1,13 +1,14 @@
|
|
|
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 utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
13
|
|
|
13
14
|
|
|
@@ -107,6 +108,24 @@ class InputPrometheusRwPq(BaseModel):
|
|
|
107
108
|
Optional[InputPrometheusRwPqControls], pydantic.Field(alias="pqControls")
|
|
108
109
|
] = None
|
|
109
110
|
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputPrometheusRwMode(value)
|
|
116
|
+
except ValueError:
|
|
117
|
+
return value
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
@field_serializer("compress")
|
|
121
|
+
def serialize_compress(self, value):
|
|
122
|
+
if isinstance(value, str):
|
|
123
|
+
try:
|
|
124
|
+
return models.InputPrometheusRwCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
110
129
|
|
|
111
130
|
class InputPrometheusRwMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
112
131
|
TL_SV1 = "TLSv1"
|
|
@@ -124,6 +143,12 @@ class InputPrometheusRwMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta
|
|
|
124
143
|
|
|
125
144
|
class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
145
|
disabled: NotRequired[bool]
|
|
146
|
+
request_cert: NotRequired[bool]
|
|
147
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
148
|
+
reject_unauthorized: NotRequired[bool]
|
|
149
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
150
|
+
common_name_regex: NotRequired[str]
|
|
151
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
127
152
|
certificate_name: NotRequired[str]
|
|
128
153
|
r"""The name of the predefined certificate"""
|
|
129
154
|
priv_key_path: NotRequired[str]
|
|
@@ -134,10 +159,6 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
134
159
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
135
160
|
ca_path: NotRequired[str]
|
|
136
161
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
137
|
-
request_cert: NotRequired[bool]
|
|
138
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
139
|
-
reject_unauthorized: NotRequired[Any]
|
|
140
|
-
common_name_regex: NotRequired[Any]
|
|
141
162
|
min_version: NotRequired[InputPrometheusRwMinimumTLSVersion]
|
|
142
163
|
max_version: NotRequired[InputPrometheusRwMaximumTLSVersion]
|
|
143
164
|
|
|
@@ -145,6 +166,19 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
145
166
|
class InputPrometheusRwTLSSettingsServerSide(BaseModel):
|
|
146
167
|
disabled: Optional[bool] = True
|
|
147
168
|
|
|
169
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
170
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
171
|
+
|
|
172
|
+
reject_unauthorized: Annotated[
|
|
173
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
174
|
+
] = True
|
|
175
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
176
|
+
|
|
177
|
+
common_name_regex: Annotated[
|
|
178
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
179
|
+
] = "/.*/"
|
|
180
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
181
|
+
|
|
148
182
|
certificate_name: Annotated[
|
|
149
183
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
150
184
|
] = None
|
|
@@ -162,17 +196,6 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
|
|
|
162
196
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
163
197
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
164
198
|
|
|
165
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
166
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
167
|
-
|
|
168
|
-
reject_unauthorized: Annotated[
|
|
169
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
170
|
-
] = None
|
|
171
|
-
|
|
172
|
-
common_name_regex: Annotated[
|
|
173
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
174
|
-
] = None
|
|
175
|
-
|
|
176
199
|
min_version: Annotated[
|
|
177
200
|
Annotated[
|
|
178
201
|
Optional[InputPrometheusRwMinimumTLSVersion],
|
|
@@ -189,6 +212,24 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
|
|
|
189
212
|
pydantic.Field(alias="maxVersion"),
|
|
190
213
|
] = None
|
|
191
214
|
|
|
215
|
+
@field_serializer("min_version")
|
|
216
|
+
def serialize_min_version(self, value):
|
|
217
|
+
if isinstance(value, str):
|
|
218
|
+
try:
|
|
219
|
+
return models.InputPrometheusRwMinimumTLSVersion(value)
|
|
220
|
+
except ValueError:
|
|
221
|
+
return value
|
|
222
|
+
return value
|
|
223
|
+
|
|
224
|
+
@field_serializer("max_version")
|
|
225
|
+
def serialize_max_version(self, value):
|
|
226
|
+
if isinstance(value, str):
|
|
227
|
+
try:
|
|
228
|
+
return models.InputPrometheusRwMaximumTLSVersion(value)
|
|
229
|
+
except ValueError:
|
|
230
|
+
return value
|
|
231
|
+
return value
|
|
232
|
+
|
|
192
233
|
|
|
193
234
|
class InputPrometheusRwAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
194
235
|
r"""Remote Write authentication type"""
|
|
@@ -485,3 +526,12 @@ class InputPrometheusRw(BaseModel):
|
|
|
485
526
|
pydantic.Field(alias="oauthHeaders"),
|
|
486
527
|
] = None
|
|
487
528
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
529
|
+
|
|
530
|
+
@field_serializer("auth_type")
|
|
531
|
+
def serialize_auth_type(self, value):
|
|
532
|
+
if isinstance(value, str):
|
|
533
|
+
try:
|
|
534
|
+
return models.InputPrometheusRwAuthenticationType(value)
|
|
535
|
+
except ValueError:
|
|
536
|
+
return value
|
|
537
|
+
return value
|
|
@@ -1,11 +1,12 @@
|
|
|
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 utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputRawUDPPq(BaseModel):
|
|
|
106
107
|
Optional[InputRawUDPPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputRawUDPMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputRawUDPCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputRawUDPMetadatumTypedDict(TypedDict):
|
|
111
130
|
name: str
|
|
@@ -1,11 +1,12 @@
|
|
|
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 utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputS3Pq(BaseModel):
|
|
|
106
107
|
Optional[InputS3PqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputS3Mode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputS3Compression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
@@ -441,3 +460,21 @@ class InputS3(BaseModel):
|
|
|
441
460
|
Optional[str], pydantic.Field(alias="processedTagValue")
|
|
442
461
|
] = None
|
|
443
462
|
r"""The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation."""
|
|
463
|
+
|
|
464
|
+
@field_serializer("aws_authentication_method")
|
|
465
|
+
def serialize_aws_authentication_method(self, value):
|
|
466
|
+
if isinstance(value, str):
|
|
467
|
+
try:
|
|
468
|
+
return models.InputS3AuthenticationMethod(value)
|
|
469
|
+
except ValueError:
|
|
470
|
+
return value
|
|
471
|
+
return value
|
|
472
|
+
|
|
473
|
+
@field_serializer("signature_version")
|
|
474
|
+
def serialize_signature_version(self, value):
|
|
475
|
+
if isinstance(value, str):
|
|
476
|
+
try:
|
|
477
|
+
return models.InputS3SignatureVersion(value)
|
|
478
|
+
except ValueError:
|
|
479
|
+
return value
|
|
480
|
+
return value
|