import type * as guardduty from "@distilled.cloud/aws/guardduty"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Detector } from "./Detector.ts"; /** * Runtime binding for `guardduty:GetMalwareScanSettings`. * * Reads the detector's EC2 malware scan settings — scan resource criteria and EBS snapshot preservation. * The detector id is injected from the bound {@link Detector}. * Provide the implementation with * `Effect.provide(AWS.GuardDuty.GetMalwareScanSettingsHttp)`. * ### Malware Protection * **Example:** Read Malware Scan Settings * ```typescript * // init * const getMalwareScanSettings = yield* AWS.GuardDuty.GetMalwareScanSettings(detector); * * // runtime * const { ScanResourceCriteria } = yield* getMalwareScanSettings(); * ``` * * @binding */ export interface GetMalwareScanSettings extends Binding.Service< GetMalwareScanSettings, "AWS.GuardDuty.GetMalwareScanSettings", ( detector: Detector, ) => Effect.Effect< ( request?: Omit, ) => Effect.Effect< guardduty.GetMalwareScanSettingsResponse, guardduty.GetMalwareScanSettingsError > > > {} export const GetMalwareScanSettings = Binding.Service( "AWS.GuardDuty.GetMalwareScanSettings", );