prowler-sdk-poc
Version:
924 lines (923 loc) • 33.7 kB
TypeScript
import {Request} from '../lib/request';
import {Response} from '../lib/response';
import {AWSError} from '../lib/error';
import {Service} from '../lib/service';
import {ServiceConfigurationOptions} from '../lib/service';
import {ConfigBase as Config} from '../lib/config-base';
interface Blob {}
declare class Fis extends Service {
/**
* Constructs a service object. This object has one method for each API operation.
*/
constructor(options?: Fis.Types.ClientConfiguration)
config: Config & Fis.Types.ClientConfiguration;
/**
* Creates an experiment template. To create a template, specify the following information: Targets: A target can be a specific resource in your AWS 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 the AWS Fault Injection Simulator User Guide.
*/
createExperimentTemplate(params: Fis.Types.CreateExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.CreateExperimentTemplateResponse) => void): Request<Fis.Types.CreateExperimentTemplateResponse, AWSError>;
/**
* Creates an experiment template. To create a template, specify the following information: Targets: A target can be a specific resource in your AWS 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 the AWS Fault Injection Simulator User Guide.
*/
createExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.CreateExperimentTemplateResponse) => void): Request<Fis.Types.CreateExperimentTemplateResponse, AWSError>;
/**
* Deletes the specified experiment template.
*/
deleteExperimentTemplate(params: Fis.Types.DeleteExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.DeleteExperimentTemplateResponse) => void): Request<Fis.Types.DeleteExperimentTemplateResponse, AWSError>;
/**
* Deletes the specified experiment template.
*/
deleteExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.DeleteExperimentTemplateResponse) => void): Request<Fis.Types.DeleteExperimentTemplateResponse, AWSError>;
/**
* Gets information about the specified AWS FIS action.
*/
getAction(params: Fis.Types.GetActionRequest, callback?: (err: AWSError, data: Fis.Types.GetActionResponse) => void): Request<Fis.Types.GetActionResponse, AWSError>;
/**
* Gets information about the specified AWS FIS action.
*/
getAction(callback?: (err: AWSError, data: Fis.Types.GetActionResponse) => void): Request<Fis.Types.GetActionResponse, AWSError>;
/**
* Gets information about the specified experiment.
*/
getExperiment(params: Fis.Types.GetExperimentRequest, callback?: (err: AWSError, data: Fis.Types.GetExperimentResponse) => void): Request<Fis.Types.GetExperimentResponse, AWSError>;
/**
* Gets information about the specified experiment.
*/
getExperiment(callback?: (err: AWSError, data: Fis.Types.GetExperimentResponse) => void): Request<Fis.Types.GetExperimentResponse, AWSError>;
/**
* Gets information about the specified experiment template.
*/
getExperimentTemplate(params: Fis.Types.GetExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.GetExperimentTemplateResponse) => void): Request<Fis.Types.GetExperimentTemplateResponse, AWSError>;
/**
* Gets information about the specified experiment template.
*/
getExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.GetExperimentTemplateResponse) => void): Request<Fis.Types.GetExperimentTemplateResponse, AWSError>;
/**
* Lists the available AWS FIS actions.
*/
listActions(params: Fis.Types.ListActionsRequest, callback?: (err: AWSError, data: Fis.Types.ListActionsResponse) => void): Request<Fis.Types.ListActionsResponse, AWSError>;
/**
* Lists the available AWS FIS actions.
*/
listActions(callback?: (err: AWSError, data: Fis.Types.ListActionsResponse) => void): Request<Fis.Types.ListActionsResponse, AWSError>;
/**
* Lists your experiment templates.
*/
listExperimentTemplates(params: Fis.Types.ListExperimentTemplatesRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentTemplatesResponse) => void): Request<Fis.Types.ListExperimentTemplatesResponse, AWSError>;
/**
* Lists your experiment templates.
*/
listExperimentTemplates(callback?: (err: AWSError, data: Fis.Types.ListExperimentTemplatesResponse) => void): Request<Fis.Types.ListExperimentTemplatesResponse, AWSError>;
/**
* Lists your experiments.
*/
listExperiments(params: Fis.Types.ListExperimentsRequest, callback?: (err: AWSError, data: Fis.Types.ListExperimentsResponse) => void): Request<Fis.Types.ListExperimentsResponse, AWSError>;
/**
* Lists your experiments.
*/
listExperiments(callback?: (err: AWSError, data: Fis.Types.ListExperimentsResponse) => void): Request<Fis.Types.ListExperimentsResponse, AWSError>;
/**
* Lists the tags for the specified resource.
*/
listTagsForResource(params: Fis.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Fis.Types.ListTagsForResourceResponse) => void): Request<Fis.Types.ListTagsForResourceResponse, AWSError>;
/**
* Lists the tags for the specified resource.
*/
listTagsForResource(callback?: (err: AWSError, data: Fis.Types.ListTagsForResourceResponse) => void): Request<Fis.Types.ListTagsForResourceResponse, AWSError>;
/**
* Starts running an experiment from the specified experiment template.
*/
startExperiment(params: Fis.Types.StartExperimentRequest, callback?: (err: AWSError, data: Fis.Types.StartExperimentResponse) => void): Request<Fis.Types.StartExperimentResponse, AWSError>;
/**
* Starts running an experiment from the specified experiment template.
*/
startExperiment(callback?: (err: AWSError, data: Fis.Types.StartExperimentResponse) => void): Request<Fis.Types.StartExperimentResponse, AWSError>;
/**
* Stops the specified experiment.
*/
stopExperiment(params: Fis.Types.StopExperimentRequest, callback?: (err: AWSError, data: Fis.Types.StopExperimentResponse) => void): Request<Fis.Types.StopExperimentResponse, AWSError>;
/**
* Stops the specified experiment.
*/
stopExperiment(callback?: (err: AWSError, data: Fis.Types.StopExperimentResponse) => void): Request<Fis.Types.StopExperimentResponse, AWSError>;
/**
* Applies the specified tags to the specified resource.
*/
tagResource(params: Fis.Types.TagResourceRequest, callback?: (err: AWSError, data: Fis.Types.TagResourceResponse) => void): Request<Fis.Types.TagResourceResponse, AWSError>;
/**
* Applies the specified tags to the specified resource.
*/
tagResource(callback?: (err: AWSError, data: Fis.Types.TagResourceResponse) => void): Request<Fis.Types.TagResourceResponse, AWSError>;
/**
* Removes the specified tags from the specified resource.
*/
untagResource(params: Fis.Types.UntagResourceRequest, callback?: (err: AWSError, data: Fis.Types.UntagResourceResponse) => void): Request<Fis.Types.UntagResourceResponse, AWSError>;
/**
* Removes the specified tags from the specified resource.
*/
untagResource(callback?: (err: AWSError, data: Fis.Types.UntagResourceResponse) => void): Request<Fis.Types.UntagResourceResponse, AWSError>;
/**
* Updates the specified experiment template.
*/
updateExperimentTemplate(params: Fis.Types.UpdateExperimentTemplateRequest, callback?: (err: AWSError, data: Fis.Types.UpdateExperimentTemplateResponse) => void): Request<Fis.Types.UpdateExperimentTemplateResponse, AWSError>;
/**
* Updates the specified experiment template.
*/
updateExperimentTemplate(callback?: (err: AWSError, data: Fis.Types.UpdateExperimentTemplateResponse) => void): Request<Fis.Types.UpdateExperimentTemplateResponse, AWSError>;
}
declare namespace Fis {
export interface Action {
/**
* The ID of the action.
*/
id?: ActionId;
/**
* The description for the action.
*/
description?: ActionDescription;
/**
* The action parameters, if applicable.
*/
parameters?: ActionParameterMap;
/**
* The supported targets for the action.
*/
targets?: ActionTargetMap;
/**
* The tags for the action.
*/
tags?: TagMap;
}
export type ActionDescription = string;
export type ActionId = string;
export interface ActionParameter {
/**
* The parameter description.
*/
description?: ActionParameterDescription;
/**
* Indicates whether the parameter is required.
*/
required?: ActionParameterRequired;
}
export type ActionParameterDescription = string;
export type ActionParameterMap = {[key: string]: ActionParameter};
export type ActionParameterName = string;
export type ActionParameterRequired = boolean;
export interface ActionSummary {
/**
* The ID of the action.
*/
id?: ActionId;
/**
* The description for the action.
*/
description?: ActionDescription;
/**
* The targets for the action.
*/
targets?: ActionTargetMap;
/**
* The tags for the action.
*/
tags?: TagMap;
}
export type ActionSummaryList = ActionSummary[];
export interface ActionTarget {
/**
* The resource type of the target.
*/
resourceType?: TargetResourceType;
}
export type ActionTargetMap = {[key: string]: ActionTarget};
export type ActionTargetName = string;
export type ClientToken = string;
export interface CreateExperimentTemplateActionInput {
/**
* The ID of the action.
*/
actionId: ActionId;
/**
* A description for the action.
*/
description?: ExperimentTemplateActionDescription;
/**
* The parameters for the action, if applicable.
*/
parameters?: ExperimentTemplateActionParameterMap;
/**
* The targets for the action.
*/
targets?: ExperimentTemplateActionTargetMap;
/**
* 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.
*/
startAfter?: ExperimentTemplateActionStartAfterList;
}
export type CreateExperimentTemplateActionInputMap = {[key: string]: CreateExperimentTemplateActionInput};
export interface CreateExperimentTemplateRequest {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
*/
clientToken: ClientToken;
/**
* A description for the experiment template. Can contain up to 64 letters (A-Z and a-z).
*/
description: ExperimentTemplateDescription;
/**
* The stop conditions.
*/
stopConditions: CreateExperimentTemplateStopConditionInputList;
/**
* The targets for the experiment.
*/
targets?: CreateExperimentTemplateTargetInputMap;
/**
* The actions for the experiment.
*/
actions: CreateExperimentTemplateActionInputMap;
/**
* The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.
*/
roleArn: RoleArn;
/**
* The tags to apply to the experiment template.
*/
tags?: TagMap;
}
export interface CreateExperimentTemplateResponse {
/**
* Information about the experiment template.
*/
experimentTemplate?: ExperimentTemplate;
}
export interface CreateExperimentTemplateStopConditionInput {
/**
* 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.
*/
source: StopConditionSource;
/**
* The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required if the source is a CloudWatch alarm.
*/
value?: StopConditionValue;
}
export type CreateExperimentTemplateStopConditionInputList = CreateExperimentTemplateStopConditionInput[];
export interface CreateExperimentTemplateTargetInput {
/**
* The AWS resource type. The resource type must be supported for the specified action.
*/
resourceType: ResourceType;
/**
* The Amazon Resource Names (ARNs) of the resources.
*/
resourceArns?: ResourceArnList;
/**
* The tags for the target resources.
*/
resourceTags?: TagMap;
/**
* The filters to apply to identify target resources using specific attributes.
*/
filters?: ExperimentTemplateTargetFilterInputList;
/**
* 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.
*/
selectionMode: ExperimentTemplateTargetSelectionMode;
}
export type CreateExperimentTemplateTargetInputMap = {[key: string]: CreateExperimentTemplateTargetInput};
export type CreationTime = Date;
export interface DeleteExperimentTemplateRequest {
/**
* The ID of the experiment template.
*/
id: ExperimentTemplateId;
}
export interface DeleteExperimentTemplateResponse {
/**
* Information about the experiment template.
*/
experimentTemplate?: ExperimentTemplate;
}
export interface Experiment {
/**
* The ID of the experiment.
*/
id?: ExperimentId;
/**
* The ID of the experiment template.
*/
experimentTemplateId?: ExperimentTemplateId;
/**
* The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.
*/
roleArn?: RoleArn;
/**
* The state of the experiment.
*/
state?: ExperimentState;
/**
* The targets for the experiment.
*/
targets?: ExperimentTargetMap;
/**
* The actions for the experiment.
*/
actions?: ExperimentActionMap;
/**
* The stop conditions for the experiment.
*/
stopConditions?: ExperimentStopConditionList;
/**
* The time the experiment was created.
*/
creationTime?: CreationTime;
/**
* The time that the experiment was started.
*/
startTime?: ExperimentStartTime;
/**
* The time that the experiment ended.
*/
endTime?: ExperimentEndTime;
/**
* The tags for the experiment.
*/
tags?: TagMap;
}
export interface ExperimentAction {
/**
* The ID of the action.
*/
actionId?: ActionId;
/**
* The description for the action.
*/
description?: ExperimentActionDescription;
/**
* The parameters for the action.
*/
parameters?: ExperimentActionParameterMap;
/**
* The targets for the action.
*/
targets?: ExperimentActionTargetMap;
/**
* The name of the action that must be completed before this action starts.
*/
startAfter?: ExperimentActionStartAfterList;
/**
* The state of the action.
*/
state?: ExperimentActionState;
}
export type ExperimentActionDescription = string;
export type ExperimentActionMap = {[key: string]: ExperimentAction};
export type ExperimentActionName = string;
export type ExperimentActionParameter = string;
export type ExperimentActionParameterMap = {[key: string]: ExperimentActionParameter};
export type ExperimentActionParameterName = string;
export type ExperimentActionStartAfter = string;
export type ExperimentActionStartAfterList = ExperimentActionStartAfter[];
export interface ExperimentActionState {
/**
* The state of the action.
*/
status?: ExperimentActionStatus;
/**
* The reason for the state.
*/
reason?: ExperimentActionStatusReason;
}
export type ExperimentActionStatus = "pending"|"initiating"|"running"|"completed"|"cancelled"|"stopping"|"stopped"|"failed"|string;
export type ExperimentActionStatusReason = string;
export type ExperimentActionTargetMap = {[key: string]: ExperimentTargetName};
export type ExperimentActionTargetName = string;
export type ExperimentEndTime = Date;
export type ExperimentId = string;
export type ExperimentStartTime = Date;
export interface ExperimentState {
/**
* The state of the experiment.
*/
status?: ExperimentStatus;
/**
* The reason for the state.
*/
reason?: ExperimentStatusReason;
}
export type ExperimentStatus = "pending"|"initiating"|"running"|"completed"|"stopping"|"stopped"|"failed"|string;
export type ExperimentStatusReason = string;
export interface ExperimentStopCondition {
/**
* The source for the stop condition.
*/
source?: StopConditionSource;
/**
* The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.
*/
value?: StopConditionValue;
}
export type ExperimentStopConditionList = ExperimentStopCondition[];
export interface ExperimentSummary {
/**
* The ID of the experiment.
*/
id?: ExperimentId;
/**
* The ID of the experiment template.
*/
experimentTemplateId?: ExperimentTemplateId;
/**
* The state of the experiment.
*/
state?: ExperimentState;
/**
* The time that the experiment was created.
*/
creationTime?: CreationTime;
/**
* The tags for the experiment.
*/
tags?: TagMap;
}
export type ExperimentSummaryList = ExperimentSummary[];
export interface ExperimentTarget {
/**
* The resource type.
*/
resourceType?: ResourceType;
/**
* The Amazon Resource Names (ARNs) of the resources.
*/
resourceArns?: ResourceArnList;
/**
* The tags for the target resources.
*/
resourceTags?: TagMap;
/**
* The filters to apply to identify target resources using specific attributes.
*/
filters?: ExperimentTargetFilterList;
/**
* Scopes the identified resources to a specific count or percentage.
*/
selectionMode?: ExperimentTargetSelectionMode;
}
export interface ExperimentTargetFilter {
/**
* The attribute path for the filter.
*/
path?: ExperimentTargetFilterPath;
/**
* The attribute values for the filter.
*/
values?: ExperimentTargetFilterValues;
}
export type ExperimentTargetFilterList = ExperimentTargetFilter[];
export type ExperimentTargetFilterPath = string;
export type ExperimentTargetFilterValue = string;
export type ExperimentTargetFilterValues = ExperimentTargetFilterValue[];
export type ExperimentTargetMap = {[key: string]: ExperimentTarget};
export type ExperimentTargetName = string;
export type ExperimentTargetSelectionMode = string;
export interface ExperimentTemplate {
/**
* The ID of the experiment template.
*/
id?: ExperimentTemplateId;
/**
* The description for the experiment template.
*/
description?: ExperimentTemplateDescription;
/**
* The targets for the experiment.
*/
targets?: ExperimentTemplateTargetMap;
/**
* The actions for the experiment.
*/
actions?: ExperimentTemplateActionMap;
/**
* The stop conditions for the experiment.
*/
stopConditions?: ExperimentTemplateStopConditionList;
/**
* The time the experiment template was created.
*/
creationTime?: CreationTime;
/**
* The time the experiment template was last updated.
*/
lastUpdateTime?: LastUpdateTime;
/**
* The Amazon Resource Name (ARN) of an IAM role.
*/
roleArn?: RoleArn;
/**
* The tags for the experiment template.
*/
tags?: TagMap;
}
export interface ExperimentTemplateAction {
/**
* The ID of the action.
*/
actionId?: ActionId;
/**
* A description for the action.
*/
description?: ExperimentTemplateActionDescription;
/**
* The parameters for the action.
*/
parameters?: ExperimentTemplateActionParameterMap;
/**
* The targets for the action.
*/
targets?: ExperimentTemplateActionTargetMap;
/**
* The name of the action that must be completed before the current action starts.
*/
startAfter?: ExperimentTemplateActionStartAfterList;
}
export type ExperimentTemplateActionDescription = string;
export type ExperimentTemplateActionMap = {[key: string]: ExperimentTemplateAction};
export type ExperimentTemplateActionName = string;
export type ExperimentTemplateActionParameter = string;
export type ExperimentTemplateActionParameterMap = {[key: string]: ExperimentTemplateActionParameter};
export type ExperimentTemplateActionParameterName = string;
export type ExperimentTemplateActionStartAfter = string;
export type ExperimentTemplateActionStartAfterList = ExperimentTemplateActionStartAfter[];
export type ExperimentTemplateActionTargetMap = {[key: string]: ExperimentTemplateTargetName};
export type ExperimentTemplateActionTargetName = string;
export type ExperimentTemplateDescription = string;
export type ExperimentTemplateId = string;
export interface ExperimentTemplateStopCondition {
/**
* The source for the stop condition.
*/
source?: StopConditionSource;
/**
* The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.
*/
value?: StopConditionValue;
}
export type ExperimentTemplateStopConditionList = ExperimentTemplateStopCondition[];
export interface ExperimentTemplateSummary {
/**
* The ID of the experiment template.
*/
id?: ExperimentTemplateId;
/**
* The description of the experiment template.
*/
description?: ExperimentTemplateDescription;
/**
* The time that the experiment template was created.
*/
creationTime?: CreationTime;
/**
* The time that the experiment template was last updated.
*/
lastUpdateTime?: LastUpdateTime;
/**
* The tags for the experiment template.
*/
tags?: TagMap;
}
export type ExperimentTemplateSummaryList = ExperimentTemplateSummary[];
export interface ExperimentTemplateTarget {
/**
* The resource type.
*/
resourceType?: ResourceType;
/**
* The Amazon Resource Names (ARNs) of the targets.
*/
resourceArns?: ResourceArnList;
/**
* The tags for the target resources.
*/
resourceTags?: TagMap;
/**
* The filters to apply to identify target resources using specific attributes.
*/
filters?: ExperimentTemplateTargetFilterList;
/**
* Scopes the identified resources to a specific count or percentage.
*/
selectionMode?: ExperimentTemplateTargetSelectionMode;
}
export interface ExperimentTemplateTargetFilter {
/**
* The attribute path for the filter.
*/
path?: ExperimentTemplateTargetFilterPath;
/**
* The attribute values for the filter.
*/
values?: ExperimentTemplateTargetFilterValues;
}
export type ExperimentTemplateTargetFilterInputList = ExperimentTemplateTargetInputFilter[];
export type ExperimentTemplateTargetFilterList = ExperimentTemplateTargetFilter[];
export type ExperimentTemplateTargetFilterPath = string;
export type ExperimentTemplateTargetFilterValue = string;
export type ExperimentTemplateTargetFilterValues = ExperimentTemplateTargetFilterValue[];
export interface ExperimentTemplateTargetInputFilter {
/**
* The attribute path for the filter.
*/
path: ExperimentTemplateTargetFilterPath;
/**
* The attribute values for the filter.
*/
values: ExperimentTemplateTargetFilterValues;
}
export type ExperimentTemplateTargetMap = {[key: string]: ExperimentTemplateTarget};
export type ExperimentTemplateTargetName = string;
export type ExperimentTemplateTargetSelectionMode = string;
export interface GetActionRequest {
/**
* The ID of the action.
*/
id: ActionId;
}
export interface GetActionResponse {
/**
* Information about the action.
*/
action?: Action;
}
export interface GetExperimentRequest {
/**
* The ID of the experiment.
*/
id: ExperimentId;
}
export interface GetExperimentResponse {
/**
* Information about the experiment.
*/
experiment?: Experiment;
}
export interface GetExperimentTemplateRequest {
/**
* The ID of the experiment template.
*/
id: ExperimentTemplateId;
}
export interface GetExperimentTemplateResponse {
/**
* Information about the experiment template.
*/
experimentTemplate?: ExperimentTemplate;
}
export type LastUpdateTime = Date;
export type ListActionsMaxResults = number;
export interface ListActionsRequest {
/**
* The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
*/
maxResults?: ListActionsMaxResults;
/**
* The token for the next page of results.
*/
nextToken?: NextToken;
}
export interface ListActionsResponse {
/**
* The actions.
*/
actions?: ActionSummaryList;
/**
* The token to use to retrieve the next page of results. This value is null when there are no more results to return.
*/
nextToken?: NextToken;
}
export type ListExperimentTemplatesMaxResults = number;
export interface ListExperimentTemplatesRequest {
/**
* The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
*/
maxResults?: ListExperimentTemplatesMaxResults;
/**
* The token for the next page of results.
*/
nextToken?: NextToken;
}
export interface ListExperimentTemplatesResponse {
/**
* The experiment templates.
*/
experimentTemplates?: ExperimentTemplateSummaryList;
/**
* The token to use to retrieve the next page of results. This value is null when there are no more results to return.
*/
nextToken?: NextToken;
}
export type ListExperimentsMaxResults = number;
export interface ListExperimentsRequest {
/**
* The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
*/
maxResults?: ListExperimentsMaxResults;
/**
* The token for the next page of results.
*/
nextToken?: NextToken;
}
export interface ListExperimentsResponse {
/**
* The experiments.
*/
experiments?: ExperimentSummaryList;
/**
* The token to use to retrieve the next page of results. This value is null when there are no more results to return.
*/
nextToken?: NextToken;
}
export interface ListTagsForResourceRequest {
/**
* The Amazon Resource Name (ARN) of the resource.
*/
resourceArn: ResourceArn;
}
export interface ListTagsForResourceResponse {
/**
* The tags for the resource.
*/
tags?: TagMap;
}
export type NextToken = string;
export type ResourceArn = string;
export type ResourceArnList = ResourceArn[];
export type ResourceType = string;
export type RoleArn = string;
export interface StartExperimentRequest {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
*/
clientToken: ClientToken;
/**
* The ID of the experiment template.
*/
experimentTemplateId: ExperimentTemplateId;
/**
* The tags to apply to the experiment.
*/
tags?: TagMap;
}
export interface StartExperimentResponse {
/**
* Information about the experiment.
*/
experiment?: Experiment;
}
export type StopConditionSource = string;
export type StopConditionValue = string;
export interface StopExperimentRequest {
/**
* The ID of the experiment.
*/
id: ExperimentId;
}
export interface StopExperimentResponse {
/**
* Information about the experiment.
*/
experiment?: Experiment;
}
export type TagKey = string;
export type TagKeyList = TagKey[];
export type TagMap = {[key: string]: TagValue};
export interface TagResourceRequest {
/**
* The Amazon Resource Name (ARN) of the resource.
*/
resourceArn: ResourceArn;
/**
* The tags for the resource.
*/
tags: TagMap;
}
export interface TagResourceResponse {
}
export type TagValue = string;
export type TargetResourceType = string;
export interface UntagResourceRequest {
/**
* The Amazon Resource Name (ARN) of the resource.
*/
resourceArn: ResourceArn;
/**
* The tag keys to remove.
*/
tagKeys?: TagKeyList;
}
export interface UntagResourceResponse {
}
export interface UpdateExperimentTemplateActionInputItem {
/**
* The ID of the action.
*/
actionId?: ActionId;
/**
* A description for the action.
*/
description?: ExperimentTemplateActionDescription;
/**
* The parameters for the action, if applicable.
*/
parameters?: ExperimentTemplateActionParameterMap;
/**
* The targets for the action.
*/
targets?: ExperimentTemplateActionTargetMap;
/**
* 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.
*/
startAfter?: ExperimentTemplateActionStartAfterList;
}
export type UpdateExperimentTemplateActionInputMap = {[key: string]: UpdateExperimentTemplateActionInputItem};
export interface UpdateExperimentTemplateRequest {
/**
* The ID of the experiment template.
*/
id: ExperimentTemplateId;
/**
* A description for the template.
*/
description?: ExperimentTemplateDescription;
/**
* The stop conditions for the experiment.
*/
stopConditions?: UpdateExperimentTemplateStopConditionInputList;
/**
* The targets for the experiment.
*/
targets?: UpdateExperimentTemplateTargetInputMap;
/**
* The actions for the experiment.
*/
actions?: UpdateExperimentTemplateActionInputMap;
/**
* The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.
*/
roleArn?: RoleArn;
}
export interface UpdateExperimentTemplateResponse {
/**
* Information about the experiment template.
*/
experimentTemplate?: ExperimentTemplate;
}
export interface UpdateExperimentTemplateStopConditionInput {
/**
* 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.
*/
source: StopConditionSource;
/**
* The Amazon Resource Name (ARN) of the CloudWatch alarm.
*/
value?: StopConditionValue;
}
export type UpdateExperimentTemplateStopConditionInputList = UpdateExperimentTemplateStopConditionInput[];
export interface UpdateExperimentTemplateTargetInput {
/**
* The AWS resource type. The resource type must be supported for the specified action.
*/
resourceType: ResourceType;
/**
* The Amazon Resource Names (ARNs) of the targets.
*/
resourceArns?: ResourceArnList;
/**
* The tags for the target resources.
*/
resourceTags?: TagMap;
/**
* The filters to apply to identify target resources using specific attributes.
*/
filters?: ExperimentTemplateTargetFilterInputList;
/**
* Scopes the identified resources to a specific count or percentage.
*/
selectionMode: ExperimentTemplateTargetSelectionMode;
}
export type UpdateExperimentTemplateTargetInputMap = {[key: string]: UpdateExperimentTemplateTargetInput};
/**
* 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.
*/
export type apiVersion = "2020-12-01"|"latest"|string;
export interface ClientApiVersions {
/**
* 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.
*/
apiVersion?: apiVersion;
}
export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
/**
* Contains interfaces for use with the Fis client.
*/
export import Types = Fis;
}
export = Fis;