cribl-control-plane 0.0.44__py3-none-any.whl → 0.0.44a2__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 +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/models/__init__.py +3 -3
  4. cribl_control_plane/models/appmode.py +2 -1
  5. cribl_control_plane/models/cacheconnection.py +10 -2
  6. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  7. cribl_control_plane/models/cloudprovider.py +2 -1
  8. cribl_control_plane/models/configgroup.py +7 -2
  9. cribl_control_plane/models/configgroupcloud.py +6 -2
  10. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  11. cribl_control_plane/models/cribllakedataset.py +8 -2
  12. cribl_control_plane/models/datasetmetadata.py +8 -2
  13. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  14. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  15. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  16. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  17. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  18. cribl_control_plane/models/getsummaryop.py +7 -2
  19. cribl_control_plane/models/hbcriblinfo.py +6 -1
  20. cribl_control_plane/models/healthstatus.py +7 -4
  21. cribl_control_plane/models/inputappscope.py +34 -14
  22. cribl_control_plane/models/inputazureblob.py +17 -6
  23. cribl_control_plane/models/inputcollection.py +11 -4
  24. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  25. cribl_control_plane/models/inputcribl.py +11 -4
  26. cribl_control_plane/models/inputcriblhttp.py +23 -8
  27. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  28. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  29. cribl_control_plane/models/inputcribltcp.py +23 -8
  30. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  31. cribl_control_plane/models/inputdatadogagent.py +24 -8
  32. cribl_control_plane/models/inputdatagen.py +11 -4
  33. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  34. cribl_control_plane/models/inputelastic.py +40 -14
  35. cribl_control_plane/models/inputeventhub.py +15 -6
  36. cribl_control_plane/models/inputexec.py +14 -6
  37. cribl_control_plane/models/inputfile.py +15 -6
  38. cribl_control_plane/models/inputfirehose.py +23 -8
  39. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  40. cribl_control_plane/models/inputgrafana.py +67 -24
  41. cribl_control_plane/models/inputhttp.py +23 -8
  42. cribl_control_plane/models/inputhttpraw.py +23 -8
  43. cribl_control_plane/models/inputjournalfiles.py +12 -4
  44. cribl_control_plane/models/inputkafka.py +46 -16
  45. cribl_control_plane/models/inputkinesis.py +38 -14
  46. cribl_control_plane/models/inputkubeevents.py +11 -4
  47. cribl_control_plane/models/inputkubelogs.py +16 -8
  48. cribl_control_plane/models/inputkubemetrics.py +16 -8
  49. cribl_control_plane/models/inputloki.py +29 -10
  50. cribl_control_plane/models/inputmetrics.py +23 -8
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
  52. cribl_control_plane/models/inputmsk.py +53 -18
  53. cribl_control_plane/models/inputnetflow.py +11 -4
  54. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  55. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  56. cribl_control_plane/models/inputoffice365service.py +35 -16
  57. cribl_control_plane/models/inputopentelemetry.py +38 -16
  58. cribl_control_plane/models/inputprometheus.py +50 -18
  59. cribl_control_plane/models/inputprometheusrw.py +30 -10
  60. cribl_control_plane/models/inputrawudp.py +11 -4
  61. cribl_control_plane/models/inputs3.py +21 -8
  62. cribl_control_plane/models/inputs3inventory.py +26 -10
  63. cribl_control_plane/models/inputsecuritylake.py +27 -10
  64. cribl_control_plane/models/inputsnmp.py +16 -6
  65. cribl_control_plane/models/inputsplunk.py +33 -12
  66. cribl_control_plane/models/inputsplunkhec.py +29 -10
  67. cribl_control_plane/models/inputsplunksearch.py +33 -14
  68. cribl_control_plane/models/inputsqs.py +27 -10
  69. cribl_control_plane/models/inputsyslog.py +43 -16
  70. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  71. cribl_control_plane/models/inputsystemstate.py +16 -8
  72. cribl_control_plane/models/inputtcp.py +29 -10
  73. cribl_control_plane/models/inputtcpjson.py +29 -10
  74. cribl_control_plane/models/inputwef.py +37 -14
  75. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  76. cribl_control_plane/models/inputwineventlogs.py +20 -10
  77. cribl_control_plane/models/inputwiz.py +21 -8
  78. cribl_control_plane/models/inputwizwebhook.py +23 -8
  79. cribl_control_plane/models/inputzscalerhec.py +29 -10
  80. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  82. cribl_control_plane/models/masterworkerentry.py +7 -2
  83. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  84. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  85. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  86. cribl_control_plane/models/nodeupgradestate.py +2 -1
  87. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  88. cribl_control_plane/models/outputazureblob.py +48 -18
  89. cribl_control_plane/models/outputazuredataexplorer.py +74 -29
  90. cribl_control_plane/models/outputazureeventhub.py +40 -18
  91. cribl_control_plane/models/outputazurelogs.py +36 -13
  92. cribl_control_plane/models/outputclickhouse.py +56 -21
  93. cribl_control_plane/models/outputcloudwatch.py +29 -10
  94. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  95. cribl_control_plane/models/outputcriblhttp.py +46 -18
  96. cribl_control_plane/models/outputcribllake.py +46 -16
  97. cribl_control_plane/models/outputcribltcp.py +45 -18
  98. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
  99. cribl_control_plane/models/outputdatadog.py +48 -20
  100. cribl_control_plane/models/outputdataset.py +46 -18
  101. cribl_control_plane/models/outputdiskspool.py +7 -2
  102. cribl_control_plane/models/outputdls3.py +68 -24
  103. cribl_control_plane/models/outputdynatracehttp.py +54 -21
  104. cribl_control_plane/models/outputdynatraceotlp.py +56 -23
  105. cribl_control_plane/models/outputelastic.py +44 -19
  106. cribl_control_plane/models/outputelasticcloud.py +37 -13
  107. cribl_control_plane/models/outputexabeam.py +29 -10
  108. cribl_control_plane/models/outputfilesystem.py +39 -14
  109. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  110. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  111. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  112. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  113. cribl_control_plane/models/outputgrafanacloud.py +99 -34
  114. cribl_control_plane/models/outputgraphite.py +31 -14
  115. cribl_control_plane/models/outputhoneycomb.py +36 -13
  116. cribl_control_plane/models/outputhumiohec.py +44 -17
  117. cribl_control_plane/models/outputinfluxdb.py +43 -17
  118. cribl_control_plane/models/outputkafka.py +74 -28
  119. cribl_control_plane/models/outputkinesis.py +40 -16
  120. cribl_control_plane/models/outputloki.py +41 -16
  121. cribl_control_plane/models/outputminio.py +65 -24
  122. cribl_control_plane/models/outputmsk.py +82 -30
  123. cribl_control_plane/models/outputnewrelic.py +43 -18
  124. cribl_control_plane/models/outputnewrelicevents.py +42 -15
  125. cribl_control_plane/models/outputopentelemetry.py +68 -27
  126. cribl_control_plane/models/outputprometheus.py +36 -13
  127. cribl_control_plane/models/outputring.py +19 -8
  128. cribl_control_plane/models/outputs3.py +68 -26
  129. cribl_control_plane/models/outputsecuritylake.py +52 -18
  130. cribl_control_plane/models/outputsentinel.py +45 -18
  131. cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
  132. cribl_control_plane/models/outputservicenow.py +61 -25
  133. cribl_control_plane/models/outputsignalfx.py +38 -15
  134. cribl_control_plane/models/outputsns.py +36 -14
  135. cribl_control_plane/models/outputsplunk.py +60 -24
  136. cribl_control_plane/models/outputsplunkhec.py +36 -13
  137. cribl_control_plane/models/outputsplunklb.py +77 -30
  138. cribl_control_plane/models/outputsqs.py +41 -16
  139. cribl_control_plane/models/outputstatsd.py +30 -14
  140. cribl_control_plane/models/outputstatsdext.py +29 -12
  141. cribl_control_plane/models/outputsumologic.py +35 -12
  142. cribl_control_plane/models/outputsyslog.py +58 -24
  143. cribl_control_plane/models/outputtcpjson.py +52 -20
  144. cribl_control_plane/models/outputwavefront.py +36 -13
  145. cribl_control_plane/models/outputwebhook.py +58 -22
  146. cribl_control_plane/models/outputxsiam.py +36 -15
  147. cribl_control_plane/models/productscore.py +2 -1
  148. cribl_control_plane/models/rbacresource.py +2 -1
  149. cribl_control_plane/models/resourcepolicy.py +4 -2
  150. cribl_control_plane/models/runnablejobcollection.py +30 -13
  151. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  155. cribl_control_plane/models/workertypes.py +2 -1
  156. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
  157. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/RECORD +158 -158
  158. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/WHEEL +0 -0
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputEventhubConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputEventhubMode(str, Enum):
29
+ class InputEventhubMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputEventhubCompression(str, Enum):
36
+ class InputEventhubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputEventhubPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputEventhubPq(BaseModel):
67
- mode: Optional[InputEventhubMode] = InputEventhubMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputEventhubMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputEventhubMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputEventhubPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputEventhubCompression] = InputEventhubCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputEventhubCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputEventhubCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputEventhubPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputEventhubSASLMechanism(str, Enum):
106
+ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  PLAIN = "plain"
101
108
  OAUTHBEARER = "oauthbearer"
102
109
 
@@ -113,7 +120,9 @@ class InputEventhubAuthentication(BaseModel):
113
120
 
114
121
  disabled: Optional[bool] = False
115
122
 
116
- mechanism: Optional[InputEventhubSASLMechanism] = InputEventhubSASLMechanism.PLAIN
123
+ mechanism: Annotated[
124
+ Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
125
+ ] = InputEventhubSASLMechanism.PLAIN
117
126
 
118
127
 
119
128
  class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputExecConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputExecMode(str, Enum):
29
+ class InputExecMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputExecCompression(str, Enum):
36
+ class InputExecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputExecPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputExecPq(BaseModel):
67
- mode: Optional[InputExecMode] = InputExecMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputExecMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputExecMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputExecPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputExecCompression] = InputExecCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputExecCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputExecCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputExecPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class ScheduleType(str, Enum):
106
+ class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
101
108
 
102
109
  INTERVAL = "interval"
@@ -190,7 +197,8 @@ class InputExec(BaseModel):
190
197
  r"""Maximum number of retry attempts in the event that the command fails"""
191
198
 
192
199
  schedule_type: Annotated[
193
- Optional[ScheduleType], pydantic.Field(alias="scheduleType")
200
+ Annotated[Optional[ScheduleType], PlainValidator(validate_open_enum(False))],
201
+ pydantic.Field(alias="scheduleType"),
194
202
  ] = ScheduleType.INTERVAL
195
203
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
196
204
 
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputFileConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFilePqMode(str, Enum):
29
+ class InputFilePqMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputFileCompression(str, Enum):
36
+ class InputFileCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputFilePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFilePq(BaseModel):
67
- mode: Optional[InputFilePqMode] = InputFilePqMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFilePqMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFilePqMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputFilePq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputFileCompression] = InputFileCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFileCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFileCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputFilePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFileMode(str, Enum):
106
+ class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Choose how to discover files to monitor"""
101
108
 
102
109
  AUTO = "auto"
@@ -200,7 +207,9 @@ class InputFile(BaseModel):
200
207
 
201
208
  pq: Optional[InputFilePq] = None
202
209
 
203
- mode: Optional[InputFileMode] = InputFileMode.AUTO
210
+ mode: Annotated[
211
+ Optional[InputFileMode], PlainValidator(validate_open_enum(False))
212
+ ] = InputFileMode.AUTO
204
213
  r"""Choose how to discover files to monitor"""
205
214
 
206
215
  interval: Optional[float] = 10
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputFirehoseConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFirehoseMode(str, Enum):
29
+ class InputFirehoseMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputFirehoseCompression(str, Enum):
36
+ class InputFirehoseCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputFirehosePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFirehosePq(BaseModel):
67
- mode: Optional[InputFirehoseMode] = InputFirehoseMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFirehoseMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFirehoseMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputFirehosePq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputFirehoseCompression] = InputFirehoseCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFirehoseCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFirehoseCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputFirehosePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFirehoseMinimumTLSVersion(str, Enum):
106
+ class InputFirehoseMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputFirehoseMaximumTLSVersion(str, Enum):
113
+ class InputFirehoseMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,11 +169,19 @@ class InputFirehoseTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputFirehoseMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputFirehoseMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputFirehoseMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputFirehoseMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputGooglePubsubConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputGooglePubsubMode(str, Enum):
29
+ class InputGooglePubsubMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputGooglePubsubCompression(str, Enum):
36
+ class InputGooglePubsubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputGooglePubsubPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputGooglePubsubPq(BaseModel):
67
- mode: Optional[InputGooglePubsubMode] = InputGooglePubsubMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputGooglePubsubMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputGooglePubsubMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,10 @@ class InputGooglePubsubPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputGooglePubsubCompression] = InputGooglePubsubCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputGooglePubsubCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputGooglePubsubCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  pq_controls: Annotated[
@@ -96,7 +104,9 @@ class InputGooglePubsubPq(BaseModel):
96
104
  ] = None
97
105
 
98
106
 
99
- class InputGooglePubsubGoogleAuthenticationMethod(str, Enum):
107
+ class InputGooglePubsubGoogleAuthenticationMethod(
108
+ str, Enum, metaclass=utils.OpenEnumMeta
109
+ ):
100
110
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
101
111
 
102
112
  AUTO = "auto"
@@ -219,7 +229,10 @@ class InputGooglePubsub(BaseModel):
219
229
  r"""Region to retrieve messages from. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy."""
220
230
 
221
231
  google_auth_method: Annotated[
222
- Optional[InputGooglePubsubGoogleAuthenticationMethod],
232
+ Annotated[
233
+ Optional[InputGooglePubsubGoogleAuthenticationMethod],
234
+ PlainValidator(validate_open_enum(False)),
235
+ ],
223
236
  pydantic.Field(alias="googleAuthMethod"),
224
237
  ] = InputGooglePubsubGoogleAuthenticationMethod.MANUAL
225
238
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import Any, List, Optional, Union
8
11
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputGrafanaConnection2(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputGrafanaMode2(str, Enum):
29
+ class InputGrafanaMode2(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputGrafanaCompression2(str, Enum):
36
+ class InputGrafanaCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputGrafanaPq2TypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputGrafanaPq2(BaseModel):
67
- mode: Optional[InputGrafanaMode2] = InputGrafanaMode2.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputGrafanaMode2], PlainValidator(validate_open_enum(False))
72
+ ] = InputGrafanaMode2.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputGrafanaPq2(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputGrafanaCompression2] = InputGrafanaCompression2.NONE
96
+ compress: Annotated[
97
+ Optional[InputGrafanaCompression2], PlainValidator(validate_open_enum(False))
98
+ ] = InputGrafanaCompression2.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputGrafanaPq2(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputGrafanaMinimumTLSVersion2(str, Enum):
106
+ class InputGrafanaMinimumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputGrafanaMaximumTLSVersion2(str, Enum):
113
+ class InputGrafanaMaximumTLSVersion2(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,15 +169,25 @@ class InputGrafanaTLSSettingsServerSide2(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputGrafanaMinimumTLSVersion2], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputGrafanaMinimumTLSVersion2],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputGrafanaMaximumTLSVersion2], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputGrafanaMaximumTLSVersion2],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
173
- class InputGrafanaPrometheusAuthAuthenticationType2(str, Enum):
188
+ class InputGrafanaPrometheusAuthAuthenticationType2(
189
+ str, Enum, metaclass=utils.OpenEnumMeta
190
+ ):
174
191
  r"""Remote Write authentication type"""
175
192
 
176
193
  NONE = "none"
@@ -242,7 +259,10 @@ class InputGrafanaPrometheusAuth2TypedDict(TypedDict):
242
259
 
243
260
  class InputGrafanaPrometheusAuth2(BaseModel):
244
261
  auth_type: Annotated[
245
- Optional[InputGrafanaPrometheusAuthAuthenticationType2],
262
+ Annotated[
263
+ Optional[InputGrafanaPrometheusAuthAuthenticationType2],
264
+ PlainValidator(validate_open_enum(False)),
265
+ ],
246
266
  pydantic.Field(alias="authType"),
247
267
  ] = InputGrafanaPrometheusAuthAuthenticationType2.NONE
248
268
  r"""Remote Write authentication type"""
@@ -299,7 +319,7 @@ class InputGrafanaPrometheusAuth2(BaseModel):
299
319
  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."""
300
320
 
301
321
 
302
- class InputGrafanaLokiAuthAuthenticationType2(str, Enum):
322
+ class InputGrafanaLokiAuthAuthenticationType2(str, Enum, metaclass=utils.OpenEnumMeta):
303
323
  r"""Loki logs authentication type"""
304
324
 
305
325
  NONE = "none"
@@ -371,7 +391,10 @@ class InputGrafanaLokiAuth2TypedDict(TypedDict):
371
391
 
372
392
  class InputGrafanaLokiAuth2(BaseModel):
373
393
  auth_type: Annotated[
374
- Optional[InputGrafanaLokiAuthAuthenticationType2],
394
+ Annotated[
395
+ Optional[InputGrafanaLokiAuthAuthenticationType2],
396
+ PlainValidator(validate_open_enum(False)),
397
+ ],
375
398
  pydantic.Field(alias="authType"),
376
399
  ] = InputGrafanaLokiAuthAuthenticationType2.NONE
377
400
  r"""Loki logs authentication type"""
@@ -629,14 +652,14 @@ class InputGrafanaConnection1(BaseModel):
629
652
  pipeline: Optional[str] = None
630
653
 
631
654
 
632
- class InputGrafanaMode1(str, Enum):
655
+ class InputGrafanaMode1(str, Enum, metaclass=utils.OpenEnumMeta):
633
656
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
634
657
 
635
658
  SMART = "smart"
636
659
  ALWAYS = "always"
637
660
 
638
661
 
639
- class InputGrafanaCompression1(str, Enum):
662
+ class InputGrafanaCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
640
663
  r"""Codec to use to compress the persisted data"""
641
664
 
642
665
  NONE = "none"
@@ -670,7 +693,9 @@ class InputGrafanaPq1TypedDict(TypedDict):
670
693
 
671
694
 
672
695
  class InputGrafanaPq1(BaseModel):
673
- mode: Optional[InputGrafanaMode1] = InputGrafanaMode1.ALWAYS
696
+ mode: Annotated[
697
+ Optional[InputGrafanaMode1], PlainValidator(validate_open_enum(False))
698
+ ] = InputGrafanaMode1.ALWAYS
674
699
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
675
700
 
676
701
  max_buffer_size: Annotated[
@@ -694,7 +719,9 @@ class InputGrafanaPq1(BaseModel):
694
719
  path: Optional[str] = "$CRIBL_HOME/state/queues"
695
720
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
696
721
 
697
- compress: Optional[InputGrafanaCompression1] = InputGrafanaCompression1.NONE
722
+ compress: Annotated[
723
+ Optional[InputGrafanaCompression1], PlainValidator(validate_open_enum(False))
724
+ ] = InputGrafanaCompression1.NONE
698
725
  r"""Codec to use to compress the persisted data"""
699
726
 
700
727
  pq_controls: Annotated[
@@ -702,14 +729,14 @@ class InputGrafanaPq1(BaseModel):
702
729
  ] = None
703
730
 
704
731
 
705
- class InputGrafanaMinimumTLSVersion1(str, Enum):
732
+ class InputGrafanaMinimumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
706
733
  TL_SV1 = "TLSv1"
707
734
  TL_SV1_1 = "TLSv1.1"
708
735
  TL_SV1_2 = "TLSv1.2"
709
736
  TL_SV1_3 = "TLSv1.3"
710
737
 
711
738
 
712
- class InputGrafanaMaximumTLSVersion1(str, Enum):
739
+ class InputGrafanaMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
713
740
  TL_SV1 = "TLSv1"
714
741
  TL_SV1_1 = "TLSv1.1"
715
742
  TL_SV1_2 = "TLSv1.2"
@@ -768,15 +795,25 @@ class InputGrafanaTLSSettingsServerSide1(BaseModel):
768
795
  ] = None
769
796
 
770
797
  min_version: Annotated[
771
- Optional[InputGrafanaMinimumTLSVersion1], pydantic.Field(alias="minVersion")
798
+ Annotated[
799
+ Optional[InputGrafanaMinimumTLSVersion1],
800
+ PlainValidator(validate_open_enum(False)),
801
+ ],
802
+ pydantic.Field(alias="minVersion"),
772
803
  ] = None
773
804
 
774
805
  max_version: Annotated[
775
- Optional[InputGrafanaMaximumTLSVersion1], pydantic.Field(alias="maxVersion")
806
+ Annotated[
807
+ Optional[InputGrafanaMaximumTLSVersion1],
808
+ PlainValidator(validate_open_enum(False)),
809
+ ],
810
+ pydantic.Field(alias="maxVersion"),
776
811
  ] = None
777
812
 
778
813
 
779
- class InputGrafanaPrometheusAuthAuthenticationType1(str, Enum):
814
+ class InputGrafanaPrometheusAuthAuthenticationType1(
815
+ str, Enum, metaclass=utils.OpenEnumMeta
816
+ ):
780
817
  r"""Remote Write authentication type"""
781
818
 
782
819
  NONE = "none"
@@ -848,7 +885,10 @@ class InputGrafanaPrometheusAuth1TypedDict(TypedDict):
848
885
 
849
886
  class InputGrafanaPrometheusAuth1(BaseModel):
850
887
  auth_type: Annotated[
851
- Optional[InputGrafanaPrometheusAuthAuthenticationType1],
888
+ Annotated[
889
+ Optional[InputGrafanaPrometheusAuthAuthenticationType1],
890
+ PlainValidator(validate_open_enum(False)),
891
+ ],
852
892
  pydantic.Field(alias="authType"),
853
893
  ] = InputGrafanaPrometheusAuthAuthenticationType1.NONE
854
894
  r"""Remote Write authentication type"""
@@ -905,7 +945,7 @@ class InputGrafanaPrometheusAuth1(BaseModel):
905
945
  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."""
906
946
 
907
947
 
908
- class InputGrafanaLokiAuthAuthenticationType1(str, Enum):
948
+ class InputGrafanaLokiAuthAuthenticationType1(str, Enum, metaclass=utils.OpenEnumMeta):
909
949
  r"""Loki logs authentication type"""
910
950
 
911
951
  NONE = "none"
@@ -977,7 +1017,10 @@ class InputGrafanaLokiAuth1TypedDict(TypedDict):
977
1017
 
978
1018
  class InputGrafanaLokiAuth1(BaseModel):
979
1019
  auth_type: Annotated[
980
- Optional[InputGrafanaLokiAuthAuthenticationType1],
1020
+ Annotated[
1021
+ Optional[InputGrafanaLokiAuthAuthenticationType1],
1022
+ PlainValidator(validate_open_enum(False)),
1023
+ ],
981
1024
  pydantic.Field(alias="authType"),
982
1025
  ] = InputGrafanaLokiAuthAuthenticationType1.NONE
983
1026
  r"""Loki logs authentication type"""