import type * as autoscaling from "@distilled.cloud/aws/auto-scaling"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { AutoScalingGroup } from "./AutoScalingGroup.ts"; /** * `DescribeScalingActivities` request with `AutoScalingGroupName` injected * from the bound {@link AutoScalingGroup}. */ export interface DescribeScalingActivitiesRequest extends Omit { } /** * Runtime binding for the `DescribeScalingActivities` operation (IAM action * `autoscaling:DescribeScalingActivities`; EC2 Auto Scaling `Describe*` * actions do not support resource-level permissions, so the grant is on `*`). * * Returns the bound group's recent scaling activities — what scaled, when, * why, and whether it succeeded. Provide the implementation with * `Effect.provide(AWS.AutoScaling.DescribeScalingActivitiesHttp)`. * ### Observing Scaling Activity * **Example:** List recent scaling activities * ```typescript * // init — bind the operation to the group * const describeScalingActivities = * yield* AWS.AutoScaling.DescribeScalingActivities(group); * * // runtime — page through the group's recent activities * const page = yield* describeScalingActivities({ MaxRecords: 50 }); * for (const activity of page.Activities ?? []) { * yield* Effect.log(`${activity.StatusCode}: ${activity.Cause}`); * } * ``` * * @binding */ export interface DescribeScalingActivities extends Binding.Service Effect.Effect<(request?: DescribeScalingActivitiesRequest) => Effect.Effect>> { } export declare const DescribeScalingActivities: DescribeScalingActivities; //# sourceMappingURL=DescribeScalingActivities.d.ts.map