Expand description
Wire types for the Microsoft Graph dataSecurityAndGovernance
processContent API.
Field names and nesting mirror Python’s agent_framework_purview._models
(which in turn mirrors the Graph API’s OData shape: @odata.type
discriminators, camelCase field names). Only the subset this port’s
processContent call
actually sends/receives is modeled — the full Python module additionally
defines protectionScopes/contentActivities request/response types for
the two other Graph endpoints this port intentionally does not call (see
the crate docs’ “Scope” section).
Structs§
- Activity
Metadata ActivityMetadata: wraps anActivityforcontentToProcess.- Content
ToProcess microsoft.graph.contentToProcess: the full bundle of content + activity/device/app metadata sent toprocessContent.- Device
Metadata microsoft.graph.deviceMetadata.- DlpAction
Info - One policy action returned by
processContent. A response is a block verdict when any entry hasaction == BlockAccessorrestriction_action == Block— seeProcessContentResponse::should_block. - Integrated
AppMetadata microsoft.graph.integratedAppMetadata: the calling application’s identity (name/version), independent of where it’s deployed (seePolicyLocationfor that).- Operating
System Specifications microsoft.graph.operatingSystemSpecifications, nested underDeviceMetadata. This port always sends"Unknown"/"Unknown", matching Python’s_map_messages(which hardcodes the same values — device introspection is out of scope for both).- Policy
Location - A policy location (
@odata.type+value), e.g.microsoft.graph.policyLocationApplication. Mirrors Python’sPolicyLocation; seecrate::settings::PurviewAppLocation::to_policy_locationfor how the crate’s publicPurviewLocationTypeenum maps to the@odata.typestring. - Process
Content Request - The
processContentrequest body. Mirrors Python’sProcessContentRequest;scope_identifier(sent as anIf-None-Matchheader, not a body field, and only meaningful after aprotectionScopes/computeprecheck this port doesn’t perform) andprocess_inline(ditto — derived from that same precheck’s execution mode) are intentionally not modeled. See the crate docs’ “Scope” section. - Process
Content Response - The
processContentresponse body. Mirrors Python’sProcessContentResponse. - Process
Conversation Metadata microsoft.graph.processConversationMetadata: one message’s content plus identity metadata.ContentToProcess::content_entriescarries a list of these, though this port’sContentProcessoronly ever sends one perprocessContentcall (mirrors Python’s_map_messages, which builds one wholeProcessContentRequest— with a single-elementcontent_entries— perMessage, not one batched request for all of them).- Processing
Error - One entry of
processingErrorson aprocessContentresponse. - Protected
AppMetadata microsoft.graph.protectedAppMetadata: the app’s identity plus where it’s running, for policy location matching.- Purview
Text Content microsoft.graph.textContent: the message text being evaluated.
Enums§
- Activity
- High-level activity type describing what’s being done with content.
Mirrors Python’s
Activityenum. OnlyUploadTextis ever sent by this port’s middleware — see the crate docs for why both the prompt and response checks use it (faithfully mirroring the Python reference, which does the same,DownloadTextnotwithstanding). - DlpAction
blockAccessvs. anything else. Mirrors Python’sDlpAction.- Protection
Scope State - Whether a protection scope’s applicability has changed since it was last computed/cached. This port doesn’t cache (see the crate docs), so this is informational only — surfaced for callers who want it, not acted on internally.
- Restriction
Action blockvs. anything else. Mirrors Python’sRestrictionAction.