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,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 InputS3InventoryPq(BaseModel):
106
107
  Optional[InputS3InventoryPqControls], 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.InputS3InventoryMode(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.InputS3InventoryCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputS3InventoryAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -465,3 +484,30 @@ class InputS3Inventory(BaseModel):
465
484
  Optional[str], pydantic.Field(alias="processedTagValue")
466
485
  ] = None
467
486
  r"""The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation."""
487
+
488
+ @field_serializer("aws_authentication_method")
489
+ def serialize_aws_authentication_method(self, value):
490
+ if isinstance(value, str):
491
+ try:
492
+ return models.InputS3InventoryAuthenticationMethod(value)
493
+ except ValueError:
494
+ return value
495
+ return value
496
+
497
+ @field_serializer("signature_version")
498
+ def serialize_signature_version(self, value):
499
+ if isinstance(value, str):
500
+ try:
501
+ return models.InputS3InventorySignatureVersion(value)
502
+ except ValueError:
503
+ return value
504
+ return value
505
+
506
+ @field_serializer("tag_after_processing")
507
+ def serialize_tag_after_processing(self, value):
508
+ if isinstance(value, str):
509
+ try:
510
+ return models.InputS3InventoryTagAfterProcessing(value)
511
+ except ValueError:
512
+ return value
513
+ 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
@@ -107,6 +108,24 @@ class InputSecurityLakePq(BaseModel):
107
108
  Optional[InputSecurityLakePqControls], 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.InputSecurityLakeMode(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.InputSecurityLakeCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputSecurityLakeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -450,3 +469,30 @@ class InputSecurityLake(BaseModel):
450
469
  Optional[str], pydantic.Field(alias="processedTagValue")
451
470
  ] = None
452
471
  r"""The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation."""
472
+
473
+ @field_serializer("aws_authentication_method")
474
+ def serialize_aws_authentication_method(self, value):
475
+ if isinstance(value, str):
476
+ try:
477
+ return models.InputSecurityLakeAuthenticationMethod(value)
478
+ except ValueError:
479
+ return value
480
+ return value
481
+
482
+ @field_serializer("signature_version")
483
+ def serialize_signature_version(self, value):
484
+ if isinstance(value, str):
485
+ try:
486
+ return models.InputSecurityLakeSignatureVersion(value)
487
+ except ValueError:
488
+ return value
489
+ return value
490
+
491
+ @field_serializer("tag_after_processing")
492
+ def serialize_tag_after_processing(self, value):
493
+ if isinstance(value, str):
494
+ try:
495
+ return models.InputSecurityLakeTagAfterProcessing(value)
496
+ except ValueError:
497
+ return value
498
+ 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 Any, List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputSnmpPq(BaseModel):
106
107
  Optional[InputSnmpPqControls], 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.InputSnmpMode(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.InputSnmpCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class AuthenticationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  # None
@@ -147,6 +166,15 @@ class V3User(BaseModel):
147
166
  "none"
148
167
  )
149
168
 
169
+ @field_serializer("auth_protocol")
170
+ def serialize_auth_protocol(self, value):
171
+ if isinstance(value, str):
172
+ try:
173
+ return models.AuthenticationProtocol(value)
174
+ except ValueError:
175
+ return value
176
+ return value
177
+
150
178
 
151
179
  class SNMPv3AuthenticationTypedDict(TypedDict):
152
180
  r"""Authentication parameters for SNMPv3 trap. Set the log level to debug if you are experiencing authentication or decryption issues."""
@@ -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 InputSplunkPq(BaseModel):
106
107
  Optional[InputSplunkPqControls], 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.InputSplunkMode(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.InputSplunkPqCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputSplunkMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputSplunkMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputSplunkTLSSettingsServerSideTypedDict(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 InputSplunkTLSSettingsServerSideTypedDict(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[InputSplunkMinimumTLSVersion]
141
162
  max_version: NotRequired[InputSplunkMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputSplunkTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputSplunkTLSSettingsServerSide(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 InputSplunkTLSSettingsServerSide(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[InputSplunkMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputSplunkTLSSettingsServerSide(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.InputSplunkMinimumTLSVersion(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.InputSplunkMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputSplunkMetadatumTypedDict(TypedDict):
193
234
  name: str
@@ -407,3 +448,21 @@ class InputSplunk(BaseModel):
407
448
  Optional[InputSplunkCompression], PlainValidator(validate_open_enum(False))
408
449
  ] = InputSplunkCompression.DISABLED
409
450
  r"""Controls whether to support reading compressed data from a forwarder. Select 'Automatic' to match the forwarder's configuration, or 'Disabled' to reject compressed connections."""
451
+
452
+ @field_serializer("max_s2_sversion")
453
+ def serialize_max_s2_sversion(self, value):
454
+ if isinstance(value, str):
455
+ try:
456
+ return models.InputSplunkMaxS2SVersion(value)
457
+ except ValueError:
458
+ return value
459
+ return value
460
+
461
+ @field_serializer("compress")
462
+ def serialize_compress(self, value):
463
+ if isinstance(value, str):
464
+ try:
465
+ return models.InputSplunkCompression(value)
466
+ except ValueError:
467
+ return value
468
+ 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 Any, List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputSplunkHecPq(BaseModel):
106
107
  Optional[InputSplunkHecPqControls], 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.InputSplunkHecMode(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.InputSplunkHecCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputSplunkHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -168,6 +187,15 @@ class InputSplunkHecAuthToken(BaseModel):
168
187
  metadata: Optional[List[InputSplunkHecAuthTokenMetadatum]] = None
169
188
  r"""Fields to add to events referencing this token"""
170
189
 
190
+ @field_serializer("auth_type")
191
+ def serialize_auth_type(self, value):
192
+ if isinstance(value, str):
193
+ try:
194
+ return models.InputSplunkHecAuthenticationMethod(value)
195
+ except ValueError:
196
+ return value
197
+ return value
198
+
171
199
 
172
200
  class InputSplunkHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
173
201
  TL_SV1 = "TLSv1"
@@ -185,6 +213,12 @@ class InputSplunkHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
185
213
 
186
214
  class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
187
215
  disabled: NotRequired[bool]
216
+ request_cert: NotRequired[bool]
217
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
218
+ reject_unauthorized: NotRequired[bool]
219
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
220
+ common_name_regex: NotRequired[str]
221
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
188
222
  certificate_name: NotRequired[str]
189
223
  r"""The name of the predefined certificate"""
190
224
  priv_key_path: NotRequired[str]
@@ -195,10 +229,6 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
195
229
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
196
230
  ca_path: NotRequired[str]
197
231
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
198
- request_cert: NotRequired[bool]
199
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
200
- reject_unauthorized: NotRequired[Any]
201
- common_name_regex: NotRequired[Any]
202
232
  min_version: NotRequired[InputSplunkHecMinimumTLSVersion]
203
233
  max_version: NotRequired[InputSplunkHecMaximumTLSVersion]
204
234
 
@@ -206,6 +236,19 @@ class InputSplunkHecTLSSettingsServerSideTypedDict(TypedDict):
206
236
  class InputSplunkHecTLSSettingsServerSide(BaseModel):
207
237
  disabled: Optional[bool] = True
208
238
 
239
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
240
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
241
+
242
+ reject_unauthorized: Annotated[
243
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
244
+ ] = True
245
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
246
+
247
+ common_name_regex: Annotated[
248
+ Optional[str], pydantic.Field(alias="commonNameRegex")
249
+ ] = "/.*/"
250
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
251
+
209
252
  certificate_name: Annotated[
210
253
  Optional[str], pydantic.Field(alias="certificateName")
211
254
  ] = None
@@ -223,17 +266,6 @@ class InputSplunkHecTLSSettingsServerSide(BaseModel):
223
266
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
224
267
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
225
268
 
226
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
227
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
228
-
229
- reject_unauthorized: Annotated[
230
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
231
- ] = None
232
-
233
- common_name_regex: Annotated[
234
- Optional[Any], pydantic.Field(alias="commonNameRegex")
235
- ] = None
236
-
237
269
  min_version: Annotated[
238
270
  Annotated[
239
271
  Optional[InputSplunkHecMinimumTLSVersion],
@@ -250,6 +282,24 @@ class InputSplunkHecTLSSettingsServerSide(BaseModel):
250
282
  pydantic.Field(alias="maxVersion"),
251
283
  ] = None
252
284
 
285
+ @field_serializer("min_version")
286
+ def serialize_min_version(self, value):
287
+ if isinstance(value, str):
288
+ try:
289
+ return models.InputSplunkHecMinimumTLSVersion(value)
290
+ except ValueError:
291
+ return value
292
+ return value
293
+
294
+ @field_serializer("max_version")
295
+ def serialize_max_version(self, value):
296
+ if isinstance(value, str):
297
+ try:
298
+ return models.InputSplunkHecMaximumTLSVersion(value)
299
+ except ValueError:
300
+ return value
301
+ return value
302
+
253
303
 
254
304
  class InputSplunkHecMetadatumTypedDict(TypedDict):
255
305
  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 InputSplunkSearchPq(BaseModel):
107
108
  Optional[InputSplunkSearchPqControls], 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.InputSplunkSearchMode(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.InputSplunkSearchCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class OutputMode(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  r"""Format of the returned output"""
@@ -226,6 +245,15 @@ class InputSplunkSearchRetryRules(BaseModel):
226
245
  ] = False
227
246
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
228
247
 
248
+ @field_serializer("type")
249
+ def serialize_type(self, value):
250
+ if isinstance(value, str):
251
+ try:
252
+ return models.InputSplunkSearchRetryType(value)
253
+ except ValueError:
254
+ return value
255
+ return value
256
+
229
257
 
230
258
  class InputSplunkSearchAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
231
259
  r"""Splunk Search authentication type"""
@@ -555,3 +583,30 @@ class InputSplunkSearch(BaseModel):
555
583
  pydantic.Field(alias="oauthHeaders"),
556
584
  ] = None
557
585
  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."""
586
+
587
+ @field_serializer("output_mode")
588
+ def serialize_output_mode(self, value):
589
+ if isinstance(value, str):
590
+ try:
591
+ return models.OutputMode(value)
592
+ except ValueError:
593
+ return value
594
+ return value
595
+
596
+ @field_serializer("log_level")
597
+ def serialize_log_level(self, value):
598
+ if isinstance(value, str):
599
+ try:
600
+ return models.InputSplunkSearchLogLevel(value)
601
+ except ValueError:
602
+ return value
603
+ return value
604
+
605
+ @field_serializer("auth_type")
606
+ def serialize_auth_type(self, value):
607
+ if isinstance(value, str):
608
+ try:
609
+ return models.InputSplunkSearchAuthenticationType(value)
610
+ except ValueError:
611
+ return value
612
+ 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 InputSqsPq(BaseModel):
106
107
  Optional[InputSqsPqControls], 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.InputSqsMode(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.InputSqsCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputSqsQueueType(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""The queue type used (or created)"""
@@ -338,3 +357,30 @@ class InputSqs(BaseModel):
338
357
 
339
358
  num_receivers: Annotated[Optional[float], pydantic.Field(alias="numReceivers")] = 3
340
359
  r"""How many receiver processes to run. The higher the number, the better the throughput - at the expense of CPU overhead."""
360
+
361
+ @field_serializer("queue_type")
362
+ def serialize_queue_type(self, value):
363
+ if isinstance(value, str):
364
+ try:
365
+ return models.InputSqsQueueType(value)
366
+ except ValueError:
367
+ return value
368
+ return value
369
+
370
+ @field_serializer("aws_authentication_method")
371
+ def serialize_aws_authentication_method(self, value):
372
+ if isinstance(value, str):
373
+ try:
374
+ return models.InputSqsAuthenticationMethod(value)
375
+ except ValueError:
376
+ return value
377
+ return value
378
+
379
+ @field_serializer("signature_version")
380
+ def serialize_signature_version(self, value):
381
+ if isinstance(value, str):
382
+ try:
383
+ return models.InputSqsSignatureVersion(value)
384
+ except ValueError:
385
+ return value
386
+ return value