packages/microsoft_defender_endpoint/data_stream/machine/agent/stream/cel.yml.hbs (71 lines of code) (raw):

config_version: 2 interval: {{interval}} resource.tracer: enabled: {{enable_request_tracer}} filename: "../../logs/cel/http-request-trace-*.ndjson" maxbackups: 5 {{#if proxy_url}} resource.proxy_url: {{proxy_url}} {{/if}} {{#if ssl}} resource.ssl: {{ssl}} {{/if}} resource.url: {{url}} auth.oauth2: client.id: {{client_id}} client.secret: {{client_secret}} token_url: {{login_url}}/{{tenant_id}}/oauth2/v2.0/token scopes: {{token_scopes}} state: page_size: {{batch_size}} redact: fields: ~ program: | request("GET", state.url.trim_right("/") + "/api/machines?" + { "$top": [string(state.page_size)], "$skip": [string(state.?skip.orValue(0))], }.format_query() ).do_request().as(resp, resp.StatusCode == 200 ? resp.Body.decode_json().as(body, { "events": body.value.map(e, { "message": e.encode_json(), }), "page_size": state.page_size, "skip": size(body.value) == state.page_size ? int(state.?skip.orValue(0)) + int(state.page_size) : 0, "want_more": size(body.value) == state.page_size, }) : { "events": { "error": { "code": string(resp.StatusCode), "id": string(resp.Status), "message": "GET " + state.url.trim_right("/") + "/api/machines: " + ( size(resp.Body) != 0 ? string(resp.Body) : string(resp.Status) + " (" + string(resp.StatusCode) + ")" ), }, }, "want_more": false, } ) tags: {{#if preserve_original_event}} - preserve_original_event {{/if}} {{#if preserve_duplicate_custom_fields}} - preserve_duplicate_custom_fields {{/if}} {{#each tags as |tag|}} - {{tag}} {{/each}} {{#contains "forwarded" tags}} publisher_pipeline.disable_host: true {{/contains}} {{#if processors}} processors: {{processors}} {{/if}}