AWS Fault Injection Simulator icon

AWS Fault Injection Simulator

Fault Injection Simulator is a managed service that enables you to perform fault injection experiments on your Amazon Web Services workloads

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2020-12-01",
    "x-release": "v4",
    "title": "AWS Fault Injection Simulator",
    "description": "Fault Injection Simulator is a managed service that enables you to perform fault injection experiments on your Amazon Web Services workloads. For more information, see the <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/\">Fault Injection Simulator User Guide</a>.",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "fis",
    "x-aws-signingName": "fis",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/fis-2020-12-01.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/fis/"
  },
  "servers": [
    {
      "url": "http://fis.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The FIS multi-region endpoint"
    },
    {
      "url": "https://fis.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The FIS multi-region endpoint"
    },
    {
      "url": "http://fis.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The FIS endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://fis.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The FIS endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "paths": {
    "/experimentTemplates": {
      "post": {
        "operationId": "CreateExperimentTemplate",
        "description": "<p>Creates an experiment template. </p> <p>An experiment template includes the following components:</p> <ul> <li> <p> <b>Targets</b>: 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.</p> </li> <li> <p> <b>Actions</b>: 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.</p> </li> <li> <p> <b>Stop conditions</b>: 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.</p> </li> </ul> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html\">Experiment templates</a> in the <i>Fault Injection Simulator User Guide</i>.</p>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateExperimentTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clientToken",
                  "description",
                  "stopConditions",
                  "actions",
                  "roleArn"
                ],
                "properties": {
                  "clientToken": {
                    "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.",
                    "type": "string",
                    "pattern": "[\\S]+",
                    "minLength": 1,
                    "maxLength": 1024
                  },
                  "description": {
                    "description": "A description for the experiment template.",
                    "type": "string",
                    "pattern": "[\\s\\S]+",
                    "maxLength": 512
                  },
                  "stopConditions": {
                    "description": "The stop conditions.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CreateExperimentTemplateStopConditionInput"
                    }
                  },
                  "targets": {
                    "description": "The targets for the experiment.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/CreateExperimentTemplateTargetInput"
                    }
                  },
                  "actions": {
                    "description": "The actions for the experiment.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/CreateExperimentTemplateActionInput"
                    }
                  },
                  "roleArn": {
                    "description": "The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.",
                    "type": "string",
                    "pattern": "[\\S]+",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "tags": {
                    "description": "The tags to apply to the experiment template.",
                    "type": "object",
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "logConfiguration": {
                    "description": "Specifies the configuration for experiment logging.",
                    "type": "object",
                    "properties": {
                      "cloudWatchLogsConfiguration": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExperimentTemplateCloudWatchLogsLogConfigurationInput"
                          },
                          {
                            "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
                          }
                        ]
                      },
                      "s3Configuration": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExperimentTemplateS3LogConfigurationInput"
                          },
                          {
                            "description": "The configuration for experiment logging to Amazon S3."
                          }
                        ]
                      },
                      "logSchemaVersion": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/LogSchemaVersion"
                          },
                          {
                            "description": "The schema version."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListExperimentTemplates",
        "description": "Lists your experiment templates.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExperimentTemplatesResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token for the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        ]
      }
    },
    "/experimentTemplates/{id}": {
      "delete": {
        "operationId": "DeleteExperimentTemplate",
        "description": "Deletes the specified experiment template.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteExperimentTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the experiment template.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 64
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetExperimentTemplate",
        "description": "Gets information about the specified experiment template.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetExperimentTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the experiment template.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 64
            }
          }
        ]
      },
      "patch": {
        "operationId": "UpdateExperimentTemplate",
        "description": "Updates the specified experiment template.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateExperimentTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the experiment template.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "description": "A description for the template.",
                    "type": "string",
                    "pattern": "[\\s\\S]+",
                    "maxLength": 512
                  },
                  "stopConditions": {
                    "description": "The stop conditions for the experiment.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UpdateExperimentTemplateStopConditionInput"
                    }
                  },
                  "targets": {
                    "description": "The targets for the experiment.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/UpdateExperimentTemplateTargetInput"
                    }
                  },
                  "actions": {
                    "description": "The actions for the experiment.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/UpdateExperimentTemplateActionInputItem"
                    }
                  },
                  "roleArn": {
                    "description": "The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.",
                    "type": "string",
                    "pattern": "[\\S]+",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "logConfiguration": {
                    "description": "Specifies the configuration for experiment logging.",
                    "type": "object",
                    "properties": {
                      "cloudWatchLogsConfiguration": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExperimentTemplateCloudWatchLogsLogConfigurationInput"
                          },
                          {
                            "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
                          }
                        ]
                      },
                      "s3Configuration": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ExperimentTemplateS3LogConfigurationInput"
                          },
                          {
                            "description": "The configuration for experiment logging to Amazon S3."
                          }
                        ]
                      },
                      "logSchemaVersion": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/LogSchemaVersion"
                          },
                          {
                            "description": "The schema version."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/actions/{id}": {
      "get": {
        "operationId": "GetAction",
        "description": "Gets information about the specified FIS action.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetActionResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the action.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/experiments/{id}": {
      "get": {
        "operationId": "GetExperiment",
        "description": "Gets information about the specified experiment.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetExperimentResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the experiment.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 64
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "delete": {
        "operationId": "StopExperiment",
        "description": "Stops the specified experiment.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StopExperimentResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The ID of the experiment.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 64
            }
          }
        ]
      }
    },
    "/targetResourceTypes/{resourceType}": {
      "get": {
        "operationId": "GetTargetResourceType",
        "description": "Gets information about the specified resource type.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTargetResourceTypeResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceType",
            "in": "path",
            "required": true,
            "description": "The resource type.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "maxLength": 128
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/actions": {
      "get": {
        "operationId": "ListActions",
        "description": "Lists the available FIS actions.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListActionsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token for the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/experiments": {
      "get": {
        "operationId": "ListExperiments",
        "description": "Lists your experiments.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExperimentsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token for the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "StartExperiment",
        "description": "Starts running an experiment from the specified experiment template.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartExperimentResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "clientToken",
                  "experimentTemplateId"
                ],
                "properties": {
                  "clientToken": {
                    "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.",
                    "type": "string",
                    "pattern": "[\\S]+",
                    "minLength": 1,
                    "maxLength": 1024
                  },
                  "experimentTemplateId": {
                    "description": "The ID of the experiment template.",
                    "type": "string",
                    "pattern": "[\\S]+",
                    "maxLength": 64
                  },
                  "tags": {
                    "description": "The tags to apply to the experiment.",
                    "type": "object",
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tags/{resourceArn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "Lists the tags for the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) of the resource.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 20,
              "maxLength": 2048
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "TagResource",
        "description": "Applies the specified tags to the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResourceResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) of the resource.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 20,
              "maxLength": 2048
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": "The tags for the resource.",
                    "type": "object",
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "UntagResource",
        "description": "Removes the specified tags from the specified resource.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UntagResourceResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "The Amazon Resource Name (ARN) of the resource.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 20,
              "maxLength": 2048
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": false,
            "description": "The tag keys to remove.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TagKey"
              }
            }
          }
        ]
      }
    },
    "/targetResourceTypes": {
      "get": {
        "operationId": "ListTargetResourceTypes",
        "description": "Lists the target resource types.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTargetResourceTypesResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token for the next page of results.",
            "schema": {
              "type": "string",
              "pattern": "[\\S]+",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "CreateExperimentTemplateResponse": {
        "type": "object",
        "properties": {
          "experimentTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplate"
              },
              {
                "description": "Information about the experiment template."
              }
            ]
          }
        }
      },
      "CreateExperimentTemplateStopConditionInput": {
        "type": "object",
        "required": [
          "source"
        ],
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionSource"
              },
              {
                "description": "The source for the stop condition. Specify <code>aws:cloudwatch:alarm</code> if the stop condition is defined by a CloudWatch alarm. Specify <code>none</code> if there is no stop condition."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionValue"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required if the source is a CloudWatch alarm."
              }
            ]
          }
        },
        "description": "Specifies a stop condition for an experiment template."
      },
      "CreateExperimentTemplateTargetInput": {
        "type": "object",
        "required": [
          "resourceType",
          "selectionMode"
        ],
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type. The resource type must be supported for the specified action."
              }
            ]
          },
          "resourceArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceArnList"
              },
              {
                "description": "The Amazon Resource Names (ARNs) of the resources."
              }
            ]
          },
          "resourceTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the target resources."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterInputList"
              },
              {
                "description": "The filters to apply to identify target resources using specific attributes."
              }
            ]
          },
          "selectionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetSelectionMode"
              },
              {
                "description": "<p>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.</p> <ul> <li> <p>ALL - Run the action on all identified targets. This is the default.</p> </li> <li> <p>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.</p> </li> <li> <p>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.</p> </li> </ul>"
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetParameterMap"
              },
              {
                "description": "The resource type parameters."
              }
            ]
          }
        },
        "description": "<p>Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or at least one resource tag. You cannot specify both ARNs and tags.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/targets.html\">Targets</a> in the <i>Fault Injection Simulator User Guide</i>.</p>"
      },
      "CreateExperimentTemplateActionInput": {
        "type": "object",
        "required": [
          "actionId"
        ],
        "properties": {
          "actionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action. The format of the action ID is: aws:<i>service-name</i>:<i>action-type</i>."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionDescription"
              },
              {
                "description": "A description for the action."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionParameterMap"
              },
              {
                "description": "The parameters for the action, if applicable."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionTargetMap"
              },
              {
                "description": "The targets for the action."
              }
            ]
          },
          "startAfter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionStartAfterList"
              },
              {
                "description": "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."
              }
            ]
          }
        },
        "description": "<p>Specifies an action for an experiment template.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/actions.html\">Actions</a> in the <i>Fault Injection Simulator User Guide</i>.</p>"
      },
      "TagValue": {
        "type": "string",
        "pattern": "[\\s\\S]*",
        "maxLength": 256
      },
      "ExperimentTemplateCloudWatchLogsLogConfigurationInput": {
        "type": "object",
        "required": [
          "logGroupArn"
        ],
        "properties": {
          "logGroupArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CloudWatchLogGroupArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group."
              }
            ]
          }
        },
        "description": "Specifies the configuration for experiment logging to Amazon CloudWatch Logs."
      },
      "ExperimentTemplateS3LogConfigurationInput": {
        "type": "object",
        "required": [
          "bucketName"
        ],
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "The name of the destination bucket."
              }
            ]
          },
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3ObjectKey"
              },
              {
                "description": "The bucket prefix."
              }
            ]
          }
        },
        "description": "Specifies the configuration for experiment logging to Amazon S3."
      },
      "LogSchemaVersion": {
        "type": "integer"
      },
      "ValidationException": {},
      "ConflictException": {},
      "ResourceNotFoundException": {},
      "ServiceQuotaExceededException": {},
      "DeleteExperimentTemplateResponse": {
        "type": "object",
        "properties": {
          "experimentTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplate"
              },
              {
                "description": "Information about the experiment template."
              }
            ]
          }
        }
      },
      "GetActionResponse": {
        "type": "object",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Action"
              },
              {
                "description": "Information about the action."
              }
            ]
          }
        }
      },
      "GetExperimentResponse": {
        "type": "object",
        "properties": {
          "experiment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Experiment"
              },
              {
                "description": "Information about the experiment."
              }
            ]
          }
        }
      },
      "GetExperimentTemplateResponse": {
        "type": "object",
        "properties": {
          "experimentTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplate"
              },
              {
                "description": "Information about the experiment template."
              }
            ]
          }
        }
      },
      "GetTargetResourceTypeResponse": {
        "type": "object",
        "properties": {
          "targetResourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceType"
              },
              {
                "description": "Information about the resource type."
              }
            ]
          }
        }
      },
      "ListActionsResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionSummaryList"
              },
              {
                "description": "The actions."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return."
              }
            ]
          }
        }
      },
      "ListExperimentTemplatesResponse": {
        "type": "object",
        "properties": {
          "experimentTemplates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateSummaryList"
              },
              {
                "description": "The experiment templates."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return."
              }
            ]
          }
        }
      },
      "ListExperimentsResponse": {
        "type": "object",
        "properties": {
          "experiments": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentSummaryList"
              },
              {
                "description": "The experiments."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return."
              }
            ]
          }
        }
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the resource."
              }
            ]
          }
        }
      },
      "ListTargetResourceTypesResponse": {
        "type": "object",
        "properties": {
          "targetResourceTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeSummaryList"
              },
              {
                "description": "The target resource types."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": "The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return."
              }
            ]
          }
        }
      },
      "StartExperimentResponse": {
        "type": "object",
        "properties": {
          "experiment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Experiment"
              },
              {
                "description": "Information about the experiment."
              }
            ]
          }
        }
      },
      "StopExperimentResponse": {
        "type": "object",
        "properties": {
          "experiment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Experiment"
              },
              {
                "description": "Information about the experiment."
              }
            ]
          }
        }
      },
      "TagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "UntagResourceResponse": {
        "type": "object",
        "properties": {}
      },
      "TagKey": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 128
      },
      "UpdateExperimentTemplateResponse": {
        "type": "object",
        "properties": {
          "experimentTemplate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplate"
              },
              {
                "description": "Information about the experiment template."
              }
            ]
          }
        }
      },
      "UpdateExperimentTemplateStopConditionInput": {
        "type": "object",
        "required": [
          "source"
        ],
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionSource"
              },
              {
                "description": "The source for the stop condition. Specify <code>aws:cloudwatch:alarm</code> if the stop condition is defined by a CloudWatch alarm. Specify <code>none</code> if there is no stop condition."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionValue"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the CloudWatch alarm."
              }
            ]
          }
        },
        "description": "Specifies a stop condition for an experiment. You can define a stop condition as a CloudWatch alarm."
      },
      "UpdateExperimentTemplateTargetInput": {
        "type": "object",
        "required": [
          "resourceType",
          "selectionMode"
        ],
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type. The resource type must be supported for the specified action."
              }
            ]
          },
          "resourceArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceArnList"
              },
              {
                "description": "The Amazon Resource Names (ARNs) of the targets."
              }
            ]
          },
          "resourceTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the target resources."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterInputList"
              },
              {
                "description": "The filters to apply to identify target resources using specific attributes."
              }
            ]
          },
          "selectionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetSelectionMode"
              },
              {
                "description": "Scopes the identified resources to a specific count or percentage."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetParameterMap"
              },
              {
                "description": "The resource type parameters."
              }
            ]
          }
        },
        "description": "Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or at least one resource tag. You cannot specify both."
      },
      "UpdateExperimentTemplateActionInputItem": {
        "type": "object",
        "properties": {
          "actionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionDescription"
              },
              {
                "description": "A description for the action."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionParameterMap"
              },
              {
                "description": "The parameters for the action, if applicable."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionTargetMap"
              },
              {
                "description": "The targets for the action."
              }
            ]
          },
          "startAfter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionStartAfterList"
              },
              {
                "description": "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."
              }
            ]
          }
        },
        "description": "Specifies an action for an experiment template."
      },
      "ActionId": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 128
      },
      "ActionDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ActionParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ActionParameter"
        }
      },
      "ActionTargetMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ActionTarget"
        }
      },
      "TagMap": {
        "type": "object",
        "maxProperties": 50,
        "additionalProperties": {
          "$ref": "#/components/schemas/TagValue"
        }
      },
      "Action": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "The description for the action."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionParameterMap"
              },
              {
                "description": "The action parameters, if applicable."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionTargetMap"
              },
              {
                "description": "The supported targets for the action."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the action."
              }
            ]
          }
        },
        "description": "Describes an action. For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html\">FIS actions</a> in the <i>Fault Injection Simulator User Guide</i>."
      },
      "ActionParameterDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ActionParameterRequired": {
        "type": "boolean"
      },
      "ActionParameter": {
        "type": "object",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionParameterDescription"
              },
              {
                "description": "The parameter description."
              }
            ]
          },
          "required": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionParameterRequired"
              },
              {
                "description": "Indicates whether the parameter is required."
              }
            ]
          }
        },
        "description": "Describes a parameter for an action."
      },
      "ActionParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ActionSummary": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "The description for the action."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionTargetMap"
              },
              {
                "description": "The targets for the action."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the action."
              }
            ]
          }
        },
        "description": "Provides a summary of an action."
      },
      "ActionSummaryList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ActionSummary"
        }
      },
      "TargetResourceTypeId": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 128
      },
      "ActionTarget": {
        "type": "object",
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type of the target."
              }
            ]
          }
        },
        "description": "Describes a target for an action."
      },
      "ActionTargetName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ClientToken": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 1,
        "maxLength": 1024
      },
      "CloudWatchLogGroupArn": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 20,
        "maxLength": 2048
      },
      "ExperimentTemplateActionDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ExperimentTemplateActionParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTemplateActionParameter"
        }
      },
      "ExperimentTemplateActionTargetMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTemplateTargetName"
        }
      },
      "ExperimentTemplateActionStartAfterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateActionStartAfter"
        }
      },
      "CreateExperimentTemplateActionInputMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/CreateExperimentTemplateActionInput"
        }
      },
      "CreateExperimentTemplateLogConfigurationInput": {
        "type": "object",
        "required": [
          "logSchemaVersion"
        ],
        "properties": {
          "cloudWatchLogsConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateCloudWatchLogsLogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
              }
            ]
          },
          "s3Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateS3LogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging to Amazon S3."
              }
            ]
          },
          "logSchemaVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogSchemaVersion"
              },
              {
                "description": "The schema version."
              }
            ]
          }
        },
        "description": "Specifies the configuration for experiment logging."
      },
      "ExperimentTemplateDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "CreateExperimentTemplateStopConditionInputList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CreateExperimentTemplateStopConditionInput"
        }
      },
      "CreateExperimentTemplateTargetInputMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/CreateExperimentTemplateTargetInput"
        }
      },
      "RoleArn": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 20,
        "maxLength": 2048
      },
      "CreateExperimentTemplateRequest": {
        "type": "object",
        "required": [
          "clientToken",
          "description",
          "stopConditions",
          "actions",
          "roleArn"
        ],
        "title": "CreateExperimentTemplateRequest",
        "properties": {
          "clientToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientToken"
              },
              {
                "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateDescription"
              },
              {
                "description": "A description for the experiment template."
              }
            ]
          },
          "stopConditions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateExperimentTemplateStopConditionInputList"
              },
              {
                "description": "The stop conditions."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateExperimentTemplateTargetInputMap"
              },
              {
                "description": "The targets for the experiment."
              }
            ]
          },
          "actions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateExperimentTemplateActionInputMap"
              },
              {
                "description": "The actions for the experiment."
              }
            ]
          },
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags to apply to the experiment template."
              }
            ]
          },
          "logConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateExperimentTemplateLogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging."
              }
            ]
          }
        }
      },
      "ExperimentTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateId"
              },
              {
                "description": "The ID of the experiment template."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateDescription"
              },
              {
                "description": "The description for the experiment template."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetMap"
              },
              {
                "description": "The targets for the experiment."
              }
            ]
          },
          "actions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionMap"
              },
              {
                "description": "The actions for the experiment."
              }
            ]
          },
          "stopConditions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateStopConditionList"
              },
              {
                "description": "The stop conditions for the experiment."
              }
            ]
          },
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreationTime"
              },
              {
                "description": "The time the experiment template was created."
              }
            ]
          },
          "lastUpdateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LastUpdateTime"
              },
              {
                "description": "The time the experiment template was last updated."
              }
            ]
          },
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of an IAM role."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the experiment template."
              }
            ]
          },
          "logConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateLogConfiguration"
              },
              {
                "description": "The configuration for experiment logging."
              }
            ]
          }
        },
        "description": "Describes an experiment template."
      },
      "StopConditionSource": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "StopConditionValue": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "minLength": 20,
        "maxLength": 2048
      },
      "ResourceArnList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ResourceArn"
        },
        "maxItems": 5
      },
      "ExperimentTemplateTargetFilterInputList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateTargetInputFilter"
        }
      },
      "ExperimentTemplateTargetSelectionMode": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateTargetParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTemplateTargetParameterValue"
        }
      },
      "CreationTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentTemplateId": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "DeleteExperimentTemplateRequest": {
        "type": "object",
        "title": "DeleteExperimentTemplateRequest",
        "properties": {}
      },
      "ExperimentId": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentState": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentStatus"
              },
              {
                "description": "The state of the experiment."
              }
            ]
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentStatusReason"
              },
              {
                "description": "The reason for the state."
              }
            ]
          }
        },
        "description": "Describes the state of an experiment."
      },
      "ExperimentTargetMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTarget"
        }
      },
      "ExperimentActionMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentAction"
        }
      },
      "ExperimentStopConditionList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentStopCondition"
        }
      },
      "ExperimentStartTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentEndTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentLogConfiguration": {
        "type": "object",
        "properties": {
          "cloudWatchLogsConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentCloudWatchLogsLogConfiguration"
              },
              {
                "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
              }
            ]
          },
          "s3Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentS3LogConfiguration"
              },
              {
                "description": "The configuration for experiment logging to Amazon S3."
              }
            ]
          },
          "logSchemaVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogSchemaVersion"
              },
              {
                "description": "The schema version."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging."
      },
      "Experiment": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentId"
              },
              {
                "description": "The ID of the experiment."
              }
            ]
          },
          "experimentTemplateId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateId"
              },
              {
                "description": "The ID of the experiment template."
              }
            ]
          },
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf."
              }
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentState"
              },
              {
                "description": "The state of the experiment."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetMap"
              },
              {
                "description": "The targets for the experiment."
              }
            ]
          },
          "actions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionMap"
              },
              {
                "description": "The actions for the experiment."
              }
            ]
          },
          "stopConditions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentStopConditionList"
              },
              {
                "description": "The stop conditions for the experiment."
              }
            ]
          },
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreationTime"
              },
              {
                "description": "The time that the experiment was created."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentStartTime"
              },
              {
                "description": "The time that the experiment started."
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentEndTime"
              },
              {
                "description": "The time that the experiment ended."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the experiment."
              }
            ]
          },
          "logConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentLogConfiguration"
              },
              {
                "description": "The configuration for experiment logging."
              }
            ]
          }
        },
        "description": "Describes an experiment."
      },
      "ExperimentActionDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ExperimentActionParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentActionParameter"
        }
      },
      "ExperimentActionTargetMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTargetName"
        }
      },
      "ExperimentActionStartAfterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentActionStartAfter"
        }
      },
      "ExperimentActionState": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionStatus"
              },
              {
                "description": "The state of the action."
              }
            ]
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionStatusReason"
              },
              {
                "description": "The reason for the state."
              }
            ]
          }
        },
        "description": "Describes the state of an action."
      },
      "ExperimentActionStartTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentActionEndTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentAction": {
        "type": "object",
        "properties": {
          "actionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionDescription"
              },
              {
                "description": "The description for the action."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionParameterMap"
              },
              {
                "description": "The parameters for the action."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionTargetMap"
              },
              {
                "description": "The targets for the action."
              }
            ]
          },
          "startAfter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionStartAfterList"
              },
              {
                "description": "The name of the action that must be completed before this action starts."
              }
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionState"
              },
              {
                "description": "The state of the action."
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionStartTime"
              },
              {
                "description": "The time that the action started."
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentActionEndTime"
              },
              {
                "description": "The time that the action ended."
              }
            ]
          }
        },
        "description": "Describes the action for an experiment."
      },
      "ExperimentActionName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentActionParameter": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 1024
      },
      "ExperimentActionParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentActionStartAfter": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentActionStatus": {
        "type": "string",
        "enum": [
          "pending",
          "initiating",
          "running",
          "completed",
          "cancelled",
          "stopping",
          "stopped",
          "failed"
        ]
      },
      "ExperimentActionStatusReason": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ExperimentTargetName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentActionTargetName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentCloudWatchLogsLogConfiguration": {
        "type": "object",
        "properties": {
          "logGroupArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CloudWatchLogGroupArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging to Amazon CloudWatch Logs."
      },
      "ExperimentS3LogConfiguration": {
        "type": "object",
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "The name of the destination bucket."
              }
            ]
          },
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3ObjectKey"
              },
              {
                "description": "The bucket prefix."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging to Amazon S3."
      },
      "S3BucketName": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 3,
        "maxLength": 63
      },
      "S3ObjectKey": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "minLength": 1,
        "maxLength": 1024
      },
      "ExperimentStatus": {
        "type": "string",
        "enum": [
          "pending",
          "initiating",
          "running",
          "completed",
          "stopping",
          "stopped",
          "failed"
        ]
      },
      "ExperimentStatusReason": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "ExperimentStopCondition": {
        "type": "object",
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionSource"
              },
              {
                "description": "The source for the stop condition."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionValue"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable."
              }
            ]
          }
        },
        "description": "Describes the stop condition for an experiment."
      },
      "ExperimentSummary": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentId"
              },
              {
                "description": "The ID of the experiment."
              }
            ]
          },
          "experimentTemplateId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateId"
              },
              {
                "description": "The ID of the experiment template."
              }
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentState"
              },
              {
                "description": "The state of the experiment."
              }
            ]
          },
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreationTime"
              },
              {
                "description": "The time that the experiment was created."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the experiment."
              }
            ]
          }
        },
        "description": "Provides a summary of an experiment."
      },
      "ExperimentSummaryList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentSummary"
        }
      },
      "ExperimentTargetFilterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTargetFilter"
        }
      },
      "ExperimentTargetSelectionMode": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTargetParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTargetParameterValue"
        }
      },
      "ExperimentTarget": {
        "type": "object",
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type."
              }
            ]
          },
          "resourceArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceArnList"
              },
              {
                "description": "The Amazon Resource Names (ARNs) of the resources."
              }
            ]
          },
          "resourceTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the target resources."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetFilterList"
              },
              {
                "description": "The filters to apply to identify target resources using specific attributes."
              }
            ]
          },
          "selectionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetSelectionMode"
              },
              {
                "description": "Scopes the identified resources to a specific count or percentage."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetParameterMap"
              },
              {
                "description": "The resource type parameters."
              }
            ]
          }
        },
        "description": "Describes a target for an experiment."
      },
      "ExperimentTargetFilterPath": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 256
      },
      "ExperimentTargetFilterValues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTargetFilterValue"
        }
      },
      "ExperimentTargetFilter": {
        "type": "object",
        "properties": {
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetFilterPath"
              },
              {
                "description": "The attribute path for the filter."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTargetFilterValues"
              },
              {
                "description": "The attribute values for the filter."
              }
            ]
          }
        },
        "description": "Describes a filter used for the target resources in an experiment."
      },
      "ExperimentTargetFilterValue": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 128
      },
      "ExperimentTargetParameterValue": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024
      },
      "ExperimentTargetParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateTargetMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTemplateTarget"
        }
      },
      "ExperimentTemplateActionMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ExperimentTemplateAction"
        }
      },
      "ExperimentTemplateStopConditionList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateStopCondition"
        }
      },
      "LastUpdateTime": {
        "type": "string",
        "format": "date-time"
      },
      "ExperimentTemplateLogConfiguration": {
        "type": "object",
        "properties": {
          "cloudWatchLogsConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateCloudWatchLogsLogConfiguration"
              },
              {
                "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
              }
            ]
          },
          "s3Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateS3LogConfiguration"
              },
              {
                "description": "The configuration for experiment logging to Amazon S3."
              }
            ]
          },
          "logSchemaVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogSchemaVersion"
              },
              {
                "description": "The schema version."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging."
      },
      "ExperimentTemplateAction": {
        "type": "object",
        "properties": {
          "actionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionId"
              },
              {
                "description": "The ID of the action."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionDescription"
              },
              {
                "description": "A description for the action."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionParameterMap"
              },
              {
                "description": "The parameters for the action."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionTargetMap"
              },
              {
                "description": "The targets for the action."
              }
            ]
          },
          "startAfter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateActionStartAfterList"
              },
              {
                "description": "The name of the action that must be completed before the current action starts."
              }
            ]
          }
        },
        "description": "Describes an action for an experiment template."
      },
      "ExperimentTemplateActionName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateActionParameter": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 1024
      },
      "ExperimentTemplateActionParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateActionStartAfter": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateTargetName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateActionTargetName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "ExperimentTemplateCloudWatchLogsLogConfiguration": {
        "type": "object",
        "properties": {
          "logGroupArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CloudWatchLogGroupArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging to Amazon CloudWatch Logs."
      },
      "ExperimentTemplateS3LogConfiguration": {
        "type": "object",
        "properties": {
          "bucketName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "The name of the destination bucket."
              }
            ]
          },
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3ObjectKey"
              },
              {
                "description": "The bucket prefix."
              }
            ]
          }
        },
        "description": "Describes the configuration for experiment logging to Amazon S3."
      },
      "ExperimentTemplateStopCondition": {
        "type": "object",
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionSource"
              },
              {
                "description": "The source for the stop condition."
              }
            ]
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StopConditionValue"
              },
              {
                "description": "The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable."
              }
            ]
          }
        },
        "description": "Describes a stop condition for an experiment template."
      },
      "ExperimentTemplateSummary": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateId"
              },
              {
                "description": "The ID of the experiment template."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateDescription"
              },
              {
                "description": "The description of the experiment template."
              }
            ]
          },
          "creationTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreationTime"
              },
              {
                "description": "The time that the experiment template was created."
              }
            ]
          },
          "lastUpdateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LastUpdateTime"
              },
              {
                "description": "The time that the experiment template was last updated."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the experiment template."
              }
            ]
          }
        },
        "description": "Provides a summary of an experiment template."
      },
      "ExperimentTemplateSummaryList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateSummary"
        }
      },
      "ExperimentTemplateTargetFilterList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateTargetFilter"
        }
      },
      "ExperimentTemplateTarget": {
        "type": "object",
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type."
              }
            ]
          },
          "resourceArns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceArnList"
              },
              {
                "description": "The Amazon Resource Names (ARNs) of the targets."
              }
            ]
          },
          "resourceTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the target resources."
              }
            ]
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterList"
              },
              {
                "description": "The filters to apply to identify target resources using specific attributes."
              }
            ]
          },
          "selectionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetSelectionMode"
              },
              {
                "description": "Scopes the identified resources to a specific count or percentage."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetParameterMap"
              },
              {
                "description": "The resource type parameters."
              }
            ]
          }
        },
        "description": "Describes a target for an experiment template."
      },
      "ExperimentTemplateTargetFilterPath": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 256
      },
      "ExperimentTemplateTargetFilterValues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExperimentTemplateTargetFilterValue"
        }
      },
      "ExperimentTemplateTargetFilter": {
        "type": "object",
        "properties": {
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterPath"
              },
              {
                "description": "The attribute path for the filter."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterValues"
              },
              {
                "description": "The attribute values for the filter."
              }
            ]
          }
        },
        "description": "Describes a filter used for the target resources in an experiment template."
      },
      "ExperimentTemplateTargetInputFilter": {
        "type": "object",
        "required": [
          "path",
          "values"
        ],
        "properties": {
          "path": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterPath"
              },
              {
                "description": "The attribute path for the filter."
              }
            ]
          },
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateTargetFilterValues"
              },
              {
                "description": "The attribute values for the filter."
              }
            ]
          }
        },
        "description": "<p>Specifies a filter used for the target resource input in an experiment template.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/targets.html#target-filters\">Resource filters</a> in the <i>Fault Injection Simulator User Guide</i>.</p>"
      },
      "ExperimentTemplateTargetFilterValue": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 128
      },
      "ExperimentTemplateTargetParameterValue": {
        "type": "string",
        "pattern": "^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+$",
        "minLength": 1,
        "maxLength": 1024
      },
      "ExperimentTemplateTargetParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "GetActionRequest": {
        "type": "object",
        "title": "GetActionRequest",
        "properties": {}
      },
      "GetExperimentRequest": {
        "type": "object",
        "title": "GetExperimentRequest",
        "properties": {}
      },
      "GetExperimentTemplateRequest": {
        "type": "object",
        "title": "GetExperimentTemplateRequest",
        "properties": {}
      },
      "GetTargetResourceTypeRequest": {
        "type": "object",
        "title": "GetTargetResourceTypeRequest",
        "properties": {}
      },
      "TargetResourceType": {
        "type": "object",
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeDescription"
              },
              {
                "description": "A description of the resource type."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeParameterMap"
              },
              {
                "description": "The parameters for the resource type."
              }
            ]
          }
        },
        "description": "Describes a resource type."
      },
      "ListActionsMaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "NextToken": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 1,
        "maxLength": 1024
      },
      "ListActionsRequest": {
        "type": "object",
        "title": "ListActionsRequest",
        "properties": {}
      },
      "ListExperimentTemplatesMaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "ListExperimentTemplatesRequest": {
        "type": "object",
        "title": "ListExperimentTemplatesRequest",
        "properties": {}
      },
      "ListExperimentsMaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "ListExperimentsRequest": {
        "type": "object",
        "title": "ListExperimentsRequest",
        "properties": {}
      },
      "ResourceArn": {
        "type": "string",
        "pattern": "[\\S]+",
        "minLength": 20,
        "maxLength": 2048
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {}
      },
      "ListTargetResourceTypesMaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "ListTargetResourceTypesRequest": {
        "type": "object",
        "title": "ListTargetResourceTypesRequest",
        "properties": {}
      },
      "TargetResourceTypeSummaryList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TargetResourceTypeSummary"
        }
      },
      "StartExperimentRequest": {
        "type": "object",
        "required": [
          "clientToken",
          "experimentTemplateId"
        ],
        "title": "StartExperimentRequest",
        "properties": {
          "clientToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientToken"
              },
              {
                "description": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the request."
              }
            ]
          },
          "experimentTemplateId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateId"
              },
              {
                "description": "The ID of the experiment template."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags to apply to the experiment."
              }
            ]
          }
        }
      },
      "StopExperimentRequest": {
        "type": "object",
        "title": "StopExperimentRequest",
        "properties": {}
      },
      "TagKeyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        }
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": "The tags for the resource."
              }
            ]
          }
        }
      },
      "TargetResourceTypeDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "TargetResourceTypeParameterMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/TargetResourceTypeParameter"
        }
      },
      "TargetResourceTypeParameterDescription": {
        "type": "string",
        "pattern": "[\\s\\S]+",
        "maxLength": 512
      },
      "TargetResourceTypeParameterRequired": {
        "type": "boolean"
      },
      "TargetResourceTypeParameter": {
        "type": "object",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeParameterDescription"
              },
              {
                "description": "A description of the parameter."
              }
            ]
          },
          "required": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeParameterRequired"
              },
              {
                "description": "Indicates whether the parameter is required."
              }
            ]
          }
        },
        "description": "Describes the parameters for a resource type. Use parameters to determine which tasks are identified during target resolution."
      },
      "TargetResourceTypeParameterName": {
        "type": "string",
        "pattern": "[\\S]+",
        "maxLength": 64
      },
      "TargetResourceTypeSummary": {
        "type": "object",
        "properties": {
          "resourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeId"
              },
              {
                "description": "The resource type."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetResourceTypeDescription"
              },
              {
                "description": "A description of the resource type."
              }
            ]
          }
        },
        "description": "Describes a resource type."
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {}
      },
      "UpdateExperimentTemplateActionInputMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/UpdateExperimentTemplateActionInputItem"
        }
      },
      "UpdateExperimentTemplateLogConfigurationInput": {
        "type": "object",
        "properties": {
          "cloudWatchLogsConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateCloudWatchLogsLogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging to Amazon CloudWatch Logs."
              }
            ]
          },
          "s3Configuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateS3LogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging to Amazon S3."
              }
            ]
          },
          "logSchemaVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogSchemaVersion"
              },
              {
                "description": "The schema version."
              }
            ]
          }
        },
        "description": "Specifies the configuration for experiment logging."
      },
      "UpdateExperimentTemplateStopConditionInputList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/UpdateExperimentTemplateStopConditionInput"
        }
      },
      "UpdateExperimentTemplateTargetInputMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/UpdateExperimentTemplateTargetInput"
        }
      },
      "UpdateExperimentTemplateRequest": {
        "type": "object",
        "title": "UpdateExperimentTemplateRequest",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExperimentTemplateDescription"
              },
              {
                "description": "A description for the template."
              }
            ]
          },
          "stopConditions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateExperimentTemplateStopConditionInputList"
              },
              {
                "description": "The stop conditions for the experiment."
              }
            ]
          },
          "targets": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateExperimentTemplateTargetInputMap"
              },
              {
                "description": "The targets for the experiment."
              }
            ]
          },
          "actions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateExperimentTemplateActionInputMap"
              },
              {
                "description": "The actions for the experiment."
              }
            ]
          },
          "roleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RoleArn"
              },
              {
                "description": "The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf."
              }
            ]
          },
          "logConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateExperimentTemplateLogConfigurationInput"
              },
              {
                "description": "The configuration for experiment logging."
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}