1import type * as shield from "@distilled.cloud/aws/shield";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `shield:DescribeAttackStatistics`.
7 *
8 * Returns the number and type of DDoS attacks Shield has detected in the last
9 * year across all of the account's resources — available to Standard and
10 * Advanced customers alike, so it works without a subscription.
11 * Provide the implementation with
12 * `Effect.provide(AWS.Shield.DescribeAttackStatisticsHttp)`.
13 * ### Attack Visibility
14 * **Example:** Read the Yearly Attack Statistics
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const describeAttackStatistics = yield* AWS.Shield.DescribeAttackStatistics();
18 *
19 * // runtime
20 * const { TimeRange, DataItems } = yield* describeAttackStatistics();
21 * ```
22 *
23 * @binding
24 */
25export interface DescribeAttackStatistics extends Binding.Service<
26 DescribeAttackStatistics,
27 "AWS.Shield.DescribeAttackStatistics",
28 () => Effect.Effect<
29 (
30 request?: shield.DescribeAttackStatisticsRequest,
31 ) => Effect.Effect<
32 shield.DescribeAttackStatisticsResponse,
33 shield.DescribeAttackStatisticsError
34 >
35 >
36> {}
37export const DescribeAttackStatistics =
38 Binding.Service<DescribeAttackStatistics>(
39 "AWS.Shield.DescribeAttackStatistics",
40 );