cribl-control-plane 0.0.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/__init__.py +17 -0
- cribl_control_plane/_hooks/__init__.py +5 -0
- cribl_control_plane/_hooks/clientcredentials.py +211 -0
- cribl_control_plane/_hooks/registration.py +13 -0
- cribl_control_plane/_hooks/sdkhooks.py +81 -0
- cribl_control_plane/_hooks/types.py +112 -0
- cribl_control_plane/_version.py +15 -0
- cribl_control_plane/auth_sdk.py +184 -0
- cribl_control_plane/basesdk.py +358 -0
- cribl_control_plane/errors/__init__.py +60 -0
- cribl_control_plane/errors/apierror.py +38 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +26 -0
- cribl_control_plane/errors/error.py +24 -0
- cribl_control_plane/errors/healthstatus_error.py +38 -0
- cribl_control_plane/errors/no_response_error.py +13 -0
- cribl_control_plane/errors/responsevalidationerror.py +25 -0
- cribl_control_plane/health.py +166 -0
- cribl_control_plane/httpclient.py +126 -0
- cribl_control_plane/models/__init__.py +7305 -0
- cribl_control_plane/models/addhectokenrequest.py +34 -0
- cribl_control_plane/models/authtoken.py +13 -0
- cribl_control_plane/models/createinputhectokenbyidop.py +45 -0
- cribl_control_plane/models/createinputop.py +24 -0
- cribl_control_plane/models/createoutputop.py +24 -0
- cribl_control_plane/models/createoutputtestbyidop.py +46 -0
- cribl_control_plane/models/criblevent.py +14 -0
- cribl_control_plane/models/deleteinputbyidop.py +37 -0
- cribl_control_plane/models/deleteoutputbyidop.py +37 -0
- cribl_control_plane/models/deleteoutputpqbyidop.py +36 -0
- cribl_control_plane/models/getinputbyidop.py +37 -0
- cribl_control_plane/models/getoutputbyidop.py +37 -0
- cribl_control_plane/models/getoutputpqbyidop.py +36 -0
- cribl_control_plane/models/getoutputsamplesbyidop.py +37 -0
- cribl_control_plane/models/healthstatus.py +36 -0
- cribl_control_plane/models/input.py +199 -0
- cribl_control_plane/models/inputappscope.py +448 -0
- cribl_control_plane/models/inputazureblob.py +308 -0
- cribl_control_plane/models/inputcollection.py +208 -0
- cribl_control_plane/models/inputconfluentcloud.py +585 -0
- cribl_control_plane/models/inputcribl.py +165 -0
- cribl_control_plane/models/inputcriblhttp.py +341 -0
- cribl_control_plane/models/inputcribllakehttp.py +342 -0
- cribl_control_plane/models/inputcriblmetrics.py +175 -0
- cribl_control_plane/models/inputcribltcp.py +299 -0
- cribl_control_plane/models/inputcrowdstrike.py +410 -0
- cribl_control_plane/models/inputdatadogagent.py +364 -0
- cribl_control_plane/models/inputdatagen.py +180 -0
- cribl_control_plane/models/inputedgeprometheus.py +551 -0
- cribl_control_plane/models/inputelastic.py +494 -0
- cribl_control_plane/models/inputeventhub.py +360 -0
- cribl_control_plane/models/inputexec.py +213 -0
- cribl_control_plane/models/inputfile.py +259 -0
- cribl_control_plane/models/inputfirehose.py +341 -0
- cribl_control_plane/models/inputgooglepubsub.py +247 -0
- cribl_control_plane/models/inputgrafana_union.py +1247 -0
- cribl_control_plane/models/inputhttp.py +403 -0
- cribl_control_plane/models/inputhttpraw.py +407 -0
- cribl_control_plane/models/inputjournalfiles.py +208 -0
- cribl_control_plane/models/inputkafka.py +581 -0
- cribl_control_plane/models/inputkinesis.py +363 -0
- cribl_control_plane/models/inputkubeevents.py +182 -0
- cribl_control_plane/models/inputkubelogs.py +256 -0
- cribl_control_plane/models/inputkubemetrics.py +233 -0
- cribl_control_plane/models/inputloki.py +468 -0
- cribl_control_plane/models/inputmetrics.py +290 -0
- cribl_control_plane/models/inputmodeldriventelemetry.py +274 -0
- cribl_control_plane/models/inputmsk.py +654 -0
- cribl_control_plane/models/inputnetflow.py +224 -0
- cribl_control_plane/models/inputoffice365mgmt.py +384 -0
- cribl_control_plane/models/inputoffice365msgtrace.py +449 -0
- cribl_control_plane/models/inputoffice365service.py +377 -0
- cribl_control_plane/models/inputopentelemetry.py +516 -0
- cribl_control_plane/models/inputprometheus.py +464 -0
- cribl_control_plane/models/inputprometheusrw.py +470 -0
- cribl_control_plane/models/inputrawudp.py +207 -0
- cribl_control_plane/models/inputs3.py +416 -0
- cribl_control_plane/models/inputs3inventory.py +440 -0
- cribl_control_plane/models/inputsecuritylake.py +425 -0
- cribl_control_plane/models/inputsnmp.py +274 -0
- cribl_control_plane/models/inputsplunk.py +387 -0
- cribl_control_plane/models/inputsplunkhec.py +478 -0
- cribl_control_plane/models/inputsplunksearch.py +537 -0
- cribl_control_plane/models/inputsqs.py +320 -0
- cribl_control_plane/models/inputsyslog_union.py +759 -0
- cribl_control_plane/models/inputsystemmetrics.py +533 -0
- cribl_control_plane/models/inputsystemstate.py +417 -0
- cribl_control_plane/models/inputtcp.py +359 -0
- cribl_control_plane/models/inputtcpjson.py +334 -0
- cribl_control_plane/models/inputwef.py +498 -0
- cribl_control_plane/models/inputwindowsmetrics.py +457 -0
- cribl_control_plane/models/inputwineventlogs.py +222 -0
- cribl_control_plane/models/inputwiz.py +334 -0
- cribl_control_plane/models/inputzscalerhec.py +439 -0
- cribl_control_plane/models/listinputop.py +24 -0
- cribl_control_plane/models/listoutputop.py +24 -0
- cribl_control_plane/models/logininfo.py +16 -0
- cribl_control_plane/models/output.py +229 -0
- cribl_control_plane/models/outputazureblob.py +471 -0
- cribl_control_plane/models/outputazuredataexplorer.py +660 -0
- cribl_control_plane/models/outputazureeventhub.py +321 -0
- cribl_control_plane/models/outputazurelogs.py +386 -0
- cribl_control_plane/models/outputclickhouse.py +650 -0
- cribl_control_plane/models/outputcloudwatch.py +273 -0
- cribl_control_plane/models/outputconfluentcloud.py +591 -0
- cribl_control_plane/models/outputcriblhttp.py +494 -0
- cribl_control_plane/models/outputcribllake.py +396 -0
- cribl_control_plane/models/outputcribltcp.py +387 -0
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +410 -0
- cribl_control_plane/models/outputdatadog.py +472 -0
- cribl_control_plane/models/outputdataset.py +437 -0
- cribl_control_plane/models/outputdefault.py +55 -0
- cribl_control_plane/models/outputdevnull.py +50 -0
- cribl_control_plane/models/outputdiskspool.py +89 -0
- cribl_control_plane/models/outputdls3.py +560 -0
- cribl_control_plane/models/outputdynatracehttp.py +454 -0
- cribl_control_plane/models/outputdynatraceotlp.py +486 -0
- cribl_control_plane/models/outputelastic.py +494 -0
- cribl_control_plane/models/outputelasticcloud.py +407 -0
- cribl_control_plane/models/outputexabeam.py +297 -0
- cribl_control_plane/models/outputfilesystem.py +357 -0
- cribl_control_plane/models/outputgooglechronicle.py +486 -0
- cribl_control_plane/models/outputgooglecloudlogging.py +557 -0
- cribl_control_plane/models/outputgooglecloudstorage.py +499 -0
- cribl_control_plane/models/outputgooglepubsub.py +274 -0
- cribl_control_plane/models/outputgrafanacloud_union.py +1024 -0
- cribl_control_plane/models/outputgraphite.py +225 -0
- cribl_control_plane/models/outputhoneycomb.py +369 -0
- cribl_control_plane/models/outputhumiohec.py +389 -0
- cribl_control_plane/models/outputinfluxdb.py +523 -0
- cribl_control_plane/models/outputkafka.py +581 -0
- cribl_control_plane/models/outputkinesis.py +312 -0
- cribl_control_plane/models/outputloki.py +425 -0
- cribl_control_plane/models/outputminio.py +512 -0
- cribl_control_plane/models/outputmsk.py +654 -0
- cribl_control_plane/models/outputnetflow.py +80 -0
- cribl_control_plane/models/outputnewrelic.py +424 -0
- cribl_control_plane/models/outputnewrelicevents.py +401 -0
- cribl_control_plane/models/outputopentelemetry.py +669 -0
- cribl_control_plane/models/outputprometheus.py +485 -0
- cribl_control_plane/models/outputring.py +121 -0
- cribl_control_plane/models/outputrouter.py +83 -0
- cribl_control_plane/models/outputs3.py +556 -0
- cribl_control_plane/models/outputsamplesresponse.py +14 -0
- cribl_control_plane/models/outputsecuritylake.py +505 -0
- cribl_control_plane/models/outputsentinel.py +488 -0
- cribl_control_plane/models/outputsentineloneaisiem.py +505 -0
- cribl_control_plane/models/outputservicenow.py +543 -0
- cribl_control_plane/models/outputsignalfx.py +369 -0
- cribl_control_plane/models/outputsnmp.py +80 -0
- cribl_control_plane/models/outputsns.py +274 -0
- cribl_control_plane/models/outputsplunk.py +383 -0
- cribl_control_plane/models/outputsplunkhec.py +434 -0
- cribl_control_plane/models/outputsplunklb.py +558 -0
- cribl_control_plane/models/outputsqs.py +328 -0
- cribl_control_plane/models/outputstatsd.py +224 -0
- cribl_control_plane/models/outputstatsdext.py +225 -0
- cribl_control_plane/models/outputsumologic.py +378 -0
- cribl_control_plane/models/outputsyslog.py +415 -0
- cribl_control_plane/models/outputtcpjson.py +413 -0
- cribl_control_plane/models/outputtestrequest.py +15 -0
- cribl_control_plane/models/outputtestresponse.py +29 -0
- cribl_control_plane/models/outputwavefront.py +369 -0
- cribl_control_plane/models/outputwebhook.py +689 -0
- cribl_control_plane/models/outputxsiam.py +415 -0
- cribl_control_plane/models/schemeclientoauth.py +24 -0
- cribl_control_plane/models/security.py +36 -0
- cribl_control_plane/models/updatehectokenrequest.py +31 -0
- cribl_control_plane/models/updateinputbyidop.py +44 -0
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +52 -0
- cribl_control_plane/models/updateoutputbyidop.py +44 -0
- cribl_control_plane/outputs.py +1615 -0
- cribl_control_plane/py.typed +1 -0
- cribl_control_plane/sdk.py +164 -0
- cribl_control_plane/sdkconfiguration.py +36 -0
- cribl_control_plane/sources.py +1355 -0
- cribl_control_plane/types/__init__.py +21 -0
- cribl_control_plane/types/basemodel.py +39 -0
- cribl_control_plane/utils/__init__.py +187 -0
- cribl_control_plane/utils/annotations.py +55 -0
- cribl_control_plane/utils/datetimes.py +23 -0
- cribl_control_plane/utils/enums.py +74 -0
- cribl_control_plane/utils/eventstreaming.py +238 -0
- cribl_control_plane/utils/forms.py +223 -0
- cribl_control_plane/utils/headers.py +136 -0
- cribl_control_plane/utils/logger.py +27 -0
- cribl_control_plane/utils/metadata.py +118 -0
- cribl_control_plane/utils/queryparams.py +205 -0
- cribl_control_plane/utils/requestbodies.py +66 -0
- cribl_control_plane/utils/retries.py +217 -0
- cribl_control_plane/utils/security.py +207 -0
- cribl_control_plane/utils/serializers.py +249 -0
- cribl_control_plane/utils/unmarshal_json_response.py +24 -0
- cribl_control_plane/utils/url.py +155 -0
- cribl_control_plane/utils/values.py +137 -0
- cribl_control_plane-0.0.13.dist-info/METADATA +489 -0
- cribl_control_plane-0.0.13.dist-info/RECORD +197 -0
- cribl_control_plane-0.0.13.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class OutputGoogleCloudLoggingType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
+
GOOGLE_CLOUD_LOGGING = "google_cloud_logging"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class LogLocationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
|
+
PROJECT = "project"
|
|
20
|
+
ORGANIZATION = "organization"
|
|
21
|
+
BILLING_ACCOUNT = "billingAccount"
|
|
22
|
+
FOLDER = "folder"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PayloadFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
26
|
+
r"""Format to use when sending payload. Defaults to Text."""
|
|
27
|
+
|
|
28
|
+
TEXT = "text"
|
|
29
|
+
JSON = "json"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class LogLabelTypedDict(TypedDict):
|
|
33
|
+
label: str
|
|
34
|
+
r"""Label name"""
|
|
35
|
+
value_expression: str
|
|
36
|
+
r"""JavaScript expression to compute the label's value."""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class LogLabel(BaseModel):
|
|
40
|
+
label: str
|
|
41
|
+
r"""Label name"""
|
|
42
|
+
|
|
43
|
+
value_expression: Annotated[str, pydantic.Field(alias="valueExpression")]
|
|
44
|
+
r"""JavaScript expression to compute the label's value."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ResourceTypeLabelTypedDict(TypedDict):
|
|
48
|
+
label: str
|
|
49
|
+
r"""Label name"""
|
|
50
|
+
value_expression: str
|
|
51
|
+
r"""JavaScript expression to compute the label's value."""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class ResourceTypeLabel(BaseModel):
|
|
55
|
+
label: str
|
|
56
|
+
r"""Label name"""
|
|
57
|
+
|
|
58
|
+
value_expression: Annotated[str, pydantic.Field(alias="valueExpression")]
|
|
59
|
+
r"""JavaScript expression to compute the label's value."""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class OutputGoogleCloudLoggingGoogleAuthenticationMethod(
|
|
63
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
64
|
+
):
|
|
65
|
+
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."""
|
|
66
|
+
|
|
67
|
+
AUTO = "auto"
|
|
68
|
+
MANUAL = "manual"
|
|
69
|
+
SECRET = "secret"
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class OutputGoogleCloudLoggingBackpressureBehavior(
|
|
73
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
74
|
+
):
|
|
75
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
76
|
+
|
|
77
|
+
BLOCK = "block"
|
|
78
|
+
DROP = "drop"
|
|
79
|
+
QUEUE = "queue"
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class OutputGoogleCloudLoggingCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
83
|
+
r"""Codec to use to compress the persisted data"""
|
|
84
|
+
|
|
85
|
+
NONE = "none"
|
|
86
|
+
GZIP = "gzip"
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class OutputGoogleCloudLoggingQueueFullBehavior(
|
|
90
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
91
|
+
):
|
|
92
|
+
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
93
|
+
|
|
94
|
+
BLOCK = "block"
|
|
95
|
+
DROP = "drop"
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class OutputGoogleCloudLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
99
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
100
|
+
|
|
101
|
+
ERROR = "error"
|
|
102
|
+
BACKPRESSURE = "backpressure"
|
|
103
|
+
ALWAYS = "always"
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class OutputGoogleCloudLoggingPqControlsTypedDict(TypedDict):
|
|
107
|
+
pass
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class OutputGoogleCloudLoggingPqControls(BaseModel):
|
|
111
|
+
pass
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class OutputGoogleCloudLoggingTypedDict(TypedDict):
|
|
115
|
+
log_location_type: LogLocationType
|
|
116
|
+
log_name_expression: str
|
|
117
|
+
r"""JavaScript expression to compute the value of the log name."""
|
|
118
|
+
log_location_expression: str
|
|
119
|
+
r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated."""
|
|
120
|
+
id: NotRequired[str]
|
|
121
|
+
r"""Unique ID for this output"""
|
|
122
|
+
type: NotRequired[OutputGoogleCloudLoggingType]
|
|
123
|
+
pipeline: NotRequired[str]
|
|
124
|
+
r"""Pipeline to process data before sending out to this output"""
|
|
125
|
+
system_fields: NotRequired[List[str]]
|
|
126
|
+
r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
|
|
127
|
+
environment: NotRequired[str]
|
|
128
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
129
|
+
streamtags: NotRequired[List[str]]
|
|
130
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
131
|
+
payload_format: NotRequired[PayloadFormat]
|
|
132
|
+
r"""Format to use when sending payload. Defaults to Text."""
|
|
133
|
+
log_labels: NotRequired[List[LogLabelTypedDict]]
|
|
134
|
+
r"""Labels to apply to the log entry"""
|
|
135
|
+
resource_type_expression: NotRequired[str]
|
|
136
|
+
r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\"."""
|
|
137
|
+
resource_type_labels: NotRequired[List[ResourceTypeLabelTypedDict]]
|
|
138
|
+
r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging."""
|
|
139
|
+
severity_expression: NotRequired[str]
|
|
140
|
+
r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\"."""
|
|
141
|
+
insert_id_expression: NotRequired[str]
|
|
142
|
+
r"""JavaScript expression to compute the value of the insert ID field."""
|
|
143
|
+
google_auth_method: NotRequired[OutputGoogleCloudLoggingGoogleAuthenticationMethod]
|
|
144
|
+
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."""
|
|
145
|
+
service_account_credentials: NotRequired[str]
|
|
146
|
+
r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right."""
|
|
147
|
+
secret: NotRequired[str]
|
|
148
|
+
r"""Select or create a stored text secret"""
|
|
149
|
+
max_payload_size_kb: NotRequired[float]
|
|
150
|
+
r"""Maximum size, in KB, of the request body."""
|
|
151
|
+
max_payload_events: NotRequired[float]
|
|
152
|
+
r"""Max number of events to include in the request body. Default is 0 (unlimited)."""
|
|
153
|
+
flush_period_sec: NotRequired[float]
|
|
154
|
+
r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size."""
|
|
155
|
+
concurrency: NotRequired[float]
|
|
156
|
+
r"""Maximum number of ongoing requests before blocking."""
|
|
157
|
+
connection_timeout: NotRequired[float]
|
|
158
|
+
r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
|
|
159
|
+
timeout_sec: NotRequired[float]
|
|
160
|
+
r"""Amount of time, in seconds, to wait for a request to complete before canceling it."""
|
|
161
|
+
throttle_rate_req_per_sec: NotRequired[int]
|
|
162
|
+
r"""Maximum number of requests to limit to per second."""
|
|
163
|
+
request_method_expression: NotRequired[str]
|
|
164
|
+
r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
165
|
+
request_url_expression: NotRequired[str]
|
|
166
|
+
r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
167
|
+
request_size_expression: NotRequired[str]
|
|
168
|
+
r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
169
|
+
status_expression: NotRequired[str]
|
|
170
|
+
r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
171
|
+
response_size_expression: NotRequired[str]
|
|
172
|
+
r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
173
|
+
user_agent_expression: NotRequired[str]
|
|
174
|
+
r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
175
|
+
remote_ip_expression: NotRequired[str]
|
|
176
|
+
r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
177
|
+
server_ip_expression: NotRequired[str]
|
|
178
|
+
r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
179
|
+
referer_expression: NotRequired[str]
|
|
180
|
+
r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
181
|
+
latency_expression: NotRequired[str]
|
|
182
|
+
r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as <seconds>.<nanoseconds>s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
183
|
+
cache_lookup_expression: NotRequired[str]
|
|
184
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
185
|
+
cache_hit_expression: NotRequired[str]
|
|
186
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
187
|
+
cache_validated_expression: NotRequired[str]
|
|
188
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
189
|
+
cache_fill_bytes_expression: NotRequired[str]
|
|
190
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
191
|
+
protocol_expression: NotRequired[str]
|
|
192
|
+
r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
193
|
+
id_expression: NotRequired[str]
|
|
194
|
+
r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
195
|
+
producer_expression: NotRequired[str]
|
|
196
|
+
r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
197
|
+
first_expression: NotRequired[str]
|
|
198
|
+
r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
199
|
+
last_expression: NotRequired[str]
|
|
200
|
+
r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
201
|
+
file_expression: NotRequired[str]
|
|
202
|
+
r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
203
|
+
line_expression: NotRequired[str]
|
|
204
|
+
r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
205
|
+
function_expression: NotRequired[str]
|
|
206
|
+
r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
207
|
+
uid_expression: NotRequired[str]
|
|
208
|
+
r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
209
|
+
index_expression: NotRequired[str]
|
|
210
|
+
r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
211
|
+
total_splits_expression: NotRequired[str]
|
|
212
|
+
r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
213
|
+
trace_expression: NotRequired[str]
|
|
214
|
+
r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
215
|
+
span_id_expression: NotRequired[str]
|
|
216
|
+
r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
217
|
+
trace_sampled_expression: NotRequired[str]
|
|
218
|
+
r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
219
|
+
on_backpressure: NotRequired[OutputGoogleCloudLoggingBackpressureBehavior]
|
|
220
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
221
|
+
total_memory_limit_kb: NotRequired[float]
|
|
222
|
+
r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
|
|
223
|
+
description: NotRequired[str]
|
|
224
|
+
payload_expression: NotRequired[str]
|
|
225
|
+
r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event."""
|
|
226
|
+
pq_max_file_size: NotRequired[str]
|
|
227
|
+
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
228
|
+
pq_max_size: NotRequired[str]
|
|
229
|
+
r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc."""
|
|
230
|
+
pq_path: NotRequired[str]
|
|
231
|
+
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
232
|
+
pq_compress: NotRequired[OutputGoogleCloudLoggingCompression]
|
|
233
|
+
r"""Codec to use to compress the persisted data"""
|
|
234
|
+
pq_on_backpressure: NotRequired[OutputGoogleCloudLoggingQueueFullBehavior]
|
|
235
|
+
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
236
|
+
pq_mode: NotRequired[OutputGoogleCloudLoggingMode]
|
|
237
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
238
|
+
pq_controls: NotRequired[OutputGoogleCloudLoggingPqControlsTypedDict]
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
class OutputGoogleCloudLogging(BaseModel):
|
|
242
|
+
log_location_type: Annotated[
|
|
243
|
+
Annotated[LogLocationType, PlainValidator(validate_open_enum(False))],
|
|
244
|
+
pydantic.Field(alias="logLocationType"),
|
|
245
|
+
]
|
|
246
|
+
|
|
247
|
+
log_name_expression: Annotated[str, pydantic.Field(alias="logNameExpression")]
|
|
248
|
+
r"""JavaScript expression to compute the value of the log name."""
|
|
249
|
+
|
|
250
|
+
log_location_expression: Annotated[
|
|
251
|
+
str, pydantic.Field(alias="logLocationExpression")
|
|
252
|
+
]
|
|
253
|
+
r"""JavaScript expression to compute the value of the folder ID with which log entries should be associated."""
|
|
254
|
+
|
|
255
|
+
id: Optional[str] = None
|
|
256
|
+
r"""Unique ID for this output"""
|
|
257
|
+
|
|
258
|
+
type: Annotated[
|
|
259
|
+
Optional[OutputGoogleCloudLoggingType],
|
|
260
|
+
PlainValidator(validate_open_enum(False)),
|
|
261
|
+
] = None
|
|
262
|
+
|
|
263
|
+
pipeline: Optional[str] = None
|
|
264
|
+
r"""Pipeline to process data before sending out to this output"""
|
|
265
|
+
|
|
266
|
+
system_fields: Annotated[
|
|
267
|
+
Optional[List[str]], pydantic.Field(alias="systemFields")
|
|
268
|
+
] = None
|
|
269
|
+
r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
|
|
270
|
+
|
|
271
|
+
environment: Optional[str] = None
|
|
272
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
273
|
+
|
|
274
|
+
streamtags: Optional[List[str]] = None
|
|
275
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
276
|
+
|
|
277
|
+
payload_format: Annotated[
|
|
278
|
+
Annotated[Optional[PayloadFormat], PlainValidator(validate_open_enum(False))],
|
|
279
|
+
pydantic.Field(alias="payloadFormat"),
|
|
280
|
+
] = PayloadFormat.TEXT
|
|
281
|
+
r"""Format to use when sending payload. Defaults to Text."""
|
|
282
|
+
|
|
283
|
+
log_labels: Annotated[
|
|
284
|
+
Optional[List[LogLabel]], pydantic.Field(alias="logLabels")
|
|
285
|
+
] = None
|
|
286
|
+
r"""Labels to apply to the log entry"""
|
|
287
|
+
|
|
288
|
+
resource_type_expression: Annotated[
|
|
289
|
+
Optional[str], pydantic.Field(alias="resourceTypeExpression")
|
|
290
|
+
] = None
|
|
291
|
+
r"""JavaScript expression to compute the value of the managed resource type field. Must evaluate to one of the valid values [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types). Defaults to \"global\"."""
|
|
292
|
+
|
|
293
|
+
resource_type_labels: Annotated[
|
|
294
|
+
Optional[List[ResourceTypeLabel]], pydantic.Field(alias="resourceTypeLabels")
|
|
295
|
+
] = None
|
|
296
|
+
r"""Labels to apply to the managed resource. These must correspond to the valid labels for the specified resource type (see [here](https://cloud.google.com/logging/docs/api/v2/resource-list#resource-types)). Otherwise, they will be dropped by Google Cloud Logging."""
|
|
297
|
+
|
|
298
|
+
severity_expression: Annotated[
|
|
299
|
+
Optional[str], pydantic.Field(alias="severityExpression")
|
|
300
|
+
] = None
|
|
301
|
+
r"""JavaScript expression to compute the value of the severity field. Must evaluate to one of the severity values supported by Google Cloud Logging [here](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity) (case insensitive). Defaults to \"DEFAULT\"."""
|
|
302
|
+
|
|
303
|
+
insert_id_expression: Annotated[
|
|
304
|
+
Optional[str], pydantic.Field(alias="insertIdExpression")
|
|
305
|
+
] = None
|
|
306
|
+
r"""JavaScript expression to compute the value of the insert ID field."""
|
|
307
|
+
|
|
308
|
+
google_auth_method: Annotated[
|
|
309
|
+
Annotated[
|
|
310
|
+
Optional[OutputGoogleCloudLoggingGoogleAuthenticationMethod],
|
|
311
|
+
PlainValidator(validate_open_enum(False)),
|
|
312
|
+
],
|
|
313
|
+
pydantic.Field(alias="googleAuthMethod"),
|
|
314
|
+
] = OutputGoogleCloudLoggingGoogleAuthenticationMethod.MANUAL
|
|
315
|
+
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."""
|
|
316
|
+
|
|
317
|
+
service_account_credentials: Annotated[
|
|
318
|
+
Optional[str], pydantic.Field(alias="serviceAccountCredentials")
|
|
319
|
+
] = None
|
|
320
|
+
r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right."""
|
|
321
|
+
|
|
322
|
+
secret: Optional[str] = None
|
|
323
|
+
r"""Select or create a stored text secret"""
|
|
324
|
+
|
|
325
|
+
max_payload_size_kb: Annotated[
|
|
326
|
+
Optional[float], pydantic.Field(alias="maxPayloadSizeKB")
|
|
327
|
+
] = 4096
|
|
328
|
+
r"""Maximum size, in KB, of the request body."""
|
|
329
|
+
|
|
330
|
+
max_payload_events: Annotated[
|
|
331
|
+
Optional[float], pydantic.Field(alias="maxPayloadEvents")
|
|
332
|
+
] = 0
|
|
333
|
+
r"""Max number of events to include in the request body. Default is 0 (unlimited)."""
|
|
334
|
+
|
|
335
|
+
flush_period_sec: Annotated[
|
|
336
|
+
Optional[float], pydantic.Field(alias="flushPeriodSec")
|
|
337
|
+
] = 1
|
|
338
|
+
r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Max record size."""
|
|
339
|
+
|
|
340
|
+
concurrency: Optional[float] = 5
|
|
341
|
+
r"""Maximum number of ongoing requests before blocking."""
|
|
342
|
+
|
|
343
|
+
connection_timeout: Annotated[
|
|
344
|
+
Optional[float], pydantic.Field(alias="connectionTimeout")
|
|
345
|
+
] = 10000
|
|
346
|
+
r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
|
|
347
|
+
|
|
348
|
+
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 30
|
|
349
|
+
r"""Amount of time, in seconds, to wait for a request to complete before canceling it."""
|
|
350
|
+
|
|
351
|
+
throttle_rate_req_per_sec: Annotated[
|
|
352
|
+
Optional[int], pydantic.Field(alias="throttleRateReqPerSec")
|
|
353
|
+
] = None
|
|
354
|
+
r"""Maximum number of requests to limit to per second."""
|
|
355
|
+
|
|
356
|
+
request_method_expression: Annotated[
|
|
357
|
+
Optional[str], pydantic.Field(alias="requestMethodExpression")
|
|
358
|
+
] = None
|
|
359
|
+
r"""A JavaScript expression that evaluates to the HTTP request method as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
360
|
+
|
|
361
|
+
request_url_expression: Annotated[
|
|
362
|
+
Optional[str], pydantic.Field(alias="requestUrlExpression")
|
|
363
|
+
] = None
|
|
364
|
+
r"""A JavaScript expression that evaluates to the HTTP request URL as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
365
|
+
|
|
366
|
+
request_size_expression: Annotated[
|
|
367
|
+
Optional[str], pydantic.Field(alias="requestSizeExpression")
|
|
368
|
+
] = None
|
|
369
|
+
r"""A JavaScript expression that evaluates to the HTTP request size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
370
|
+
|
|
371
|
+
status_expression: Annotated[
|
|
372
|
+
Optional[str], pydantic.Field(alias="statusExpression")
|
|
373
|
+
] = None
|
|
374
|
+
r"""A JavaScript expression that evaluates to the HTTP request method as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
375
|
+
|
|
376
|
+
response_size_expression: Annotated[
|
|
377
|
+
Optional[str], pydantic.Field(alias="responseSizeExpression")
|
|
378
|
+
] = None
|
|
379
|
+
r"""A JavaScript expression that evaluates to the HTTP response size as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
380
|
+
|
|
381
|
+
user_agent_expression: Annotated[
|
|
382
|
+
Optional[str], pydantic.Field(alias="userAgentExpression")
|
|
383
|
+
] = None
|
|
384
|
+
r"""A JavaScript expression that evaluates to the HTTP request user agent as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
385
|
+
|
|
386
|
+
remote_ip_expression: Annotated[
|
|
387
|
+
Optional[str], pydantic.Field(alias="remoteIpExpression")
|
|
388
|
+
] = None
|
|
389
|
+
r"""A JavaScript expression that evaluates to the HTTP request remote IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
390
|
+
|
|
391
|
+
server_ip_expression: Annotated[
|
|
392
|
+
Optional[str], pydantic.Field(alias="serverIpExpression")
|
|
393
|
+
] = None
|
|
394
|
+
r"""A JavaScript expression that evaluates to the HTTP request server IP as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
395
|
+
|
|
396
|
+
referer_expression: Annotated[
|
|
397
|
+
Optional[str], pydantic.Field(alias="refererExpression")
|
|
398
|
+
] = None
|
|
399
|
+
r"""A JavaScript expression that evaluates to the HTTP request referer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
400
|
+
|
|
401
|
+
latency_expression: Annotated[
|
|
402
|
+
Optional[str], pydantic.Field(alias="latencyExpression")
|
|
403
|
+
] = None
|
|
404
|
+
r"""A JavaScript expression that evaluates to the HTTP request latency, formatted as <seconds>.<nanoseconds>s (for example, 1.23s). See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
405
|
+
|
|
406
|
+
cache_lookup_expression: Annotated[
|
|
407
|
+
Optional[str], pydantic.Field(alias="cacheLookupExpression")
|
|
408
|
+
] = None
|
|
409
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache lookup as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
410
|
+
|
|
411
|
+
cache_hit_expression: Annotated[
|
|
412
|
+
Optional[str], pydantic.Field(alias="cacheHitExpression")
|
|
413
|
+
] = None
|
|
414
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache hit as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
415
|
+
|
|
416
|
+
cache_validated_expression: Annotated[
|
|
417
|
+
Optional[str], pydantic.Field(alias="cacheValidatedExpression")
|
|
418
|
+
] = None
|
|
419
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache validated with origin server as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
420
|
+
|
|
421
|
+
cache_fill_bytes_expression: Annotated[
|
|
422
|
+
Optional[str], pydantic.Field(alias="cacheFillBytesExpression")
|
|
423
|
+
] = None
|
|
424
|
+
r"""A JavaScript expression that evaluates to the HTTP request cache fill bytes as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
425
|
+
|
|
426
|
+
protocol_expression: Annotated[
|
|
427
|
+
Optional[str], pydantic.Field(alias="protocolExpression")
|
|
428
|
+
] = None
|
|
429
|
+
r"""A JavaScript expression that evaluates to the HTTP request protocol as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest) for details."""
|
|
430
|
+
|
|
431
|
+
id_expression: Annotated[Optional[str], pydantic.Field(alias="idExpression")] = None
|
|
432
|
+
r"""A JavaScript expression that evaluates to the log entry operation ID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
433
|
+
|
|
434
|
+
producer_expression: Annotated[
|
|
435
|
+
Optional[str], pydantic.Field(alias="producerExpression")
|
|
436
|
+
] = None
|
|
437
|
+
r"""A JavaScript expression that evaluates to the log entry operation producer as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
438
|
+
|
|
439
|
+
first_expression: Annotated[
|
|
440
|
+
Optional[str], pydantic.Field(alias="firstExpression")
|
|
441
|
+
] = None
|
|
442
|
+
r"""A JavaScript expression that evaluates to the log entry operation first flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
443
|
+
|
|
444
|
+
last_expression: Annotated[
|
|
445
|
+
Optional[str], pydantic.Field(alias="lastExpression")
|
|
446
|
+
] = None
|
|
447
|
+
r"""A JavaScript expression that evaluates to the log entry operation last flag as a boolean. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentryoperation) for details."""
|
|
448
|
+
|
|
449
|
+
file_expression: Annotated[
|
|
450
|
+
Optional[str], pydantic.Field(alias="fileExpression")
|
|
451
|
+
] = None
|
|
452
|
+
r"""A JavaScript expression that evaluates to the log entry source location file as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
453
|
+
|
|
454
|
+
line_expression: Annotated[
|
|
455
|
+
Optional[str], pydantic.Field(alias="lineExpression")
|
|
456
|
+
] = None
|
|
457
|
+
r"""A JavaScript expression that evaluates to the log entry source location line as a string, in int64 format. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
458
|
+
|
|
459
|
+
function_expression: Annotated[
|
|
460
|
+
Optional[str], pydantic.Field(alias="functionExpression")
|
|
461
|
+
] = None
|
|
462
|
+
r"""A JavaScript expression that evaluates to the log entry source location function as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logentrysourcelocation) for details."""
|
|
463
|
+
|
|
464
|
+
uid_expression: Annotated[Optional[str], pydantic.Field(alias="uidExpression")] = (
|
|
465
|
+
None
|
|
466
|
+
)
|
|
467
|
+
r"""A JavaScript expression that evaluates to the log entry log split UID as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
468
|
+
|
|
469
|
+
index_expression: Annotated[
|
|
470
|
+
Optional[str], pydantic.Field(alias="indexExpression")
|
|
471
|
+
] = None
|
|
472
|
+
r"""A JavaScript expression that evaluates to the log entry log split index as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
473
|
+
|
|
474
|
+
total_splits_expression: Annotated[
|
|
475
|
+
Optional[str], pydantic.Field(alias="totalSplitsExpression")
|
|
476
|
+
] = None
|
|
477
|
+
r"""A JavaScript expression that evaluates to the log entry log split total splits as a number. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logsplit) for details."""
|
|
478
|
+
|
|
479
|
+
trace_expression: Annotated[
|
|
480
|
+
Optional[str], pydantic.Field(alias="traceExpression")
|
|
481
|
+
] = None
|
|
482
|
+
r"""A JavaScript expression that evaluates to the REST resource name of the trace being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
483
|
+
|
|
484
|
+
span_id_expression: Annotated[
|
|
485
|
+
Optional[str], pydantic.Field(alias="spanIdExpression")
|
|
486
|
+
] = None
|
|
487
|
+
r"""A JavaScript expression that evaluates to the ID of the cloud trace span associated with the current operation in which the log is being written as a string. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
488
|
+
|
|
489
|
+
trace_sampled_expression: Annotated[
|
|
490
|
+
Optional[str], pydantic.Field(alias="traceSampledExpression")
|
|
491
|
+
] = None
|
|
492
|
+
r"""A JavaScript expression that evaluates to the the sampling decision of the span associated with the log entry. See the [documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) for details."""
|
|
493
|
+
|
|
494
|
+
on_backpressure: Annotated[
|
|
495
|
+
Annotated[
|
|
496
|
+
Optional[OutputGoogleCloudLoggingBackpressureBehavior],
|
|
497
|
+
PlainValidator(validate_open_enum(False)),
|
|
498
|
+
],
|
|
499
|
+
pydantic.Field(alias="onBackpressure"),
|
|
500
|
+
] = OutputGoogleCloudLoggingBackpressureBehavior.BLOCK
|
|
501
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
502
|
+
|
|
503
|
+
total_memory_limit_kb: Annotated[
|
|
504
|
+
Optional[float], pydantic.Field(alias="totalMemoryLimitKB")
|
|
505
|
+
] = None
|
|
506
|
+
r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
|
|
507
|
+
|
|
508
|
+
description: Optional[str] = None
|
|
509
|
+
|
|
510
|
+
payload_expression: Annotated[
|
|
511
|
+
Optional[str], pydantic.Field(alias="payloadExpression")
|
|
512
|
+
] = None
|
|
513
|
+
r"""JavaScript expression to compute the value of the payload. Must evaluate to a JavaScript object value. If an invalid value is encountered it will result in the default value instead. Defaults to the entire event."""
|
|
514
|
+
|
|
515
|
+
pq_max_file_size: Annotated[
|
|
516
|
+
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
517
|
+
] = "1 MB"
|
|
518
|
+
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
519
|
+
|
|
520
|
+
pq_max_size: Annotated[Optional[str], pydantic.Field(alias="pqMaxSize")] = "5GB"
|
|
521
|
+
r"""The maximum disk space that the queue can consume (as an average per Worker Process) before queueing stops. Enter a numeral with units of KB, MB, etc."""
|
|
522
|
+
|
|
523
|
+
pq_path: Annotated[Optional[str], pydantic.Field(alias="pqPath")] = (
|
|
524
|
+
"$CRIBL_HOME/state/queues"
|
|
525
|
+
)
|
|
526
|
+
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
527
|
+
|
|
528
|
+
pq_compress: Annotated[
|
|
529
|
+
Annotated[
|
|
530
|
+
Optional[OutputGoogleCloudLoggingCompression],
|
|
531
|
+
PlainValidator(validate_open_enum(False)),
|
|
532
|
+
],
|
|
533
|
+
pydantic.Field(alias="pqCompress"),
|
|
534
|
+
] = OutputGoogleCloudLoggingCompression.NONE
|
|
535
|
+
r"""Codec to use to compress the persisted data"""
|
|
536
|
+
|
|
537
|
+
pq_on_backpressure: Annotated[
|
|
538
|
+
Annotated[
|
|
539
|
+
Optional[OutputGoogleCloudLoggingQueueFullBehavior],
|
|
540
|
+
PlainValidator(validate_open_enum(False)),
|
|
541
|
+
],
|
|
542
|
+
pydantic.Field(alias="pqOnBackpressure"),
|
|
543
|
+
] = OutputGoogleCloudLoggingQueueFullBehavior.BLOCK
|
|
544
|
+
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
545
|
+
|
|
546
|
+
pq_mode: Annotated[
|
|
547
|
+
Annotated[
|
|
548
|
+
Optional[OutputGoogleCloudLoggingMode],
|
|
549
|
+
PlainValidator(validate_open_enum(False)),
|
|
550
|
+
],
|
|
551
|
+
pydantic.Field(alias="pqMode"),
|
|
552
|
+
] = OutputGoogleCloudLoggingMode.ERROR
|
|
553
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
554
|
+
|
|
555
|
+
pq_controls: Annotated[
|
|
556
|
+
Optional[OutputGoogleCloudLoggingPqControls], pydantic.Field(alias="pqControls")
|
|
557
|
+
] = None
|