1import * as fis from "@distilled.cloud/aws/fis";
2import * as Layer from "effect/Layer";
3import { makeFisTemplateHttpBinding } from "./BindingHttp.ts";
4import { StartExperiment } from "./StartExperiment.ts";
5
6export const StartExperimentHttp = Layer.effect(
7 StartExperiment,
8 makeFisTemplateHttpBinding({
9 tag: "AWS.FIS.StartExperiment",
10 operation: fis.startExperiment,
11 // Starting also tags the created experiment (internal or caller-supplied
12 // tags), which FIS authorizes as fis:TagResource on the experiment ARN.
13 actions: ["fis:StartExperiment", "fis:TagResource"],
14 requestKey: "experimentTemplateId",
15 grantExperimentWildcard: true,
16 // The first StartExperiment in an account creates AWSServiceRoleForFIS.
17 grantServiceLinkedRole: true,
18 }),
19);