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.

Files changed (158) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/lakedatasets.py +28 -0
  4. cribl_control_plane/models/__init__.py +124 -5
  5. cribl_control_plane/models/cacheconnection.py +20 -0
  6. cribl_control_plane/models/configgroup.py +20 -1
  7. cribl_control_plane/models/configgroupcloud.py +11 -1
  8. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  9. cribl_control_plane/models/cribllakedataset.py +15 -1
  10. cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
  11. cribl_control_plane/models/datasetmetadata.py +11 -1
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  17. cribl_control_plane/models/getsummaryop.py +11 -0
  18. cribl_control_plane/models/groupcreaterequest.py +20 -1
  19. cribl_control_plane/models/hbcriblinfo.py +11 -1
  20. cribl_control_plane/models/healthserverstatus.py +20 -1
  21. cribl_control_plane/models/input.py +15 -15
  22. cribl_control_plane/models/inputappscope.py +76 -17
  23. cribl_control_plane/models/inputazureblob.py +29 -1
  24. cribl_control_plane/models/inputcollection.py +20 -1
  25. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  26. cribl_control_plane/models/inputcribl.py +20 -1
  27. cribl_control_plane/models/inputcriblhttp.py +58 -17
  28. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  29. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  30. cribl_control_plane/models/inputcribltcp.py +58 -17
  31. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  32. cribl_control_plane/models/inputdatadogagent.py +58 -17
  33. cribl_control_plane/models/inputdatagen.py +20 -1
  34. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  35. cribl_control_plane/models/inputelastic.py +108 -27
  36. cribl_control_plane/models/inputeventhub.py +176 -1
  37. cribl_control_plane/models/inputexec.py +29 -1
  38. cribl_control_plane/models/inputfile.py +40 -7
  39. cribl_control_plane/models/inputfirehose.py +58 -17
  40. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  41. cribl_control_plane/models/inputgrafana.py +149 -32
  42. cribl_control_plane/models/inputhttp.py +58 -17
  43. cribl_control_plane/models/inputhttpraw.py +58 -17
  44. cribl_control_plane/models/inputjournalfiles.py +20 -1
  45. cribl_control_plane/models/inputkafka.py +182 -1
  46. cribl_control_plane/models/inputkinesis.py +65 -1
  47. cribl_control_plane/models/inputkubeevents.py +20 -1
  48. cribl_control_plane/models/inputkubelogs.py +29 -1
  49. cribl_control_plane/models/inputkubemetrics.py +29 -1
  50. cribl_control_plane/models/inputloki.py +67 -17
  51. cribl_control_plane/models/inputmetrics.py +58 -17
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  53. cribl_control_plane/models/inputmsk.py +74 -1
  54. cribl_control_plane/models/inputnetflow.py +20 -1
  55. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  56. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  57. cribl_control_plane/models/inputoffice365service.py +56 -1
  58. cribl_control_plane/models/inputopentelemetry.py +84 -16
  59. cribl_control_plane/models/inputprometheus.py +131 -37
  60. cribl_control_plane/models/inputprometheusrw.py +67 -17
  61. cribl_control_plane/models/inputrawudp.py +20 -1
  62. cribl_control_plane/models/inputs3.py +38 -1
  63. cribl_control_plane/models/inputs3inventory.py +47 -1
  64. cribl_control_plane/models/inputsecuritylake.py +47 -1
  65. cribl_control_plane/models/inputsnmp.py +29 -1
  66. cribl_control_plane/models/inputsplunk.py +76 -17
  67. cribl_control_plane/models/inputsplunkhec.py +66 -16
  68. cribl_control_plane/models/inputsplunksearch.py +56 -1
  69. cribl_control_plane/models/inputsqs.py +47 -1
  70. cribl_control_plane/models/inputsyslog.py +113 -32
  71. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  72. cribl_control_plane/models/inputsystemstate.py +29 -1
  73. cribl_control_plane/models/inputtcp.py +77 -17
  74. cribl_control_plane/models/inputtcpjson.py +67 -17
  75. cribl_control_plane/models/inputwef.py +65 -1
  76. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  77. cribl_control_plane/models/inputwineventlogs.py +52 -1
  78. cribl_control_plane/models/inputwiz.py +38 -1
  79. cribl_control_plane/models/inputwizwebhook.py +58 -17
  80. cribl_control_plane/models/inputzscalerhec.py +66 -16
  81. cribl_control_plane/models/jobinfo.py +10 -4
  82. cribl_control_plane/models/jobstatus.py +34 -3
  83. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  84. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  85. cribl_control_plane/models/masterworkerentry.py +11 -1
  86. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  87. cribl_control_plane/models/output.py +21 -21
  88. cribl_control_plane/models/outputazureblob.py +90 -1
  89. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  90. cribl_control_plane/models/outputazureeventhub.py +267 -22
  91. cribl_control_plane/models/outputazurelogs.py +105 -22
  92. cribl_control_plane/models/outputchronicle.py +105 -22
  93. cribl_control_plane/models/outputclickhouse.py +141 -22
  94. cribl_control_plane/models/outputcloudwatch.py +96 -22
  95. cribl_control_plane/models/outputconfluentcloud.py +292 -23
  96. cribl_control_plane/models/outputcriblhttp.py +123 -22
  97. cribl_control_plane/models/outputcribllake.py +76 -1
  98. cribl_control_plane/models/outputcribltcp.py +123 -22
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  100. cribl_control_plane/models/outputdatabricks.py +76 -5
  101. cribl_control_plane/models/outputdatadog.py +132 -22
  102. cribl_control_plane/models/outputdataset.py +123 -22
  103. cribl_control_plane/models/outputdiskspool.py +11 -1
  104. cribl_control_plane/models/outputdls3.py +117 -1
  105. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  106. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  107. cribl_control_plane/models/outputelastic.py +148 -22
  108. cribl_control_plane/models/outputelasticcloud.py +130 -22
  109. cribl_control_plane/models/outputexabeam.py +47 -1
  110. cribl_control_plane/models/outputfilesystem.py +72 -1
  111. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  112. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  113. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  114. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  115. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  116. cribl_control_plane/models/outputgraphite.py +96 -22
  117. cribl_control_plane/models/outputhoneycomb.py +105 -22
  118. cribl_control_plane/models/outputhumiohec.py +114 -22
  119. cribl_control_plane/models/outputinfluxdb.py +114 -22
  120. cribl_control_plane/models/outputkafka.py +283 -20
  121. cribl_control_plane/models/outputkinesis.py +121 -22
  122. cribl_control_plane/models/outputloki.py +112 -20
  123. cribl_control_plane/models/outputminio.py +117 -1
  124. cribl_control_plane/models/outputmsk.py +175 -20
  125. cribl_control_plane/models/outputnewrelic.py +123 -22
  126. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  127. cribl_control_plane/models/outputopentelemetry.py +159 -22
  128. cribl_control_plane/models/outputprometheus.py +105 -22
  129. cribl_control_plane/models/outputring.py +29 -1
  130. cribl_control_plane/models/outputs3.py +117 -1
  131. cribl_control_plane/models/outputsecuritylake.py +85 -1
  132. cribl_control_plane/models/outputsentinel.py +123 -22
  133. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  134. cribl_control_plane/models/outputservicenow.py +150 -22
  135. cribl_control_plane/models/outputsignalfx.py +105 -22
  136. cribl_control_plane/models/outputsns.py +103 -20
  137. cribl_control_plane/models/outputsplunk.py +141 -22
  138. cribl_control_plane/models/outputsplunkhec.py +198 -22
  139. cribl_control_plane/models/outputsplunklb.py +170 -22
  140. cribl_control_plane/models/outputsqs.py +112 -20
  141. cribl_control_plane/models/outputstatsd.py +96 -22
  142. cribl_control_plane/models/outputstatsdext.py +96 -22
  143. cribl_control_plane/models/outputsumologic.py +105 -22
  144. cribl_control_plane/models/outputsyslog.py +238 -99
  145. cribl_control_plane/models/outputtcpjson.py +132 -22
  146. cribl_control_plane/models/outputwavefront.py +105 -22
  147. cribl_control_plane/models/outputwebhook.py +141 -22
  148. cribl_control_plane/models/outputxsiam.py +103 -20
  149. cribl_control_plane/models/resourcepolicy.py +11 -0
  150. cribl_control_plane/models/runnablejobcollection.py +68 -9
  151. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  155. cribl_control_plane/sdk.py +2 -2
  156. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
  157. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
  158. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
@@ -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 Any, List, Optional, Union
11
+ from typing import List, Optional, Union
11
12
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputSyslogPq2(BaseModel):
106
107
  Optional[InputSyslogPqControls2], 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.InputSyslogMode2(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.InputSyslogCompression2(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputSyslogMinimumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputSyslogMaximumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
125
144
  disabled: NotRequired[bool]
145
+ request_cert: NotRequired[bool]
146
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
147
+ reject_unauthorized: NotRequired[bool]
148
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
149
+ common_name_regex: NotRequired[str]
150
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
126
151
  certificate_name: NotRequired[str]
127
152
  r"""The name of the predefined certificate"""
128
153
  priv_key_path: NotRequired[str]
@@ -133,10 +158,6 @@ class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
133
158
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
134
159
  ca_path: NotRequired[str]
135
160
  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
161
  min_version: NotRequired[InputSyslogMinimumTLSVersion2]
141
162
  max_version: NotRequired[InputSyslogMaximumTLSVersion2]
142
163
 
@@ -144,6 +165,19 @@ class InputSyslogTLSSettingsServerSide2TypedDict(TypedDict):
144
165
  class InputSyslogTLSSettingsServerSide2(BaseModel):
145
166
  disabled: Optional[bool] = True
146
167
 
168
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
169
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
+
171
+ reject_unauthorized: Annotated[
172
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
173
+ ] = True
174
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
175
+
176
+ common_name_regex: Annotated[
177
+ Optional[str], pydantic.Field(alias="commonNameRegex")
178
+ ] = "/.*/"
179
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
180
+
147
181
  certificate_name: Annotated[
148
182
  Optional[str], pydantic.Field(alias="certificateName")
149
183
  ] = None
@@ -161,17 +195,6 @@ class InputSyslogTLSSettingsServerSide2(BaseModel):
161
195
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
162
196
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
163
197
 
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
198
  min_version: Annotated[
176
199
  Annotated[
177
200
  Optional[InputSyslogMinimumTLSVersion2],
@@ -188,6 +211,24 @@ class InputSyslogTLSSettingsServerSide2(BaseModel):
188
211
  pydantic.Field(alias="maxVersion"),
189
212
  ] = None
190
213
 
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputSyslogMinimumTLSVersion2(value)
219
+ except ValueError:
220
+ return value
221
+ return value
222
+
223
+ @field_serializer("max_version")
224
+ def serialize_max_version(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputSyslogMaximumTLSVersion2(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputSyslogMetadatum2TypedDict(TypedDict):
193
234
  name: str
@@ -493,6 +534,24 @@ class InputSyslogPq1(BaseModel):
493
534
  Optional[InputSyslogPqControls1], pydantic.Field(alias="pqControls")
494
535
  ] = None
495
536
 
537
+ @field_serializer("mode")
538
+ def serialize_mode(self, value):
539
+ if isinstance(value, str):
540
+ try:
541
+ return models.InputSyslogMode1(value)
542
+ except ValueError:
543
+ return value
544
+ return value
545
+
546
+ @field_serializer("compress")
547
+ def serialize_compress(self, value):
548
+ if isinstance(value, str):
549
+ try:
550
+ return models.InputSyslogCompression1(value)
551
+ except ValueError:
552
+ return value
553
+ return value
554
+
496
555
 
497
556
  class InputSyslogMinimumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
498
557
  TL_SV1 = "TLSv1"
@@ -510,6 +569,12 @@ class InputSyslogMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
510
569
 
511
570
  class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
512
571
  disabled: NotRequired[bool]
572
+ request_cert: NotRequired[bool]
573
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
574
+ reject_unauthorized: NotRequired[bool]
575
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
576
+ common_name_regex: NotRequired[str]
577
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
513
578
  certificate_name: NotRequired[str]
514
579
  r"""The name of the predefined certificate"""
515
580
  priv_key_path: NotRequired[str]
@@ -520,10 +585,6 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
520
585
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
521
586
  ca_path: NotRequired[str]
522
587
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
523
- request_cert: NotRequired[bool]
524
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
525
- reject_unauthorized: NotRequired[Any]
526
- common_name_regex: NotRequired[Any]
527
588
  min_version: NotRequired[InputSyslogMinimumTLSVersion1]
528
589
  max_version: NotRequired[InputSyslogMaximumTLSVersion1]
529
590
 
@@ -531,6 +592,19 @@ class InputSyslogTLSSettingsServerSide1TypedDict(TypedDict):
531
592
  class InputSyslogTLSSettingsServerSide1(BaseModel):
532
593
  disabled: Optional[bool] = True
533
594
 
595
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
596
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
597
+
598
+ reject_unauthorized: Annotated[
599
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
600
+ ] = True
601
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
602
+
603
+ common_name_regex: Annotated[
604
+ Optional[str], pydantic.Field(alias="commonNameRegex")
605
+ ] = "/.*/"
606
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
607
+
534
608
  certificate_name: Annotated[
535
609
  Optional[str], pydantic.Field(alias="certificateName")
536
610
  ] = None
@@ -548,17 +622,6 @@ class InputSyslogTLSSettingsServerSide1(BaseModel):
548
622
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
549
623
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
550
624
 
551
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
552
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
553
-
554
- reject_unauthorized: Annotated[
555
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
556
- ] = None
557
-
558
- common_name_regex: Annotated[
559
- Optional[Any], pydantic.Field(alias="commonNameRegex")
560
- ] = None
561
-
562
625
  min_version: Annotated[
563
626
  Annotated[
564
627
  Optional[InputSyslogMinimumTLSVersion1],
@@ -575,6 +638,24 @@ class InputSyslogTLSSettingsServerSide1(BaseModel):
575
638
  pydantic.Field(alias="maxVersion"),
576
639
  ] = None
577
640
 
641
+ @field_serializer("min_version")
642
+ def serialize_min_version(self, value):
643
+ if isinstance(value, str):
644
+ try:
645
+ return models.InputSyslogMinimumTLSVersion1(value)
646
+ except ValueError:
647
+ return value
648
+ return value
649
+
650
+ @field_serializer("max_version")
651
+ def serialize_max_version(self, value):
652
+ if isinstance(value, str):
653
+ try:
654
+ return models.InputSyslogMaximumTLSVersion1(value)
655
+ except ValueError:
656
+ return value
657
+ return value
658
+
578
659
 
579
660
  class InputSyslogMetadatum1TypedDict(TypedDict):
580
661
  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
@@ -107,6 +108,24 @@ class InputSystemMetricsPq(BaseModel):
107
108
  Optional[InputSystemMetricsPqControls], 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.InputSystemMetricsPqMode(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.InputSystemMetricsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputSystemMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Select level of detail for host metrics"""
@@ -151,6 +170,15 @@ class InputSystemMetricsSystem(BaseModel):
151
170
  processes: Optional[bool] = False
152
171
  r"""Generate metrics for the numbers of processes in various states"""
153
172
 
173
+ @field_serializer("mode")
174
+ def serialize_mode(self, value):
175
+ if isinstance(value, str):
176
+ try:
177
+ return models.InputSystemMetricsSystemMode(value)
178
+ except ValueError:
179
+ return value
180
+ return value
181
+
154
182
 
155
183
  class InputSystemMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
184
  r"""Select the level of detail for CPU metrics"""
@@ -191,6 +219,15 @@ class InputSystemMetricsCPU(BaseModel):
191
219
  time: Optional[bool] = False
192
220
  r"""Generate raw, monotonic CPU time counters"""
193
221
 
222
+ @field_serializer("mode")
223
+ def serialize_mode(self, value):
224
+ if isinstance(value, str):
225
+ try:
226
+ return models.InputSystemMetricsCPUMode(value)
227
+ except ValueError:
228
+ return value
229
+ return value
230
+
194
231
 
195
232
  class InputSystemMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
196
233
  r"""Select the level of detail for memory metrics"""
@@ -222,6 +259,15 @@ class InputSystemMetricsMemory(BaseModel):
222
259
  detail: Optional[bool] = False
223
260
  r"""Generate metrics for all memory states"""
224
261
 
262
+ @field_serializer("mode")
263
+ def serialize_mode(self, value):
264
+ if isinstance(value, str):
265
+ try:
266
+ return models.InputSystemMetricsMemoryMode(value)
267
+ except ValueError:
268
+ return value
269
+ return value
270
+
225
271
 
226
272
  class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
227
273
  r"""Select the level of detail for network metrics"""
@@ -239,12 +285,14 @@ class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
239
285
  class InputSystemMetricsNetworkTypedDict(TypedDict):
240
286
  mode: NotRequired[InputSystemMetricsNetworkMode]
241
287
  r"""Select the level of detail for network metrics"""
288
+ detail: NotRequired[bool]
289
+ r"""Generate full network metrics"""
290
+ protocols: NotRequired[bool]
291
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
242
292
  devices: NotRequired[List[str]]
243
293
  r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
244
294
  per_interface: NotRequired[bool]
245
295
  r"""Generate separate metrics for each interface"""
246
- detail: NotRequired[bool]
247
- r"""Generate full network metrics"""
248
296
 
249
297
 
250
298
  class InputSystemMetricsNetwork(BaseModel):
@@ -254,6 +302,12 @@ class InputSystemMetricsNetwork(BaseModel):
254
302
  ] = InputSystemMetricsNetworkMode.BASIC
255
303
  r"""Select the level of detail for network metrics"""
256
304
 
305
+ detail: Optional[bool] = False
306
+ r"""Generate full network metrics"""
307
+
308
+ protocols: Optional[bool] = False
309
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
310
+
257
311
  devices: Optional[List[str]] = None
258
312
  r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
259
313
 
@@ -262,8 +316,14 @@ class InputSystemMetricsNetwork(BaseModel):
262
316
  )
263
317
  r"""Generate separate metrics for each interface"""
264
318
 
265
- detail: Optional[bool] = False
266
- r"""Generate full network metrics"""
319
+ @field_serializer("mode")
320
+ def serialize_mode(self, value):
321
+ if isinstance(value, str):
322
+ try:
323
+ return models.InputSystemMetricsNetworkMode(value)
324
+ except ValueError:
325
+ return value
326
+ return value
267
327
 
268
328
 
269
329
  class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
@@ -282,6 +342,10 @@ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
282
342
  class InputSystemMetricsDiskTypedDict(TypedDict):
283
343
  mode: NotRequired[InputSystemMetricsDiskMode]
284
344
  r"""Select the level of detail for disk metrics"""
345
+ detail: NotRequired[bool]
346
+ r"""Generate full disk metrics"""
347
+ inodes: NotRequired[bool]
348
+ r"""Generate filesystem inode metrics"""
285
349
  devices: NotRequired[List[str]]
286
350
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
287
351
  mountpoints: NotRequired[List[str]]
@@ -290,8 +354,6 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
290
354
  r"""Filesystem types to include/exclude. Examples: ext4, !*tmpfs, !squashfs. Wildcards and ! (not) operators are supported. All types are included if this list is empty."""
291
355
  per_device: NotRequired[bool]
292
356
  r"""Generate separate metrics for each device"""
293
- detail: NotRequired[bool]
294
- r"""Generate full disk metrics"""
295
357
 
296
358
 
297
359
  class InputSystemMetricsDisk(BaseModel):
@@ -300,6 +362,12 @@ class InputSystemMetricsDisk(BaseModel):
300
362
  ] = InputSystemMetricsDiskMode.BASIC
301
363
  r"""Select the level of detail for disk metrics"""
302
364
 
365
+ detail: Optional[bool] = False
366
+ r"""Generate full disk metrics"""
367
+
368
+ inodes: Optional[bool] = False
369
+ r"""Generate filesystem inode metrics"""
370
+
303
371
  devices: Optional[List[str]] = None
304
372
  r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
305
373
 
@@ -312,8 +380,14 @@ class InputSystemMetricsDisk(BaseModel):
312
380
  per_device: Annotated[Optional[bool], pydantic.Field(alias="perDevice")] = False
313
381
  r"""Generate separate metrics for each device"""
314
382
 
315
- detail: Optional[bool] = False
316
- r"""Generate full disk metrics"""
383
+ @field_serializer("mode")
384
+ def serialize_mode(self, value):
385
+ if isinstance(value, str):
386
+ try:
387
+ return models.InputSystemMetricsDiskMode(value)
388
+ except ValueError:
389
+ return value
390
+ return value
317
391
 
318
392
 
319
393
  class InputSystemMetricsCustomTypedDict(TypedDict):
@@ -350,6 +424,15 @@ class InputSystemMetricsHost(BaseModel):
350
424
 
351
425
  custom: Optional[InputSystemMetricsCustom] = None
352
426
 
427
+ @field_serializer("mode")
428
+ def serialize_mode(self, value):
429
+ if isinstance(value, str):
430
+ try:
431
+ return models.InputSystemMetricsHostMode(value)
432
+ except ValueError:
433
+ return value
434
+ return value
435
+
353
436
 
354
437
  class InputSystemMetricsSetTypedDict(TypedDict):
355
438
  name: str
@@ -445,6 +528,15 @@ class Container(BaseModel):
445
528
  detail: Optional[bool] = False
446
529
  r"""Generate full container metrics"""
447
530
 
531
+ @field_serializer("mode")
532
+ def serialize_mode(self, value):
533
+ if isinstance(value, str):
534
+ try:
535
+ return models.ContainerMode(value)
536
+ except ValueError:
537
+ return value
538
+ return value
539
+
448
540
 
449
541
  class InputSystemMetricsMetadatumTypedDict(TypedDict):
450
542
  name: str
@@ -501,6 +593,15 @@ class InputSystemMetricsPersistence(BaseModel):
501
593
  )
502
594
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/system_metrics"""
503
595
 
596
+ @field_serializer("compress")
597
+ def serialize_compress(self, value):
598
+ if isinstance(value, str):
599
+ try:
600
+ return models.InputSystemMetricsDataCompressionFormat(value)
601
+ except ValueError:
602
+ return value
603
+ return value
604
+
504
605
 
505
606
  class InputSystemMetricsTypedDict(TypedDict):
506
607
  type: InputSystemMetricsType
@@ -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 InputSystemStatePq(BaseModel):
106
107
  Optional[InputSystemStatePqControls], 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.InputSystemStateMode(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.InputSystemStateCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputSystemStateMetadatumTypedDict(TypedDict):
111
130
  name: str
@@ -356,6 +375,15 @@ class InputSystemStatePersistence(BaseModel):
356
375
  )
357
376
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/system_state"""
358
377
 
378
+ @field_serializer("compress")
379
+ def serialize_compress(self, value):
380
+ if isinstance(value, str):
381
+ try:
382
+ return models.InputSystemStateDataCompressionFormat(value)
383
+ except ValueError:
384
+ return value
385
+ return value
386
+
359
387
 
360
388
  class InputSystemStateTypedDict(TypedDict):
361
389
  type: InputSystemStateType
@@ -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 Any, List, Optional
11
+ from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputTCPPq(BaseModel):
106
107
  Optional[InputTCPPqControls], 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.InputTCPMode(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.InputTCPCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
125
144
  disabled: NotRequired[bool]
145
+ request_cert: NotRequired[bool]
146
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
147
+ reject_unauthorized: NotRequired[bool]
148
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
149
+ common_name_regex: NotRequired[str]
150
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
126
151
  certificate_name: NotRequired[str]
127
152
  r"""The name of the predefined certificate"""
128
153
  priv_key_path: NotRequired[str]
@@ -133,10 +158,6 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
133
158
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
134
159
  ca_path: NotRequired[str]
135
160
  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
161
  min_version: NotRequired[InputTCPMinimumTLSVersion]
141
162
  max_version: NotRequired[InputTCPMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputTCPTLSSettingsServerSide(BaseModel):
145
166
  disabled: Optional[bool] = True
146
167
 
168
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
169
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
+
171
+ reject_unauthorized: Annotated[
172
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
173
+ ] = True
174
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
175
+
176
+ common_name_regex: Annotated[
177
+ Optional[str], pydantic.Field(alias="commonNameRegex")
178
+ ] = "/.*/"
179
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
180
+
147
181
  certificate_name: Annotated[
148
182
  Optional[str], pydantic.Field(alias="certificateName")
149
183
  ] = None
@@ -161,17 +195,6 @@ class InputTCPTLSSettingsServerSide(BaseModel):
161
195
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
162
196
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
163
197
 
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
198
  min_version: Annotated[
176
199
  Annotated[
177
200
  Optional[InputTCPMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputTCPTLSSettingsServerSide(BaseModel):
188
211
  pydantic.Field(alias="maxVersion"),
189
212
  ] = None
190
213
 
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputTCPMinimumTLSVersion(value)
219
+ except ValueError:
220
+ return value
221
+ return value
222
+
223
+ @field_serializer("max_version")
224
+ def serialize_max_version(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputTCPMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputTCPMetadatumTypedDict(TypedDict):
193
234
  name: str
@@ -272,8 +313,12 @@ class InputTCPTypedDict(TypedDict):
272
313
  r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }"""
273
314
  preprocess: NotRequired[InputTCPPreprocessTypedDict]
274
315
  description: NotRequired[str]
316
+ auth_token: NotRequired[str]
317
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
275
318
  auth_type: NotRequired[InputTCPAuthenticationMethod]
276
319
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
320
+ text_secret: NotRequired[str]
321
+ r"""Select or create a stored text secret"""
277
322
 
278
323
 
279
324
  class InputTCP(BaseModel):
@@ -366,6 +411,9 @@ class InputTCP(BaseModel):
366
411
 
367
412
  description: Optional[str] = None
368
413
 
414
+ auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
415
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
416
+
369
417
  auth_type: Annotated[
370
418
  Annotated[
371
419
  Optional[InputTCPAuthenticationMethod],
@@ -374,3 +422,15 @@ class InputTCP(BaseModel):
374
422
  pydantic.Field(alias="authType"),
375
423
  ] = InputTCPAuthenticationMethod.MANUAL
376
424
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
425
+
426
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
427
+ r"""Select or create a stored text secret"""
428
+
429
+ @field_serializer("auth_type")
430
+ def serialize_auth_type(self, value):
431
+ if isinstance(value, str):
432
+ try:
433
+ return models.InputTCPAuthenticationMethod(value)
434
+ except ValueError:
435
+ return value
436
+ return value