fis.d.ts 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594
  1. import {Request} from '../lib/request';
  2. import {Response} from '../lib/response';
  3. import {AWSError} from '../lib/error';
  4. import {Service} from '../lib/service';
  5. import {ServiceConfigurationOptions} from '../lib/service';
  6. import {ConfigBase as Config} from '../lib/config-base';
  7. interface Blob {}
  8. declare class Fis extends Service {
  9. /**
  10. * Constructs a service object. This object has one method for each API operation.
  11. */
  12. constructor(options?: Fis.Types.ClientConfiguration)
  13. config: Config & Fis.Types.ClientConfiguration;
  14. /**
  15. * Creates an experiment template. An experiment template includes the following components: Targets: A target can be a specific resource in your Amazon Web Services environment, or one or more resources that match criteria that you specify, for example, resources that have specific tags. Actions: The actions to carry out on the target. You can specify multiple actions, the duration of each action, and when to start each action during an experiment. Stop conditions: If a stop condition is triggered while an experiment is running, the experiment is automatically stopped. You can define a stop condition as a CloudWatch alarm. For more information, see experiment templates in the Fault Injection Service User Guide.
  16. */
  17. createExperimentTemplate(params: Fis.Types.CreateExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.CreateExperimentTemplateResponse) => void): Request<Fis.Types.CreateExperimentTemplateResponse, AWSError>;
  18. /**
  19. * Creates an experiment template. An experiment template includes the following components: Targets: A target can be a specific resource in your Amazon Web Services environment, or one or more resources that match criteria that you specify, for example, resources that have specific tags. Actions: The actions to carry out on the target. You can specify multiple actions, the duration of each action, and when to start each action during an experiment. Stop conditions: If a stop condition is triggered while an experiment is running, the experiment is automatically stopped. You can define a stop condition as a CloudWatch alarm. For more information, see experiment templates in the Fault Injection Service User Guide.
  20. */
  21. createExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.CreateExperimentTemplateResponse) => void): Request<Fis.Types.CreateExperimentTemplateResponse, AWSError>;
  22. /**
  23. * Creates a target account configuration for the experiment template. A target account configuration is required when accountTargeting of experimentOptions is set to multi-account. For more information, see experiment options in the Fault Injection Service User Guide.
  24. */
  25. createTargetAccountConfiguration(params: Fis.Types.CreateTargetAccountConfigurationRequest, callback?: (err: AWSError, data: Fis.Types.CreateTargetAccountConfigurationResponse) => void): Request<Fis.Types.CreateTargetAccountConfigurationResponse, AWSError>;
  26. /**
  27. * Creates a target account configuration for the experiment template. A target account configuration is required when accountTargeting of experimentOptions is set to multi-account. For more information, see experiment options in the Fault Injection Service User Guide.
  28. */
  29. createTargetAccountConfiguration(callback?: (err: AWSError, data: Fis.Types.CreateTargetAccountConfigurationResponse) => void): Request<Fis.Types.CreateTargetAccountConfigurationResponse, AWSError>;
  30. /**
  31. * Deletes the specified experiment template.
  32. */
  33. deleteExperimentTemplate(params: Fis.Types.DeleteExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.DeleteExperimentTemplateResponse) => void): Request<Fis.Types.DeleteExperimentTemplateResponse, AWSError>;
  34. /**
  35. * Deletes the specified experiment template.
  36. */
  37. deleteExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.DeleteExperimentTemplateResponse) => void): Request<Fis.Types.DeleteExperimentTemplateResponse, AWSError>;
  38. /**
  39. * Deletes the specified target account configuration of the experiment template.
  40. */
  41. deleteTargetAccountConfiguration(params: Fis.Types.DeleteTargetAccountConfigurationRequest, callback?: (err: AWSError, data: Fis.Types.DeleteTargetAccountConfigurationResponse) => void): Request<Fis.Types.DeleteTargetAccountConfigurationResponse, AWSError>;
  42. /**
  43. * Deletes the specified target account configuration of the experiment template.
  44. */
  45. deleteTargetAccountConfiguration(callback?: (err: AWSError, data: Fis.Types.DeleteTargetAccountConfigurationResponse) => void): Request<Fis.Types.DeleteTargetAccountConfigurationResponse, AWSError>;
  46. /**
  47. * Gets information about the specified FIS action.
  48. */
  49. getAction(params: Fis.Types.GetActionRequest, callback?: (err: AWSError, data: Fis.Types.GetActionResponse) => void): Request<Fis.Types.GetActionResponse, AWSError>;
  50. /**
  51. * Gets information about the specified FIS action.
  52. */
  53. getAction(callback?: (err: AWSError, data: Fis.Types.GetActionResponse) => void): Request<Fis.Types.GetActionResponse, AWSError>;
  54. /**
  55. * Gets information about the specified experiment.
  56. */
  57. getExperiment(params: Fis.Types.GetExperimentRequest, callback?: (err: AWSError, data: Fis.Types.GetExperimentResponse) => void): Request<Fis.Types.GetExperimentResponse, AWSError>;
  58. /**
  59. * Gets information about the specified experiment.
  60. */
  61. getExperiment(callback?: (err: AWSError, data: Fis.Types.GetExperimentResponse) => void): Request<Fis.Types.GetExperimentResponse, AWSError>;
  62. /**
  63. * Gets information about the specified target account configuration of the experiment.
  64. */
  65. getExperimentTargetAccountConfiguration(params: Fis.Types.GetExperimentTargetAccountConfigurationRequest, callback?: (err: AWSError, data: Fis.Types.GetExperimentTargetAccountConfigurationResponse) => void): Request<Fis.Types.GetExperimentTargetAccountConfigurationResponse, AWSError>;
  66. /**
  67. * Gets information about the specified target account configuration of the experiment.
  68. */
  69. getExperimentTargetAccountConfiguration(callback?: (err: AWSError, data: Fis.Types.GetExperimentTargetAccountConfigurationResponse) => void): Request<Fis.Types.GetExperimentTargetAccountConfigurationResponse, AWSError>;
  70. /**
  71. * Gets information about the specified experiment template.
  72. */
  73. getExperimentTemplate(params: Fis.Types.GetExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.GetExperimentTemplateResponse) => void): Request<Fis.Types.GetExperimentTemplateResponse, AWSError>;
  74. /**
  75. * Gets information about the specified experiment template.
  76. */
  77. getExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.GetExperimentTemplateResponse) => void): Request<Fis.Types.GetExperimentTemplateResponse, AWSError>;
  78. /**
  79. * Gets information about the specified target account configuration of the experiment template.
  80. */
  81. getTargetAccountConfiguration(params: Fis.Types.GetTargetAccountConfigurationRequest, callback?: (err: AWSError, data: Fis.Types.GetTargetAccountConfigurationResponse) => void): Request<Fis.Types.GetTargetAccountConfigurationResponse, AWSError>;
  82. /**
  83. * Gets information about the specified target account configuration of the experiment template.
  84. */
  85. getTargetAccountConfiguration(callback?: (err: AWSError, data: Fis.Types.GetTargetAccountConfigurationResponse) => void): Request<Fis.Types.GetTargetAccountConfigurationResponse, AWSError>;
  86. /**
  87. * Gets information about the specified resource type.
  88. */
  89. getTargetResourceType(params: Fis.Types.GetTargetResourceTypeRequest, callback?: (err: AWSError, data: Fis.Types.GetTargetResourceTypeResponse) => void): Request<Fis.Types.GetTargetResourceTypeResponse, AWSError>;
  90. /**
  91. * Gets information about the specified resource type.
  92. */
  93. getTargetResourceType(callback?: (err: AWSError, data: Fis.Types.GetTargetResourceTypeResponse) => void): Request<Fis.Types.GetTargetResourceTypeResponse, AWSError>;
  94. /**
  95. * Lists the available FIS actions.
  96. */
  97. listActions(params: Fis.Types.ListActionsRequest, callback?: (err: AWSError, data: Fis.Types.ListActionsResponse) => void): Request<Fis.Types.ListActionsResponse, AWSError>;
  98. /**
  99. * Lists the available FIS actions.
  100. */
  101. listActions(callback?: (err: AWSError, data: Fis.Types.ListActionsResponse) => void): Request<Fis.Types.ListActionsResponse, AWSError>;
  102. /**
  103. * Lists the resolved targets information of the specified experiment.
  104. */
  105. listExperimentResolvedTargets(params: Fis.Types.ListExperimentResolvedTargetsRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentResolvedTargetsResponse) => void): Request<Fis.Types.ListExperimentResolvedTargetsResponse, AWSError>;
  106. /**
  107. * Lists the resolved targets information of the specified experiment.
  108. */
  109. listExperimentResolvedTargets(callback?: (err: AWSError, data: Fis.Types.ListExperimentResolvedTargetsResponse) => void): Request<Fis.Types.ListExperimentResolvedTargetsResponse, AWSError>;
  110. /**
  111. * Lists the target account configurations of the specified experiment.
  112. */
  113. listExperimentTargetAccountConfigurations(params: Fis.Types.ListExperimentTargetAccountConfigurationsRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentTargetAccountConfigurationsResponse) => void): Request<Fis.Types.ListExperimentTargetAccountConfigurationsResponse, AWSError>;
  114. /**
  115. * Lists the target account configurations of the specified experiment.
  116. */
  117. listExperimentTargetAccountConfigurations(callback?: (err: AWSError, data: Fis.Types.ListExperimentTargetAccountConfigurationsResponse) => void): Request<Fis.Types.ListExperimentTargetAccountConfigurationsResponse, AWSError>;
  118. /**
  119. * Lists your experiment templates.
  120. */
  121. listExperimentTemplates(params: Fis.Types.ListExperimentTemplatesRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentTemplatesResponse) => void): Request<Fis.Types.ListExperimentTemplatesResponse, AWSError>;
  122. /**
  123. * Lists your experiment templates.
  124. */
  125. listExperimentTemplates(callback?: (err: AWSError, data: Fis.Types.ListExperimentTemplatesResponse) => void): Request<Fis.Types.ListExperimentTemplatesResponse, AWSError>;
  126. /**
  127. * Lists your experiments.
  128. */
  129. listExperiments(params: Fis.Types.ListExperimentsRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentsResponse) => void): Request<Fis.Types.ListExperimentsResponse, AWSError>;
  130. /**
  131. * Lists your experiments.
  132. */
  133. listExperiments(callback?: (err: AWSError, data: Fis.Types.ListExperimentsResponse) => void): Request<Fis.Types.ListExperimentsResponse, AWSError>;
  134. /**
  135. * Lists the tags for the specified resource.
  136. */
  137. listTagsForResource(params: Fis.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Fis.Types.ListTagsForResourceResponse) => void): Request<Fis.Types.ListTagsForResourceResponse, AWSError>;
  138. /**
  139. * Lists the tags for the specified resource.
  140. */
  141. listTagsForResource(callback?: (err: AWSError, data: Fis.Types.ListTagsForResourceResponse) => void): Request<Fis.Types.ListTagsForResourceResponse, AWSError>;
  142. /**
  143. * Lists the target account configurations of the specified experiment template.
  144. */
  145. listTargetAccountConfigurations(params: Fis.Types.ListTargetAccountConfigurationsRequest, callback?: (err: AWSError, data: Fis.Types.ListTargetAccountConfigurationsResponse) => void): Request<Fis.Types.ListTargetAccountConfigurationsResponse, AWSError>;
  146. /**
  147. * Lists the target account configurations of the specified experiment template.
  148. */
  149. listTargetAccountConfigurations(callback?: (err: AWSError, data: Fis.Types.ListTargetAccountConfigurationsResponse) => void): Request<Fis.Types.ListTargetAccountConfigurationsResponse, AWSError>;
  150. /**
  151. * Lists the target resource types.
  152. */
  153. listTargetResourceTypes(params: Fis.Types.ListTargetResourceTypesRequest, callback?: (err: AWSError, data: Fis.Types.ListTargetResourceTypesResponse) => void): Request<Fis.Types.ListTargetResourceTypesResponse, AWSError>;
  154. /**
  155. * Lists the target resource types.
  156. */
  157. listTargetResourceTypes(callback?: (err: AWSError, data: Fis.Types.ListTargetResourceTypesResponse) => void): Request<Fis.Types.ListTargetResourceTypesResponse, AWSError>;
  158. /**
  159. * Starts running an experiment from the specified experiment template.
  160. */
  161. startExperiment(params: Fis.Types.StartExperimentRequest, callback?: (err: AWSError, data: Fis.Types.StartExperimentResponse) => void): Request<Fis.Types.StartExperimentResponse, AWSError>;
  162. /**
  163. * Starts running an experiment from the specified experiment template.
  164. */
  165. startExperiment(callback?: (err: AWSError, data: Fis.Types.StartExperimentResponse) => void): Request<Fis.Types.StartExperimentResponse, AWSError>;
  166. /**
  167. * Stops the specified experiment.
  168. */
  169. stopExperiment(params: Fis.Types.StopExperimentRequest, callback?: (err: AWSError, data: Fis.Types.StopExperimentResponse) => void): Request<Fis.Types.StopExperimentResponse, AWSError>;
  170. /**
  171. * Stops the specified experiment.
  172. */
  173. stopExperiment(callback?: (err: AWSError, data: Fis.Types.StopExperimentResponse) => void): Request<Fis.Types.StopExperimentResponse, AWSError>;
  174. /**
  175. * Applies the specified tags to the specified resource.
  176. */
  177. tagResource(params: Fis.Types.TagResourceRequest, callback?: (err: AWSError, data: Fis.Types.TagResourceResponse) => void): Request<Fis.Types.TagResourceResponse, AWSError>;
  178. /**
  179. * Applies the specified tags to the specified resource.
  180. */
  181. tagResource(callback?: (err: AWSError, data: Fis.Types.TagResourceResponse) => void): Request<Fis.Types.TagResourceResponse, AWSError>;
  182. /**
  183. * Removes the specified tags from the specified resource.
  184. */
  185. untagResource(params: Fis.Types.UntagResourceRequest, callback?: (err: AWSError, data: Fis.Types.UntagResourceResponse) => void): Request<Fis.Types.UntagResourceResponse, AWSError>;
  186. /**
  187. * Removes the specified tags from the specified resource.
  188. */
  189. untagResource(callback?: (err: AWSError, data: Fis.Types.UntagResourceResponse) => void): Request<Fis.Types.UntagResourceResponse, AWSError>;
  190. /**
  191. * Updates the specified experiment template.
  192. */
  193. updateExperimentTemplate(params: Fis.Types.UpdateExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.UpdateExperimentTemplateResponse) => void): Request<Fis.Types.UpdateExperimentTemplateResponse, AWSError>;
  194. /**
  195. * Updates the specified experiment template.
  196. */
  197. updateExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.UpdateExperimentTemplateResponse) => void): Request<Fis.Types.UpdateExperimentTemplateResponse, AWSError>;
  198. /**
  199. * Updates the target account configuration for the specified experiment template.
  200. */
  201. updateTargetAccountConfiguration(params: Fis.Types.UpdateTargetAccountConfigurationRequest, callback?: (err: AWSError, data: Fis.Types.UpdateTargetAccountConfigurationResponse) => void): Request<Fis.Types.UpdateTargetAccountConfigurationResponse, AWSError>;
  202. /**
  203. * Updates the target account configuration for the specified experiment template.
  204. */
  205. updateTargetAccountConfiguration(callback?: (err: AWSError, data: Fis.Types.UpdateTargetAccountConfigurationResponse) => void): Request<Fis.Types.UpdateTargetAccountConfigurationResponse, AWSError>;
  206. }
  207. declare namespace Fis {
  208. export type AccountTargeting = "single-account"|"multi-account"|string;
  209. export interface Action {
  210. /**
  211. * The ID of the action.
  212. */
  213. id?: ActionId;
  214. /**
  215. * The Amazon Resource Name (ARN) of the action.
  216. */
  217. arn?: ResourceArn;
  218. /**
  219. * The description for the action.
  220. */
  221. description?: ActionDescription;
  222. /**
  223. * The action parameters, if applicable.
  224. */
  225. parameters?: ActionParameterMap;
  226. /**
  227. * The supported targets for the action.
  228. */
  229. targets?: ActionTargetMap;
  230. /**
  231. * The tags for the action.
  232. */
  233. tags?: TagMap;
  234. }
  235. export type ActionDescription = string;
  236. export type ActionId = string;
  237. export interface ActionParameter {
  238. /**
  239. * The parameter description.
  240. */
  241. description?: ActionParameterDescription;
  242. /**
  243. * Indicates whether the parameter is required.
  244. */
  245. required?: ActionParameterRequired;
  246. }
  247. export type ActionParameterDescription = string;
  248. export type ActionParameterMap = {[key: string]: ActionParameter};
  249. export type ActionParameterName = string;
  250. export type ActionParameterRequired = boolean;
  251. export interface ActionSummary {
  252. /**
  253. * The ID of the action.
  254. */
  255. id?: ActionId;
  256. /**
  257. * The Amazon Resource Name (ARN) of the action.
  258. */
  259. arn?: ResourceArn;
  260. /**
  261. * The description for the action.
  262. */
  263. description?: ActionDescription;
  264. /**
  265. * The targets for the action.
  266. */
  267. targets?: ActionTargetMap;
  268. /**
  269. * The tags for the action.
  270. */
  271. tags?: TagMap;
  272. }
  273. export type ActionSummaryList = ActionSummary[];
  274. export interface ActionTarget {
  275. /**
  276. * The resource type of the target.
  277. */
  278. resourceType?: TargetResourceTypeId;
  279. }
  280. export type ActionTargetMap = {[key: string]: ActionTarget};
  281. export type ActionTargetName = string;
  282. export type ActionsMode = "skip-all"|"run-all"|string;
  283. export type ClientToken = string;
  284. export type CloudWatchLogGroupArn = string;
  285. export interface CreateExperimentTemplateActionInput {
  286. /**
  287. * The ID of the action. The format of the action ID is: aws:service-name:action-type.
  288. */
  289. actionId: ActionId;
  290. /**
  291. * A description for the action.
  292. */
  293. description?: ExperimentTemplateActionDescription;
  294. /**
  295. * The parameters for the action, if applicable.
  296. */
  297. parameters?: ExperimentTemplateActionParameterMap;
  298. /**
  299. * The targets for the action.
  300. */
  301. targets?: ExperimentTemplateActionTargetMap;
  302. /**
  303. * The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment.
  304. */
  305. startAfter?: ExperimentTemplateActionStartAfterList;
  306. }
  307. export type CreateExperimentTemplateActionInputMap = {[key: string]: CreateExperimentTemplateActionInput};
  308. export interface CreateExperimentTemplateExperimentOptionsInput {
  309. /**
  310. * Specifies the account targeting setting for experiment options.
  311. */
  312. accountTargeting?: AccountTargeting;
  313. /**
  314. * Specifies the empty target resolution mode for experiment options.
  315. */
  316. emptyTargetResolutionMode?: EmptyTargetResolutionMode;
  317. }
  318. export interface CreateExperimentTemplateLogConfigurationInput {
  319. /**
  320. * The configuration for experiment logging to Amazon CloudWatch Logs.
  321. */
  322. cloudWatchLogsConfiguration?: ExperimentTemplateCloudWatchLogsLogConfigurationInput;
  323. /**
  324. * The configuration for experiment logging to Amazon S3.
  325. */
  326. s3Configuration?: ExperimentTemplateS3LogConfigurationInput;
  327. /**
  328. * The schema version.
  329. */
  330. logSchemaVersion: LogSchemaVersion;
  331. }
  332. export interface CreateExperimentTemplateRequest {
  333. /**
  334. * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  335. */
  336. clientToken: ClientToken;
  337. /**
  338. * A description for the experiment template.
  339. */
  340. description: ExperimentTemplateDescription;
  341. /**
  342. * The stop conditions.
  343. */
  344. stopConditions: CreateExperimentTemplateStopConditionInputList;
  345. /**
  346. * The targets for the experiment.
  347. */
  348. targets?: CreateExperimentTemplateTargetInputMap;
  349. /**
  350. * The actions for the experiment.
  351. */
  352. actions: CreateExperimentTemplateActionInputMap;
  353. /**
  354. * The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.
  355. */
  356. roleArn: RoleArn;
  357. /**
  358. * The tags to apply to the experiment template.
  359. */
  360. tags?: TagMap;
  361. /**
  362. * The configuration for experiment logging.
  363. */
  364. logConfiguration?: CreateExperimentTemplateLogConfigurationInput;
  365. /**
  366. * The experiment options for the experiment template.
  367. */
  368. experimentOptions?: CreateExperimentTemplateExperimentOptionsInput;
  369. }
  370. export interface CreateExperimentTemplateResponse {
  371. /**
  372. * Information about the experiment template.
  373. */
  374. experimentTemplate?: ExperimentTemplate;
  375. }
  376. export interface CreateExperimentTemplateStopConditionInput {
  377. /**
  378. * The source for the stop condition. Specify aws:cloudwatch:alarm if the stop condition is defined by a CloudWatch alarm. Specify none if there is no stop condition.
  379. */
  380. source: StopConditionSource;
  381. /**
  382. * The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required if the source is a CloudWatch alarm.
  383. */
  384. value?: StopConditionValue;
  385. }
  386. export type CreateExperimentTemplateStopConditionInputList = CreateExperimentTemplateStopConditionInput[];
  387. export interface CreateExperimentTemplateTargetInput {
  388. /**
  389. * The resource type. The resource type must be supported for the specified action.
  390. */
  391. resourceType: TargetResourceTypeId;
  392. /**
  393. * The Amazon Resource Names (ARNs) of the resources.
  394. */
  395. resourceArns?: ResourceArnList;
  396. /**
  397. * The tags for the target resources.
  398. */
  399. resourceTags?: TagMap;
  400. /**
  401. * The filters to apply to identify target resources using specific attributes.
  402. */
  403. filters?: ExperimentTemplateTargetFilterInputList;
  404. /**
  405. * Scopes the identified resources to a specific count of the resources at random, or a percentage of the resources. All identified resources are included in the target. ALL - Run the action on all identified targets. This is the default. COUNT(n) - Run the action on the specified number of targets, chosen from the identified targets at random. For example, COUNT(1) selects one of the targets. PERCENT(n) - Run the action on the specified percentage of targets, chosen from the identified targets at random. For example, PERCENT(25) selects 25% of the targets.
  406. */
  407. selectionMode: ExperimentTemplateTargetSelectionMode;
  408. /**
  409. * The resource type parameters.
  410. */
  411. parameters?: ExperimentTemplateTargetParameterMap;
  412. }
  413. export type CreateExperimentTemplateTargetInputMap = {[key: string]: CreateExperimentTemplateTargetInput};
  414. export interface CreateTargetAccountConfigurationRequest {
  415. /**
  416. * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  417. */
  418. clientToken?: ClientToken;
  419. /**
  420. * The experiment template ID.
  421. */
  422. experimentTemplateId: ExperimentTemplateId;
  423. /**
  424. * The Amazon Web Services account ID of the target account.
  425. */
  426. accountId: TargetAccountId;
  427. /**
  428. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  429. */
  430. roleArn: RoleArn;
  431. /**
  432. * The description of the target account.
  433. */
  434. description?: TargetAccountConfigurationDescription;
  435. }
  436. export interface CreateTargetAccountConfigurationResponse {
  437. /**
  438. * Information about the target account configuration.
  439. */
  440. targetAccountConfiguration?: TargetAccountConfiguration;
  441. }
  442. export type CreationTime = Date;
  443. export interface DeleteExperimentTemplateRequest {
  444. /**
  445. * The ID of the experiment template.
  446. */
  447. id: ExperimentTemplateId;
  448. }
  449. export interface DeleteExperimentTemplateResponse {
  450. /**
  451. * Information about the experiment template.
  452. */
  453. experimentTemplate?: ExperimentTemplate;
  454. }
  455. export interface DeleteTargetAccountConfigurationRequest {
  456. /**
  457. * The ID of the experiment template.
  458. */
  459. experimentTemplateId: ExperimentTemplateId;
  460. /**
  461. * The Amazon Web Services account ID of the target account.
  462. */
  463. accountId: TargetAccountId;
  464. }
  465. export interface DeleteTargetAccountConfigurationResponse {
  466. /**
  467. * Information about the target account configuration.
  468. */
  469. targetAccountConfiguration?: TargetAccountConfiguration;
  470. }
  471. export type EmptyTargetResolutionMode = "fail"|"skip"|string;
  472. export interface Experiment {
  473. /**
  474. * The ID of the experiment.
  475. */
  476. id?: ExperimentId;
  477. /**
  478. * The Amazon Resource Name (ARN) of the experiment.
  479. */
  480. arn?: ResourceArn;
  481. /**
  482. * The ID of the experiment template.
  483. */
  484. experimentTemplateId?: ExperimentTemplateId;
  485. /**
  486. * The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.
  487. */
  488. roleArn?: RoleArn;
  489. /**
  490. * The state of the experiment.
  491. */
  492. state?: ExperimentState;
  493. /**
  494. * The targets for the experiment.
  495. */
  496. targets?: ExperimentTargetMap;
  497. /**
  498. * The actions for the experiment.
  499. */
  500. actions?: ExperimentActionMap;
  501. /**
  502. * The stop conditions for the experiment.
  503. */
  504. stopConditions?: ExperimentStopConditionList;
  505. /**
  506. * The time that the experiment was created.
  507. */
  508. creationTime?: CreationTime;
  509. /**
  510. * The time that the experiment started.
  511. */
  512. startTime?: ExperimentStartTime;
  513. /**
  514. * The time that the experiment ended.
  515. */
  516. endTime?: ExperimentEndTime;
  517. /**
  518. * The tags for the experiment.
  519. */
  520. tags?: TagMap;
  521. /**
  522. * The configuration for experiment logging.
  523. */
  524. logConfiguration?: ExperimentLogConfiguration;
  525. /**
  526. * The experiment options for the experiment.
  527. */
  528. experimentOptions?: ExperimentOptions;
  529. /**
  530. * The count of target account configurations for the experiment.
  531. */
  532. targetAccountConfigurationsCount?: TargetAccountConfigurationsCount;
  533. }
  534. export interface ExperimentAction {
  535. /**
  536. * The ID of the action.
  537. */
  538. actionId?: ActionId;
  539. /**
  540. * The description for the action.
  541. */
  542. description?: ExperimentActionDescription;
  543. /**
  544. * The parameters for the action.
  545. */
  546. parameters?: ExperimentActionParameterMap;
  547. /**
  548. * The targets for the action.
  549. */
  550. targets?: ExperimentActionTargetMap;
  551. /**
  552. * The name of the action that must be completed before this action starts.
  553. */
  554. startAfter?: ExperimentActionStartAfterList;
  555. /**
  556. * The state of the action.
  557. */
  558. state?: ExperimentActionState;
  559. /**
  560. * The time that the action started.
  561. */
  562. startTime?: ExperimentActionStartTime;
  563. /**
  564. * The time that the action ended.
  565. */
  566. endTime?: ExperimentActionEndTime;
  567. }
  568. export type ExperimentActionDescription = string;
  569. export type ExperimentActionEndTime = Date;
  570. export type ExperimentActionMap = {[key: string]: ExperimentAction};
  571. export type ExperimentActionName = string;
  572. export type ExperimentActionParameter = string;
  573. export type ExperimentActionParameterMap = {[key: string]: ExperimentActionParameter};
  574. export type ExperimentActionParameterName = string;
  575. export type ExperimentActionStartAfter = string;
  576. export type ExperimentActionStartAfterList = ExperimentActionStartAfter[];
  577. export type ExperimentActionStartTime = Date;
  578. export interface ExperimentActionState {
  579. /**
  580. * The state of the action.
  581. */
  582. status?: ExperimentActionStatus;
  583. /**
  584. * The reason for the state.
  585. */
  586. reason?: ExperimentActionStatusReason;
  587. }
  588. export type ExperimentActionStatus = "pending"|"initiating"|"running"|"completed"|"cancelled"|"stopping"|"stopped"|"failed"|"skipped"|string;
  589. export type ExperimentActionStatusReason = string;
  590. export type ExperimentActionTargetMap = {[key: string]: ExperimentTargetName};
  591. export type ExperimentActionTargetName = string;
  592. export interface ExperimentCloudWatchLogsLogConfiguration {
  593. /**
  594. * The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group.
  595. */
  596. logGroupArn?: CloudWatchLogGroupArn;
  597. }
  598. export type ExperimentEndTime = Date;
  599. export type ExperimentId = string;
  600. export interface ExperimentLogConfiguration {
  601. /**
  602. * The configuration for experiment logging to Amazon CloudWatch Logs.
  603. */
  604. cloudWatchLogsConfiguration?: ExperimentCloudWatchLogsLogConfiguration;
  605. /**
  606. * The configuration for experiment logging to Amazon S3.
  607. */
  608. s3Configuration?: ExperimentS3LogConfiguration;
  609. /**
  610. * The schema version.
  611. */
  612. logSchemaVersion?: LogSchemaVersion;
  613. }
  614. export interface ExperimentOptions {
  615. /**
  616. * The account targeting setting for an experiment.
  617. */
  618. accountTargeting?: AccountTargeting;
  619. /**
  620. * The empty target resolution mode for an experiment.
  621. */
  622. emptyTargetResolutionMode?: EmptyTargetResolutionMode;
  623. /**
  624. * The actions mode of the experiment that is set from the StartExperiment API command.
  625. */
  626. actionsMode?: ActionsMode;
  627. }
  628. export interface ExperimentS3LogConfiguration {
  629. /**
  630. * The name of the destination bucket.
  631. */
  632. bucketName?: S3BucketName;
  633. /**
  634. * The bucket prefix.
  635. */
  636. prefix?: S3ObjectKey;
  637. }
  638. export type ExperimentStartTime = Date;
  639. export interface ExperimentState {
  640. /**
  641. * The state of the experiment.
  642. */
  643. status?: ExperimentStatus;
  644. /**
  645. * The reason for the state.
  646. */
  647. reason?: ExperimentStatusReason;
  648. }
  649. export type ExperimentStatus = "pending"|"initiating"|"running"|"completed"|"stopping"|"stopped"|"failed"|string;
  650. export type ExperimentStatusReason = string;
  651. export interface ExperimentStopCondition {
  652. /**
  653. * The source for the stop condition.
  654. */
  655. source?: StopConditionSource;
  656. /**
  657. * The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.
  658. */
  659. value?: StopConditionValue;
  660. }
  661. export type ExperimentStopConditionList = ExperimentStopCondition[];
  662. export interface ExperimentSummary {
  663. /**
  664. * The ID of the experiment.
  665. */
  666. id?: ExperimentId;
  667. /**
  668. * The Amazon Resource Name (ARN) of the experiment.
  669. */
  670. arn?: ResourceArn;
  671. /**
  672. * The ID of the experiment template.
  673. */
  674. experimentTemplateId?: ExperimentTemplateId;
  675. /**
  676. * The state of the experiment.
  677. */
  678. state?: ExperimentState;
  679. /**
  680. * The time that the experiment was created.
  681. */
  682. creationTime?: CreationTime;
  683. /**
  684. * The tags for the experiment.
  685. */
  686. tags?: TagMap;
  687. /**
  688. * The experiment options for the experiment.
  689. */
  690. experimentOptions?: ExperimentOptions;
  691. }
  692. export type ExperimentSummaryList = ExperimentSummary[];
  693. export interface ExperimentTarget {
  694. /**
  695. * The resource type.
  696. */
  697. resourceType?: TargetResourceTypeId;
  698. /**
  699. * The Amazon Resource Names (ARNs) of the resources.
  700. */
  701. resourceArns?: ResourceArnList;
  702. /**
  703. * The tags for the target resources.
  704. */
  705. resourceTags?: TagMap;
  706. /**
  707. * The filters to apply to identify target resources using specific attributes.
  708. */
  709. filters?: ExperimentTargetFilterList;
  710. /**
  711. * Scopes the identified resources to a specific count or percentage.
  712. */
  713. selectionMode?: ExperimentTargetSelectionMode;
  714. /**
  715. * The resource type parameters.
  716. */
  717. parameters?: ExperimentTargetParameterMap;
  718. }
  719. export interface ExperimentTargetAccountConfiguration {
  720. /**
  721. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  722. */
  723. roleArn?: RoleArn;
  724. /**
  725. * The Amazon Web Services account ID of the target account.
  726. */
  727. accountId?: TargetAccountId;
  728. /**
  729. * The description of the target account.
  730. */
  731. description?: TargetAccountConfigurationDescription;
  732. }
  733. export type ExperimentTargetAccountConfigurationList = ExperimentTargetAccountConfigurationSummary[];
  734. export interface ExperimentTargetAccountConfigurationSummary {
  735. /**
  736. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  737. */
  738. roleArn?: RoleArn;
  739. /**
  740. * The Amazon Web Services account ID of the target account.
  741. */
  742. accountId?: TargetAccountId;
  743. /**
  744. * The description of the target account.
  745. */
  746. description?: TargetAccountConfigurationDescription;
  747. }
  748. export interface ExperimentTargetFilter {
  749. /**
  750. * The attribute path for the filter.
  751. */
  752. path?: ExperimentTargetFilterPath;
  753. /**
  754. * The attribute values for the filter.
  755. */
  756. values?: ExperimentTargetFilterValues;
  757. }
  758. export type ExperimentTargetFilterList = ExperimentTargetFilter[];
  759. export type ExperimentTargetFilterPath = string;
  760. export type ExperimentTargetFilterValue = string;
  761. export type ExperimentTargetFilterValues = ExperimentTargetFilterValue[];
  762. export type ExperimentTargetMap = {[key: string]: ExperimentTarget};
  763. export type ExperimentTargetName = string;
  764. export type ExperimentTargetParameterMap = {[key: string]: ExperimentTargetParameterValue};
  765. export type ExperimentTargetParameterName = string;
  766. export type ExperimentTargetParameterValue = string;
  767. export type ExperimentTargetSelectionMode = string;
  768. export interface ExperimentTemplate {
  769. /**
  770. * The ID of the experiment template.
  771. */
  772. id?: ExperimentTemplateId;
  773. /**
  774. * The Amazon Resource Name (ARN) of the experiment template.
  775. */
  776. arn?: ResourceArn;
  777. /**
  778. * The description for the experiment template.
  779. */
  780. description?: ExperimentTemplateDescription;
  781. /**
  782. * The targets for the experiment.
  783. */
  784. targets?: ExperimentTemplateTargetMap;
  785. /**
  786. * The actions for the experiment.
  787. */
  788. actions?: ExperimentTemplateActionMap;
  789. /**
  790. * The stop conditions for the experiment.
  791. */
  792. stopConditions?: ExperimentTemplateStopConditionList;
  793. /**
  794. * The time the experiment template was created.
  795. */
  796. creationTime?: CreationTime;
  797. /**
  798. * The time the experiment template was last updated.
  799. */
  800. lastUpdateTime?: LastUpdateTime;
  801. /**
  802. * The Amazon Resource Name (ARN) of an IAM role.
  803. */
  804. roleArn?: RoleArn;
  805. /**
  806. * The tags for the experiment template.
  807. */
  808. tags?: TagMap;
  809. /**
  810. * The configuration for experiment logging.
  811. */
  812. logConfiguration?: ExperimentTemplateLogConfiguration;
  813. /**
  814. * The experiment options for an experiment template.
  815. */
  816. experimentOptions?: ExperimentTemplateExperimentOptions;
  817. /**
  818. * The count of target account configurations for the experiment template.
  819. */
  820. targetAccountConfigurationsCount?: TargetAccountConfigurationsCount;
  821. }
  822. export interface ExperimentTemplateAction {
  823. /**
  824. * The ID of the action.
  825. */
  826. actionId?: ActionId;
  827. /**
  828. * A description for the action.
  829. */
  830. description?: ExperimentTemplateActionDescription;
  831. /**
  832. * The parameters for the action.
  833. */
  834. parameters?: ExperimentTemplateActionParameterMap;
  835. /**
  836. * The targets for the action.
  837. */
  838. targets?: ExperimentTemplateActionTargetMap;
  839. /**
  840. * The name of the action that must be completed before the current action starts.
  841. */
  842. startAfter?: ExperimentTemplateActionStartAfterList;
  843. }
  844. export type ExperimentTemplateActionDescription = string;
  845. export type ExperimentTemplateActionMap = {[key: string]: ExperimentTemplateAction};
  846. export type ExperimentTemplateActionName = string;
  847. export type ExperimentTemplateActionParameter = string;
  848. export type ExperimentTemplateActionParameterMap = {[key: string]: ExperimentTemplateActionParameter};
  849. export type ExperimentTemplateActionParameterName = string;
  850. export type ExperimentTemplateActionStartAfter = string;
  851. export type ExperimentTemplateActionStartAfterList = ExperimentTemplateActionStartAfter[];
  852. export type ExperimentTemplateActionTargetMap = {[key: string]: ExperimentTemplateTargetName};
  853. export type ExperimentTemplateActionTargetName = string;
  854. export interface ExperimentTemplateCloudWatchLogsLogConfiguration {
  855. /**
  856. * The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group.
  857. */
  858. logGroupArn?: CloudWatchLogGroupArn;
  859. }
  860. export interface ExperimentTemplateCloudWatchLogsLogConfigurationInput {
  861. /**
  862. * The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group.
  863. */
  864. logGroupArn: CloudWatchLogGroupArn;
  865. }
  866. export type ExperimentTemplateDescription = string;
  867. export interface ExperimentTemplateExperimentOptions {
  868. /**
  869. * The account targeting setting for an experiment template.
  870. */
  871. accountTargeting?: AccountTargeting;
  872. /**
  873. * The empty target resolution mode for an experiment template.
  874. */
  875. emptyTargetResolutionMode?: EmptyTargetResolutionMode;
  876. }
  877. export type ExperimentTemplateId = string;
  878. export interface ExperimentTemplateLogConfiguration {
  879. /**
  880. * The configuration for experiment logging to Amazon CloudWatch Logs.
  881. */
  882. cloudWatchLogsConfiguration?: ExperimentTemplateCloudWatchLogsLogConfiguration;
  883. /**
  884. * The configuration for experiment logging to Amazon S3.
  885. */
  886. s3Configuration?: ExperimentTemplateS3LogConfiguration;
  887. /**
  888. * The schema version.
  889. */
  890. logSchemaVersion?: LogSchemaVersion;
  891. }
  892. export interface ExperimentTemplateS3LogConfiguration {
  893. /**
  894. * The name of the destination bucket.
  895. */
  896. bucketName?: S3BucketName;
  897. /**
  898. * The bucket prefix.
  899. */
  900. prefix?: S3ObjectKey;
  901. }
  902. export interface ExperimentTemplateS3LogConfigurationInput {
  903. /**
  904. * The name of the destination bucket.
  905. */
  906. bucketName: S3BucketName;
  907. /**
  908. * The bucket prefix.
  909. */
  910. prefix?: S3ObjectKey;
  911. }
  912. export interface ExperimentTemplateStopCondition {
  913. /**
  914. * The source for the stop condition.
  915. */
  916. source?: StopConditionSource;
  917. /**
  918. * The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.
  919. */
  920. value?: StopConditionValue;
  921. }
  922. export type ExperimentTemplateStopConditionList = ExperimentTemplateStopCondition[];
  923. export interface ExperimentTemplateSummary {
  924. /**
  925. * The ID of the experiment template.
  926. */
  927. id?: ExperimentTemplateId;
  928. /**
  929. * The Amazon Resource Name (ARN) of the experiment template.
  930. */
  931. arn?: ResourceArn;
  932. /**
  933. * The description of the experiment template.
  934. */
  935. description?: ExperimentTemplateDescription;
  936. /**
  937. * The time that the experiment template was created.
  938. */
  939. creationTime?: CreationTime;
  940. /**
  941. * The time that the experiment template was last updated.
  942. */
  943. lastUpdateTime?: LastUpdateTime;
  944. /**
  945. * The tags for the experiment template.
  946. */
  947. tags?: TagMap;
  948. }
  949. export type ExperimentTemplateSummaryList = ExperimentTemplateSummary[];
  950. export interface ExperimentTemplateTarget {
  951. /**
  952. * The resource type.
  953. */
  954. resourceType?: TargetResourceTypeId;
  955. /**
  956. * The Amazon Resource Names (ARNs) of the targets.
  957. */
  958. resourceArns?: ResourceArnList;
  959. /**
  960. * The tags for the target resources.
  961. */
  962. resourceTags?: TagMap;
  963. /**
  964. * The filters to apply to identify target resources using specific attributes.
  965. */
  966. filters?: ExperimentTemplateTargetFilterList;
  967. /**
  968. * Scopes the identified resources to a specific count or percentage.
  969. */
  970. selectionMode?: ExperimentTemplateTargetSelectionMode;
  971. /**
  972. * The resource type parameters.
  973. */
  974. parameters?: ExperimentTemplateTargetParameterMap;
  975. }
  976. export interface ExperimentTemplateTargetFilter {
  977. /**
  978. * The attribute path for the filter.
  979. */
  980. path?: ExperimentTemplateTargetFilterPath;
  981. /**
  982. * The attribute values for the filter.
  983. */
  984. values?: ExperimentTemplateTargetFilterValues;
  985. }
  986. export type ExperimentTemplateTargetFilterInputList = ExperimentTemplateTargetInputFilter[];
  987. export type ExperimentTemplateTargetFilterList = ExperimentTemplateTargetFilter[];
  988. export type ExperimentTemplateTargetFilterPath = string;
  989. export type ExperimentTemplateTargetFilterValue = string;
  990. export type ExperimentTemplateTargetFilterValues = ExperimentTemplateTargetFilterValue[];
  991. export interface ExperimentTemplateTargetInputFilter {
  992. /**
  993. * The attribute path for the filter.
  994. */
  995. path: ExperimentTemplateTargetFilterPath;
  996. /**
  997. * The attribute values for the filter.
  998. */
  999. values: ExperimentTemplateTargetFilterValues;
  1000. }
  1001. export type ExperimentTemplateTargetMap = {[key: string]: ExperimentTemplateTarget};
  1002. export type ExperimentTemplateTargetName = string;
  1003. export type ExperimentTemplateTargetParameterMap = {[key: string]: ExperimentTemplateTargetParameterValue};
  1004. export type ExperimentTemplateTargetParameterName = string;
  1005. export type ExperimentTemplateTargetParameterValue = string;
  1006. export type ExperimentTemplateTargetSelectionMode = string;
  1007. export interface GetActionRequest {
  1008. /**
  1009. * The ID of the action.
  1010. */
  1011. id: ActionId;
  1012. }
  1013. export interface GetActionResponse {
  1014. /**
  1015. * Information about the action.
  1016. */
  1017. action?: Action;
  1018. }
  1019. export interface GetExperimentRequest {
  1020. /**
  1021. * The ID of the experiment.
  1022. */
  1023. id: ExperimentId;
  1024. }
  1025. export interface GetExperimentResponse {
  1026. /**
  1027. * Information about the experiment.
  1028. */
  1029. experiment?: Experiment;
  1030. }
  1031. export interface GetExperimentTargetAccountConfigurationRequest {
  1032. /**
  1033. * The ID of the experiment.
  1034. */
  1035. experimentId: ExperimentId;
  1036. /**
  1037. * The Amazon Web Services account ID of the target account.
  1038. */
  1039. accountId: TargetAccountId;
  1040. }
  1041. export interface GetExperimentTargetAccountConfigurationResponse {
  1042. /**
  1043. * Information about the target account configuration.
  1044. */
  1045. targetAccountConfiguration?: ExperimentTargetAccountConfiguration;
  1046. }
  1047. export interface GetExperimentTemplateRequest {
  1048. /**
  1049. * The ID of the experiment template.
  1050. */
  1051. id: ExperimentTemplateId;
  1052. }
  1053. export interface GetExperimentTemplateResponse {
  1054. /**
  1055. * Information about the experiment template.
  1056. */
  1057. experimentTemplate?: ExperimentTemplate;
  1058. }
  1059. export interface GetTargetAccountConfigurationRequest {
  1060. /**
  1061. * The ID of the experiment template.
  1062. */
  1063. experimentTemplateId: ExperimentTemplateId;
  1064. /**
  1065. * The Amazon Web Services account ID of the target account.
  1066. */
  1067. accountId: TargetAccountId;
  1068. }
  1069. export interface GetTargetAccountConfigurationResponse {
  1070. /**
  1071. * Information about the target account configuration.
  1072. */
  1073. targetAccountConfiguration?: TargetAccountConfiguration;
  1074. }
  1075. export interface GetTargetResourceTypeRequest {
  1076. /**
  1077. * The resource type.
  1078. */
  1079. resourceType: TargetResourceTypeId;
  1080. }
  1081. export interface GetTargetResourceTypeResponse {
  1082. /**
  1083. * Information about the resource type.
  1084. */
  1085. targetResourceType?: TargetResourceType;
  1086. }
  1087. export type LastUpdateTime = Date;
  1088. export type ListActionsMaxResults = number;
  1089. export interface ListActionsRequest {
  1090. /**
  1091. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1092. */
  1093. maxResults?: ListActionsMaxResults;
  1094. /**
  1095. * The token for the next page of results.
  1096. */
  1097. nextToken?: NextToken;
  1098. }
  1099. export interface ListActionsResponse {
  1100. /**
  1101. * The actions.
  1102. */
  1103. actions?: ActionSummaryList;
  1104. /**
  1105. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1106. */
  1107. nextToken?: NextToken;
  1108. }
  1109. export type ListExperimentResolvedTargetsMaxResults = number;
  1110. export interface ListExperimentResolvedTargetsRequest {
  1111. /**
  1112. * The ID of the experiment.
  1113. */
  1114. experimentId: ExperimentId;
  1115. /**
  1116. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1117. */
  1118. maxResults?: ListExperimentResolvedTargetsMaxResults;
  1119. /**
  1120. * The token for the next page of results.
  1121. */
  1122. nextToken?: NextToken;
  1123. /**
  1124. * The name of the target.
  1125. */
  1126. targetName?: TargetName;
  1127. }
  1128. export interface ListExperimentResolvedTargetsResponse {
  1129. /**
  1130. * The resolved targets.
  1131. */
  1132. resolvedTargets?: ResolvedTargetList;
  1133. /**
  1134. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1135. */
  1136. nextToken?: NextToken;
  1137. }
  1138. export interface ListExperimentTargetAccountConfigurationsRequest {
  1139. /**
  1140. * The ID of the experiment.
  1141. */
  1142. experimentId: ExperimentId;
  1143. /**
  1144. * The token for the next page of results.
  1145. */
  1146. nextToken?: NextToken;
  1147. }
  1148. export interface ListExperimentTargetAccountConfigurationsResponse {
  1149. /**
  1150. * The target account configurations.
  1151. */
  1152. targetAccountConfigurations?: ExperimentTargetAccountConfigurationList;
  1153. /**
  1154. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1155. */
  1156. nextToken?: NextToken;
  1157. }
  1158. export type ListExperimentTemplatesMaxResults = number;
  1159. export interface ListExperimentTemplatesRequest {
  1160. /**
  1161. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1162. */
  1163. maxResults?: ListExperimentTemplatesMaxResults;
  1164. /**
  1165. * The token for the next page of results.
  1166. */
  1167. nextToken?: NextToken;
  1168. }
  1169. export interface ListExperimentTemplatesResponse {
  1170. /**
  1171. * The experiment templates.
  1172. */
  1173. experimentTemplates?: ExperimentTemplateSummaryList;
  1174. /**
  1175. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1176. */
  1177. nextToken?: NextToken;
  1178. }
  1179. export type ListExperimentsMaxResults = number;
  1180. export interface ListExperimentsRequest {
  1181. /**
  1182. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1183. */
  1184. maxResults?: ListExperimentsMaxResults;
  1185. /**
  1186. * The token for the next page of results.
  1187. */
  1188. nextToken?: NextToken;
  1189. /**
  1190. * The ID of the experiment template.
  1191. */
  1192. experimentTemplateId?: ExperimentTemplateId;
  1193. }
  1194. export interface ListExperimentsResponse {
  1195. /**
  1196. * The experiments.
  1197. */
  1198. experiments?: ExperimentSummaryList;
  1199. /**
  1200. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1201. */
  1202. nextToken?: NextToken;
  1203. }
  1204. export interface ListTagsForResourceRequest {
  1205. /**
  1206. * The Amazon Resource Name (ARN) of the resource.
  1207. */
  1208. resourceArn: ResourceArn;
  1209. }
  1210. export interface ListTagsForResourceResponse {
  1211. /**
  1212. * The tags for the resource.
  1213. */
  1214. tags?: TagMap;
  1215. }
  1216. export type ListTargetAccountConfigurationsMaxResults = number;
  1217. export interface ListTargetAccountConfigurationsRequest {
  1218. /**
  1219. * The ID of the experiment template.
  1220. */
  1221. experimentTemplateId: ExperimentTemplateId;
  1222. /**
  1223. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1224. */
  1225. maxResults?: ListTargetAccountConfigurationsMaxResults;
  1226. /**
  1227. * The token for the next page of results.
  1228. */
  1229. nextToken?: NextToken;
  1230. }
  1231. export interface ListTargetAccountConfigurationsResponse {
  1232. /**
  1233. * The target account configurations.
  1234. */
  1235. targetAccountConfigurations?: TargetAccountConfigurationList;
  1236. /**
  1237. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1238. */
  1239. nextToken?: NextToken;
  1240. }
  1241. export type ListTargetResourceTypesMaxResults = number;
  1242. export interface ListTargetResourceTypesRequest {
  1243. /**
  1244. * The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
  1245. */
  1246. maxResults?: ListTargetResourceTypesMaxResults;
  1247. /**
  1248. * The token for the next page of results.
  1249. */
  1250. nextToken?: NextToken;
  1251. }
  1252. export interface ListTargetResourceTypesResponse {
  1253. /**
  1254. * The target resource types.
  1255. */
  1256. targetResourceTypes?: TargetResourceTypeSummaryList;
  1257. /**
  1258. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  1259. */
  1260. nextToken?: NextToken;
  1261. }
  1262. export type LogSchemaVersion = number;
  1263. export type NextToken = string;
  1264. export interface ResolvedTarget {
  1265. /**
  1266. * The resource type of the target.
  1267. */
  1268. resourceType?: TargetResourceTypeId;
  1269. /**
  1270. * The name of the target.
  1271. */
  1272. targetName?: TargetName;
  1273. /**
  1274. * Information about the target.
  1275. */
  1276. targetInformation?: TargetInformationMap;
  1277. }
  1278. export type ResolvedTargetList = ResolvedTarget[];
  1279. export type ResourceArn = string;
  1280. export type ResourceArnList = ResourceArn[];
  1281. export type RoleArn = string;
  1282. export type S3BucketName = string;
  1283. export type S3ObjectKey = string;
  1284. export interface StartExperimentExperimentOptionsInput {
  1285. /**
  1286. * Specifies the actions mode for experiment options.
  1287. */
  1288. actionsMode?: ActionsMode;
  1289. }
  1290. export interface StartExperimentRequest {
  1291. /**
  1292. * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  1293. */
  1294. clientToken: ClientToken;
  1295. /**
  1296. * The ID of the experiment template.
  1297. */
  1298. experimentTemplateId: ExperimentTemplateId;
  1299. /**
  1300. * The experiment options for running the experiment.
  1301. */
  1302. experimentOptions?: StartExperimentExperimentOptionsInput;
  1303. /**
  1304. * The tags to apply to the experiment.
  1305. */
  1306. tags?: TagMap;
  1307. }
  1308. export interface StartExperimentResponse {
  1309. /**
  1310. * Information about the experiment.
  1311. */
  1312. experiment?: Experiment;
  1313. }
  1314. export type StopConditionSource = string;
  1315. export type StopConditionValue = string;
  1316. export interface StopExperimentRequest {
  1317. /**
  1318. * The ID of the experiment.
  1319. */
  1320. id: ExperimentId;
  1321. }
  1322. export interface StopExperimentResponse {
  1323. /**
  1324. * Information about the experiment.
  1325. */
  1326. experiment?: Experiment;
  1327. }
  1328. export type TagKey = string;
  1329. export type TagKeyList = TagKey[];
  1330. export type TagMap = {[key: string]: TagValue};
  1331. export interface TagResourceRequest {
  1332. /**
  1333. * The Amazon Resource Name (ARN) of the resource.
  1334. */
  1335. resourceArn: ResourceArn;
  1336. /**
  1337. * The tags for the resource.
  1338. */
  1339. tags: TagMap;
  1340. }
  1341. export interface TagResourceResponse {
  1342. }
  1343. export type TagValue = string;
  1344. export interface TargetAccountConfiguration {
  1345. /**
  1346. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  1347. */
  1348. roleArn?: RoleArn;
  1349. /**
  1350. * The Amazon Web Services account ID of the target account.
  1351. */
  1352. accountId?: TargetAccountId;
  1353. /**
  1354. * The description of the target account.
  1355. */
  1356. description?: TargetAccountConfigurationDescription;
  1357. }
  1358. export type TargetAccountConfigurationDescription = string;
  1359. export type TargetAccountConfigurationList = TargetAccountConfigurationSummary[];
  1360. export interface TargetAccountConfigurationSummary {
  1361. /**
  1362. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  1363. */
  1364. roleArn?: RoleArn;
  1365. /**
  1366. * The Amazon Web Services account ID of the target account.
  1367. */
  1368. accountId?: TargetAccountId;
  1369. /**
  1370. * The description of the target account.
  1371. */
  1372. description?: TargetAccountConfigurationDescription;
  1373. }
  1374. export type TargetAccountConfigurationsCount = number;
  1375. export type TargetAccountId = string;
  1376. export type TargetInformationKey = string;
  1377. export type TargetInformationMap = {[key: string]: TargetInformationValue};
  1378. export type TargetInformationValue = string;
  1379. export type TargetName = string;
  1380. export interface TargetResourceType {
  1381. /**
  1382. * The resource type.
  1383. */
  1384. resourceType?: TargetResourceTypeId;
  1385. /**
  1386. * A description of the resource type.
  1387. */
  1388. description?: TargetResourceTypeDescription;
  1389. /**
  1390. * The parameters for the resource type.
  1391. */
  1392. parameters?: TargetResourceTypeParameterMap;
  1393. }
  1394. export type TargetResourceTypeDescription = string;
  1395. export type TargetResourceTypeId = string;
  1396. export interface TargetResourceTypeParameter {
  1397. /**
  1398. * A description of the parameter.
  1399. */
  1400. description?: TargetResourceTypeParameterDescription;
  1401. /**
  1402. * Indicates whether the parameter is required.
  1403. */
  1404. required?: TargetResourceTypeParameterRequired;
  1405. }
  1406. export type TargetResourceTypeParameterDescription = string;
  1407. export type TargetResourceTypeParameterMap = {[key: string]: TargetResourceTypeParameter};
  1408. export type TargetResourceTypeParameterName = string;
  1409. export type TargetResourceTypeParameterRequired = boolean;
  1410. export interface TargetResourceTypeSummary {
  1411. /**
  1412. * The resource type.
  1413. */
  1414. resourceType?: TargetResourceTypeId;
  1415. /**
  1416. * A description of the resource type.
  1417. */
  1418. description?: TargetResourceTypeDescription;
  1419. }
  1420. export type TargetResourceTypeSummaryList = TargetResourceTypeSummary[];
  1421. export interface UntagResourceRequest {
  1422. /**
  1423. * The Amazon Resource Name (ARN) of the resource.
  1424. */
  1425. resourceArn: ResourceArn;
  1426. /**
  1427. * The tag keys to remove.
  1428. */
  1429. tagKeys?: TagKeyList;
  1430. }
  1431. export interface UntagResourceResponse {
  1432. }
  1433. export interface UpdateExperimentTemplateActionInputItem {
  1434. /**
  1435. * The ID of the action.
  1436. */
  1437. actionId?: ActionId;
  1438. /**
  1439. * A description for the action.
  1440. */
  1441. description?: ExperimentTemplateActionDescription;
  1442. /**
  1443. * The parameters for the action, if applicable.
  1444. */
  1445. parameters?: ExperimentTemplateActionParameterMap;
  1446. /**
  1447. * The targets for the action.
  1448. */
  1449. targets?: ExperimentTemplateActionTargetMap;
  1450. /**
  1451. * The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment.
  1452. */
  1453. startAfter?: ExperimentTemplateActionStartAfterList;
  1454. }
  1455. export type UpdateExperimentTemplateActionInputMap = {[key: string]: UpdateExperimentTemplateActionInputItem};
  1456. export interface UpdateExperimentTemplateExperimentOptionsInput {
  1457. /**
  1458. * The empty target resolution mode of the experiment template.
  1459. */
  1460. emptyTargetResolutionMode?: EmptyTargetResolutionMode;
  1461. }
  1462. export interface UpdateExperimentTemplateLogConfigurationInput {
  1463. /**
  1464. * The configuration for experiment logging to Amazon CloudWatch Logs.
  1465. */
  1466. cloudWatchLogsConfiguration?: ExperimentTemplateCloudWatchLogsLogConfigurationInput;
  1467. /**
  1468. * The configuration for experiment logging to Amazon S3.
  1469. */
  1470. s3Configuration?: ExperimentTemplateS3LogConfigurationInput;
  1471. /**
  1472. * The schema version.
  1473. */
  1474. logSchemaVersion?: LogSchemaVersion;
  1475. }
  1476. export interface UpdateExperimentTemplateRequest {
  1477. /**
  1478. * The ID of the experiment template.
  1479. */
  1480. id: ExperimentTemplateId;
  1481. /**
  1482. * A description for the template.
  1483. */
  1484. description?: ExperimentTemplateDescription;
  1485. /**
  1486. * The stop conditions for the experiment.
  1487. */
  1488. stopConditions?: UpdateExperimentTemplateStopConditionInputList;
  1489. /**
  1490. * The targets for the experiment.
  1491. */
  1492. targets?: UpdateExperimentTemplateTargetInputMap;
  1493. /**
  1494. * The actions for the experiment.
  1495. */
  1496. actions?: UpdateExperimentTemplateActionInputMap;
  1497. /**
  1498. * The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.
  1499. */
  1500. roleArn?: RoleArn;
  1501. /**
  1502. * The configuration for experiment logging.
  1503. */
  1504. logConfiguration?: UpdateExperimentTemplateLogConfigurationInput;
  1505. /**
  1506. * The experiment options for the experiment template.
  1507. */
  1508. experimentOptions?: UpdateExperimentTemplateExperimentOptionsInput;
  1509. }
  1510. export interface UpdateExperimentTemplateResponse {
  1511. /**
  1512. * Information about the experiment template.
  1513. */
  1514. experimentTemplate?: ExperimentTemplate;
  1515. }
  1516. export interface UpdateExperimentTemplateStopConditionInput {
  1517. /**
  1518. * The source for the stop condition. Specify aws:cloudwatch:alarm if the stop condition is defined by a CloudWatch alarm. Specify none if there is no stop condition.
  1519. */
  1520. source: StopConditionSource;
  1521. /**
  1522. * The Amazon Resource Name (ARN) of the CloudWatch alarm.
  1523. */
  1524. value?: StopConditionValue;
  1525. }
  1526. export type UpdateExperimentTemplateStopConditionInputList = UpdateExperimentTemplateStopConditionInput[];
  1527. export interface UpdateExperimentTemplateTargetInput {
  1528. /**
  1529. * The resource type. The resource type must be supported for the specified action.
  1530. */
  1531. resourceType: TargetResourceTypeId;
  1532. /**
  1533. * The Amazon Resource Names (ARNs) of the targets.
  1534. */
  1535. resourceArns?: ResourceArnList;
  1536. /**
  1537. * The tags for the target resources.
  1538. */
  1539. resourceTags?: TagMap;
  1540. /**
  1541. * The filters to apply to identify target resources using specific attributes.
  1542. */
  1543. filters?: ExperimentTemplateTargetFilterInputList;
  1544. /**
  1545. * Scopes the identified resources to a specific count or percentage.
  1546. */
  1547. selectionMode: ExperimentTemplateTargetSelectionMode;
  1548. /**
  1549. * The resource type parameters.
  1550. */
  1551. parameters?: ExperimentTemplateTargetParameterMap;
  1552. }
  1553. export type UpdateExperimentTemplateTargetInputMap = {[key: string]: UpdateExperimentTemplateTargetInput};
  1554. export interface UpdateTargetAccountConfigurationRequest {
  1555. /**
  1556. * The ID of the experiment template.
  1557. */
  1558. experimentTemplateId: ExperimentTemplateId;
  1559. /**
  1560. * The Amazon Web Services account ID of the target account.
  1561. */
  1562. accountId: TargetAccountId;
  1563. /**
  1564. * The Amazon Resource Name (ARN) of an IAM role for the target account.
  1565. */
  1566. roleArn?: RoleArn;
  1567. /**
  1568. * The description of the target account.
  1569. */
  1570. description?: TargetAccountConfigurationDescription;
  1571. }
  1572. export interface UpdateTargetAccountConfigurationResponse {
  1573. /**
  1574. * Information about the target account configuration.
  1575. */
  1576. targetAccountConfiguration?: TargetAccountConfiguration;
  1577. }
  1578. /**
  1579. * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  1580. */
  1581. export type apiVersion = "2020-12-01"|"latest"|string;
  1582. export interface ClientApiVersions {
  1583. /**
  1584. * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  1585. */
  1586. apiVersion?: apiVersion;
  1587. }
  1588. export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
  1589. /**
  1590. * Contains interfaces for use with the Fis client.
  1591. */
  1592. export import Types = Fis;
  1593. }
  1594. export = Fis;