1import type * as guardduty from "@distilled.cloud/aws/guardduty";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `guardduty:SendObjectMalwareScan`.
7 *
8 * Submits an S3 object for malware scanning under a Malware Protection plan covering its bucket.
9 * Account-level operation — invoked with the caller's request as-is.
10 * Provide the implementation with
11 * `Effect.provide(AWS.GuardDuty.SendObjectMalwareScanHttp)`.
12 * ### Malware Protection
13 * **Example:** Scan an S3 Object
14 * ```typescript
15 * // init
16 * // init — account-level binding, no resource argument
17 * const sendObjectMalwareScan = yield* AWS.GuardDuty.SendObjectMalwareScan();
18 *
19 * // runtime
20 * yield* sendObjectMalwareScan({
21 * S3Object: { Bucket: "my-bucket", Key: "upload.bin" },
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface SendObjectMalwareScan extends Binding.Service<
28 SendObjectMalwareScan,
29 "AWS.GuardDuty.SendObjectMalwareScan",
30 () => Effect.Effect<
31 (
32 request?: guardduty.SendObjectMalwareScanRequest,
33 ) => Effect.Effect<
34 guardduty.SendObjectMalwareScanResponse,
35 guardduty.SendObjectMalwareScanError
36 >
37 >
38> {}
39export const SendObjectMalwareScan = Binding.Service<SendObjectMalwareScan>(
40 "AWS.GuardDuty.SendObjectMalwareScan",
41);