import type * as guardduty from "@distilled.cloud/aws/guardduty"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; /** * Runtime binding for `guardduty:StartMalwareScan`. * * Starts an on-demand malware scan of an EC2 instance by ARN (GuardDuty Malware Protection for EC2). * Account-level operation — invoked with the caller's request as-is. * Provide the implementation with * `Effect.provide(AWS.GuardDuty.StartMalwareScanHttp)`. * ### Malware Protection * **Example:** Scan an EC2 Instance * ```typescript * // init * // init — account-level binding, no resource argument * const startMalwareScan = yield* AWS.GuardDuty.StartMalwareScan(); * * // runtime * const { ScanId } = yield* startMalwareScan({ * ResourceArn: instanceArn, * }); * ``` * * @binding */ export interface StartMalwareScan extends Binding.Service< StartMalwareScan, "AWS.GuardDuty.StartMalwareScan", () => Effect.Effect< ( request?: guardduty.StartMalwareScanRequest, ) => Effect.Effect< guardduty.StartMalwareScanResponse, guardduty.StartMalwareScanError > > > {} export const StartMalwareScan = Binding.Service( "AWS.GuardDuty.StartMalwareScan", );