cribl-control-plane 0.3.0b2__py3-none-any.whl → 0.3.0b4__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 +3 -3
- cribl_control_plane/errors/__init__.py +8 -5
- cribl_control_plane/errors/{healthstatus_error.py → healthserverstatus_error.py} +10 -9
- cribl_control_plane/groups_sdk.py +48 -24
- cribl_control_plane/health.py +22 -16
- cribl_control_plane/models/__init__.py +152 -29
- cribl_control_plane/models/authtoken.py +4 -7
- cribl_control_plane/models/configgroup.py +8 -7
- cribl_control_plane/models/createconfiggroupbyproductop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/groupcreaterequest.py +152 -0
- cribl_control_plane/models/{healthstatus.py → healthserverstatus.py} +7 -7
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +20 -16
- cribl_control_plane/models/inputconfluentcloud.py +110 -0
- cribl_control_plane/models/inputcriblhttp.py +20 -16
- cribl_control_plane/models/inputcribllakehttp.py +20 -16
- cribl_control_plane/models/inputcribltcp.py +20 -16
- cribl_control_plane/models/inputdatadogagent.py +20 -16
- cribl_control_plane/models/inputedgeprometheus.py +44 -36
- cribl_control_plane/models/inputelastic.py +44 -27
- cribl_control_plane/models/inputeventhub.py +118 -0
- cribl_control_plane/models/inputfile.py +7 -2
- cribl_control_plane/models/inputfirehose.py +20 -16
- cribl_control_plane/models/inputgrafana.py +39 -31
- cribl_control_plane/models/inputhttp.py +20 -16
- cribl_control_plane/models/inputhttpraw.py +20 -16
- cribl_control_plane/models/inputkafka.py +108 -0
- cribl_control_plane/models/inputloki.py +20 -16
- cribl_control_plane/models/inputmetrics.py +20 -16
- cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
- cribl_control_plane/models/inputopentelemetry.py +19 -15
- cribl_control_plane/models/inputprometheus.py +44 -36
- cribl_control_plane/models/inputprometheusrw.py +20 -16
- cribl_control_plane/models/inputsplunk.py +20 -16
- cribl_control_plane/models/inputsplunkhec.py +19 -15
- cribl_control_plane/models/inputsyslog.py +39 -31
- cribl_control_plane/models/inputsystemmetrics.py +20 -10
- cribl_control_plane/models/inputtcp.py +30 -16
- cribl_control_plane/models/inputtcpjson.py +20 -16
- cribl_control_plane/models/inputwindowsmetrics.py +20 -10
- cribl_control_plane/models/inputwineventlogs.py +14 -0
- cribl_control_plane/models/inputwizwebhook.py +20 -16
- cribl_control_plane/models/inputzscalerhec.py +19 -15
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +7 -0
- cribl_control_plane/models/outputazuredataexplorer.py +283 -93
- cribl_control_plane/models/outputazureeventhub.py +169 -21
- cribl_control_plane/models/outputazurelogs.py +49 -21
- cribl_control_plane/models/outputchronicle.py +49 -21
- cribl_control_plane/models/outputclickhouse.py +49 -21
- cribl_control_plane/models/outputcloudwatch.py +49 -21
- cribl_control_plane/models/outputconfluentcloud.py +167 -22
- cribl_control_plane/models/outputcriblhttp.py +49 -21
- cribl_control_plane/models/outputcribltcp.py +49 -21
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
- cribl_control_plane/models/outputdatabricks.py +7 -0
- cribl_control_plane/models/outputdatadog.py +49 -21
- cribl_control_plane/models/outputdataset.py +49 -21
- cribl_control_plane/models/outputdls3.py +7 -0
- cribl_control_plane/models/outputdynatracehttp.py +49 -21
- cribl_control_plane/models/outputdynatraceotlp.py +49 -21
- cribl_control_plane/models/outputelastic.py +74 -21
- cribl_control_plane/models/outputelasticcloud.py +74 -21
- cribl_control_plane/models/outputfilesystem.py +7 -0
- cribl_control_plane/models/outputgooglechronicle.py +65 -22
- cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
- cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
- cribl_control_plane/models/outputgooglepubsub.py +49 -21
- cribl_control_plane/models/outputgrafanacloud.py +98 -42
- cribl_control_plane/models/outputgraphite.py +49 -21
- cribl_control_plane/models/outputhoneycomb.py +49 -21
- cribl_control_plane/models/outputhumiohec.py +49 -21
- cribl_control_plane/models/outputinfluxdb.py +49 -21
- cribl_control_plane/models/outputkafka.py +162 -19
- cribl_control_plane/models/outputkinesis.py +56 -21
- cribl_control_plane/models/outputloki.py +47 -19
- cribl_control_plane/models/outputminio.py +7 -0
- cribl_control_plane/models/outputmsk.py +54 -19
- cribl_control_plane/models/outputnewrelic.py +49 -21
- cribl_control_plane/models/outputnewrelicevents.py +50 -22
- cribl_control_plane/models/outputopentelemetry.py +49 -21
- cribl_control_plane/models/outputprometheus.py +49 -21
- cribl_control_plane/models/outputs3.py +7 -0
- cribl_control_plane/models/outputsentinel.py +49 -21
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
- cribl_control_plane/models/outputservicenow.py +49 -21
- cribl_control_plane/models/outputsignalfx.py +49 -21
- cribl_control_plane/models/outputsns.py +47 -19
- cribl_control_plane/models/outputsplunk.py +49 -21
- cribl_control_plane/models/outputsplunkhec.py +124 -21
- cribl_control_plane/models/outputsplunklb.py +49 -21
- cribl_control_plane/models/outputsqs.py +47 -19
- cribl_control_plane/models/outputstatsd.py +49 -21
- cribl_control_plane/models/outputstatsdext.py +49 -21
- cribl_control_plane/models/outputsumologic.py +49 -21
- cribl_control_plane/models/outputsyslog.py +129 -99
- cribl_control_plane/models/outputtcpjson.py +49 -21
- cribl_control_plane/models/outputwavefront.py +49 -21
- cribl_control_plane/models/outputwebhook.py +49 -21
- cribl_control_plane/models/outputxsiam.py +47 -19
- cribl_control_plane/models/runnablejobcollection.py +12 -8
- cribl_control_plane/models/runnablejobexecutor.py +12 -8
- cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +23 -15
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/METADATA +4 -4
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/RECORD +111 -112
- cribl_control_plane/models/error.py +0 -16
- cribl_control_plane/models/gethealthinfoop.py +0 -17
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/WHEEL +0 -0
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
142
|
min_version: NotRequired[InputCriblHTTPMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputCriblHTTPMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputCriblHTTPTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputCriblHTTPTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputCriblHTTPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -124,6 +124,12 @@ class InputCriblLakeHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
124
124
|
|
|
125
125
|
class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
126
|
disabled: NotRequired[bool]
|
|
127
|
+
request_cert: NotRequired[bool]
|
|
128
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
129
|
+
reject_unauthorized: NotRequired[bool]
|
|
130
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
131
|
+
common_name_regex: NotRequired[str]
|
|
132
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
127
133
|
certificate_name: NotRequired[str]
|
|
128
134
|
r"""The name of the predefined certificate"""
|
|
129
135
|
priv_key_path: NotRequired[str]
|
|
@@ -134,10 +140,6 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
134
140
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
135
141
|
ca_path: NotRequired[str]
|
|
136
142
|
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
143
|
min_version: NotRequired[InputCriblLakeHTTPMinimumTLSVersion]
|
|
142
144
|
max_version: NotRequired[InputCriblLakeHTTPMaximumTLSVersion]
|
|
143
145
|
|
|
@@ -145,6 +147,19 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
145
147
|
class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
|
|
146
148
|
disabled: Optional[bool] = True
|
|
147
149
|
|
|
150
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
151
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
152
|
+
|
|
153
|
+
reject_unauthorized: Annotated[
|
|
154
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
155
|
+
] = True
|
|
156
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
157
|
+
|
|
158
|
+
common_name_regex: Annotated[
|
|
159
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
160
|
+
] = "/.*/"
|
|
161
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
162
|
+
|
|
148
163
|
certificate_name: Annotated[
|
|
149
164
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
150
165
|
] = None
|
|
@@ -162,17 +177,6 @@ class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
|
|
|
162
177
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
163
178
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
164
179
|
|
|
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
180
|
min_version: Annotated[
|
|
177
181
|
Annotated[
|
|
178
182
|
Optional[InputCriblLakeHTTPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
142
|
min_version: NotRequired[InputCriblTCPMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputCriblTCPMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputCriblTCPTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputCriblTCPTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputCriblTCPMinimumTLSVersion],
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -124,6 +124,12 @@ class InputDatadogAgentMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta
|
|
|
124
124
|
|
|
125
125
|
class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
126
126
|
disabled: NotRequired[bool]
|
|
127
|
+
request_cert: NotRequired[bool]
|
|
128
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
129
|
+
reject_unauthorized: NotRequired[bool]
|
|
130
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
131
|
+
common_name_regex: NotRequired[str]
|
|
132
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
127
133
|
certificate_name: NotRequired[str]
|
|
128
134
|
r"""The name of the predefined certificate"""
|
|
129
135
|
priv_key_path: NotRequired[str]
|
|
@@ -134,10 +140,6 @@ class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
134
140
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
135
141
|
ca_path: NotRequired[str]
|
|
136
142
|
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
143
|
min_version: NotRequired[InputDatadogAgentMinimumTLSVersion]
|
|
142
144
|
max_version: NotRequired[InputDatadogAgentMaximumTLSVersion]
|
|
143
145
|
|
|
@@ -145,6 +147,19 @@ class InputDatadogAgentTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
145
147
|
class InputDatadogAgentTLSSettingsServerSide(BaseModel):
|
|
146
148
|
disabled: Optional[bool] = True
|
|
147
149
|
|
|
150
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
151
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
152
|
+
|
|
153
|
+
reject_unauthorized: Annotated[
|
|
154
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
155
|
+
] = True
|
|
156
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
157
|
+
|
|
158
|
+
common_name_regex: Annotated[
|
|
159
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
160
|
+
] = "/.*/"
|
|
161
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
162
|
+
|
|
148
163
|
certificate_name: Annotated[
|
|
149
164
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
150
165
|
] = None
|
|
@@ -162,17 +177,6 @@ class InputDatadogAgentTLSSettingsServerSide(BaseModel):
|
|
|
162
177
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
163
178
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
164
179
|
|
|
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
180
|
min_version: Annotated[
|
|
177
181
|
Annotated[
|
|
178
182
|
Optional[InputDatadogAgentMinimumTLSVersion],
|
|
@@ -237,6 +237,19 @@ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
237
237
|
HTTPS = "https"
|
|
238
238
|
|
|
239
239
|
|
|
240
|
+
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
241
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
242
|
+
):
|
|
243
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
244
|
+
|
|
245
|
+
# Auto
|
|
246
|
+
AUTO = "auto"
|
|
247
|
+
# Manual
|
|
248
|
+
MANUAL = "manual"
|
|
249
|
+
# Secret Key pair
|
|
250
|
+
SECRET = "secret"
|
|
251
|
+
|
|
252
|
+
|
|
240
253
|
class InputEdgePrometheusSearchFilterTypedDict(TypedDict):
|
|
241
254
|
name: str
|
|
242
255
|
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"""
|
|
@@ -252,19 +265,6 @@ class InputEdgePrometheusSearchFilter(BaseModel):
|
|
|
252
265
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
253
266
|
|
|
254
267
|
|
|
255
|
-
class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
256
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
257
|
-
):
|
|
258
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
259
|
-
|
|
260
|
-
# Auto
|
|
261
|
-
AUTO = "auto"
|
|
262
|
-
# Manual
|
|
263
|
-
MANUAL = "manual"
|
|
264
|
-
# Secret Key pair
|
|
265
|
-
SECRET = "secret"
|
|
266
|
-
|
|
267
|
-
|
|
268
268
|
class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
269
269
|
r"""Signature version to use for signing EC2 requests"""
|
|
270
270
|
|
|
@@ -320,24 +320,27 @@ class InputEdgePrometheusTypedDict(TypedDict):
|
|
|
320
320
|
r"""Enter credentials directly, or select a stored secret"""
|
|
321
321
|
description: NotRequired[str]
|
|
322
322
|
targets: NotRequired[List[TargetTypedDict]]
|
|
323
|
-
name_list: NotRequired[List[str]]
|
|
324
|
-
r"""List of DNS names to resolve"""
|
|
325
323
|
record_type: NotRequired[InputEdgePrometheusRecordType]
|
|
326
324
|
r"""DNS Record type to resolve"""
|
|
325
|
+
scrape_port: NotRequired[float]
|
|
326
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
327
|
+
name_list: NotRequired[List[str]]
|
|
328
|
+
r"""List of DNS names to resolve"""
|
|
327
329
|
scrape_protocol: NotRequired[ScrapeProtocolProtocol]
|
|
328
330
|
r"""Protocol to use when collecting metrics"""
|
|
329
331
|
scrape_path: NotRequired[str]
|
|
330
332
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
331
|
-
use_public_ip: NotRequired[bool]
|
|
332
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
333
|
-
scrape_port: NotRequired[float]
|
|
334
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
335
|
-
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
336
|
-
r"""EC2 Instance Search Filter"""
|
|
337
333
|
aws_authentication_method: NotRequired[
|
|
338
334
|
InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
339
335
|
]
|
|
340
336
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
337
|
+
aws_api_key: NotRequired[str]
|
|
338
|
+
aws_secret: NotRequired[str]
|
|
339
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
340
|
+
use_public_ip: NotRequired[bool]
|
|
341
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
342
|
+
search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
|
|
343
|
+
r"""EC2 Instance Search Filter"""
|
|
341
344
|
aws_secret_key: NotRequired[str]
|
|
342
345
|
region: NotRequired[str]
|
|
343
346
|
r"""Region where the EC2 is located"""
|
|
@@ -445,9 +448,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
445
448
|
|
|
446
449
|
targets: Optional[List[Target]] = None
|
|
447
450
|
|
|
448
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
449
|
-
r"""List of DNS names to resolve"""
|
|
450
|
-
|
|
451
451
|
record_type: Annotated[
|
|
452
452
|
Annotated[
|
|
453
453
|
Optional[InputEdgePrometheusRecordType],
|
|
@@ -457,6 +457,12 @@ class InputEdgePrometheus(BaseModel):
|
|
|
457
457
|
] = InputEdgePrometheusRecordType.SRV
|
|
458
458
|
r"""DNS Record type to resolve"""
|
|
459
459
|
|
|
460
|
+
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
461
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
462
|
+
|
|
463
|
+
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
464
|
+
r"""List of DNS names to resolve"""
|
|
465
|
+
|
|
460
466
|
scrape_protocol: Annotated[
|
|
461
467
|
Annotated[
|
|
462
468
|
Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
|
|
@@ -470,18 +476,6 @@ class InputEdgePrometheus(BaseModel):
|
|
|
470
476
|
)
|
|
471
477
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
472
478
|
|
|
473
|
-
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
474
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
475
|
-
|
|
476
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
477
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
478
|
-
|
|
479
|
-
search_filter: Annotated[
|
|
480
|
-
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
481
|
-
pydantic.Field(alias="searchFilter"),
|
|
482
|
-
] = None
|
|
483
|
-
r"""EC2 Instance Search Filter"""
|
|
484
|
-
|
|
485
479
|
aws_authentication_method: Annotated[
|
|
486
480
|
Annotated[
|
|
487
481
|
Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
@@ -491,6 +485,20 @@ class InputEdgePrometheus(BaseModel):
|
|
|
491
485
|
] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
492
486
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
493
487
|
|
|
488
|
+
aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
|
|
489
|
+
|
|
490
|
+
aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
|
|
491
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
492
|
+
|
|
493
|
+
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
494
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
495
|
+
|
|
496
|
+
search_filter: Annotated[
|
|
497
|
+
Optional[List[InputEdgePrometheusSearchFilter]],
|
|
498
|
+
pydantic.Field(alias="searchFilter"),
|
|
499
|
+
] = None
|
|
500
|
+
r"""EC2 Instance Search Filter"""
|
|
501
|
+
|
|
494
502
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
495
503
|
None
|
|
496
504
|
)
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -123,6 +123,12 @@ class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
123
|
|
|
124
124
|
class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
125
|
disabled: NotRequired[bool]
|
|
126
|
+
request_cert: NotRequired[bool]
|
|
127
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
128
|
+
reject_unauthorized: NotRequired[bool]
|
|
129
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
130
|
+
common_name_regex: NotRequired[str]
|
|
131
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
132
|
certificate_name: NotRequired[str]
|
|
127
133
|
r"""The name of the predefined certificate"""
|
|
128
134
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +139,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
139
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
140
|
ca_path: NotRequired[str]
|
|
135
141
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
142
|
min_version: NotRequired[InputElasticMinimumTLSVersion]
|
|
141
143
|
max_version: NotRequired[InputElasticMaximumTLSVersion]
|
|
142
144
|
|
|
@@ -144,6 +146,19 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
146
|
class InputElasticTLSSettingsServerSide(BaseModel):
|
|
145
147
|
disabled: Optional[bool] = True
|
|
146
148
|
|
|
149
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
150
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
151
|
+
|
|
152
|
+
reject_unauthorized: Annotated[
|
|
153
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
154
|
+
] = True
|
|
155
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
156
|
+
|
|
157
|
+
common_name_regex: Annotated[
|
|
158
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
159
|
+
] = "/.*/"
|
|
160
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
161
|
+
|
|
147
162
|
certificate_name: Annotated[
|
|
148
163
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
164
|
] = None
|
|
@@ -161,17 +176,6 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
161
176
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
177
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
178
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
179
|
min_version: Annotated[
|
|
176
180
|
Annotated[
|
|
177
181
|
Optional[InputElasticMinimumTLSVersion],
|
|
@@ -246,6 +250,12 @@ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
246
250
|
class InputElasticProxyModeTypedDict(TypedDict):
|
|
247
251
|
enabled: NotRequired[bool]
|
|
248
252
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
253
|
+
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
254
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
255
|
+
username: NotRequired[str]
|
|
256
|
+
password: NotRequired[str]
|
|
257
|
+
credentials_secret: NotRequired[str]
|
|
258
|
+
r"""Select or create a secret that references your credentials"""
|
|
249
259
|
url: NotRequired[str]
|
|
250
260
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
251
261
|
reject_unauthorized: NotRequired[bool]
|
|
@@ -254,14 +264,30 @@ class InputElasticProxyModeTypedDict(TypedDict):
|
|
|
254
264
|
r"""List of headers to remove from the request to proxy"""
|
|
255
265
|
timeout_sec: NotRequired[float]
|
|
256
266
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
257
|
-
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
258
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
259
267
|
|
|
260
268
|
|
|
261
269
|
class InputElasticProxyMode(BaseModel):
|
|
262
270
|
enabled: Optional[bool] = False
|
|
263
271
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
264
272
|
|
|
273
|
+
auth_type: Annotated[
|
|
274
|
+
Annotated[
|
|
275
|
+
Optional[InputElasticAuthenticationMethod],
|
|
276
|
+
PlainValidator(validate_open_enum(False)),
|
|
277
|
+
],
|
|
278
|
+
pydantic.Field(alias="authType"),
|
|
279
|
+
] = InputElasticAuthenticationMethod.NONE
|
|
280
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
281
|
+
|
|
282
|
+
username: Optional[str] = None
|
|
283
|
+
|
|
284
|
+
password: Optional[str] = None
|
|
285
|
+
|
|
286
|
+
credentials_secret: Annotated[
|
|
287
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
288
|
+
] = None
|
|
289
|
+
r"""Select or create a secret that references your credentials"""
|
|
290
|
+
|
|
265
291
|
url: Optional[str] = None
|
|
266
292
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
267
293
|
|
|
@@ -278,15 +304,6 @@ class InputElasticProxyMode(BaseModel):
|
|
|
278
304
|
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
279
305
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
280
306
|
|
|
281
|
-
auth_type: Annotated[
|
|
282
|
-
Annotated[
|
|
283
|
-
Optional[InputElasticAuthenticationMethod],
|
|
284
|
-
PlainValidator(validate_open_enum(False)),
|
|
285
|
-
],
|
|
286
|
-
pydantic.Field(alias="authType"),
|
|
287
|
-
] = InputElasticAuthenticationMethod.NONE
|
|
288
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
289
|
-
|
|
290
307
|
|
|
291
308
|
class InputElasticTypedDict(TypedDict):
|
|
292
309
|
type: InputElasticType
|